Takip et

Flask Web Uygulamanızı Docker ve Terraform ile AWS EC2 Örneğine Dağıtma

Flask Web Uygulamanızı Docker ve Terraform ile AWS EC2 Örneğine Dağıtma

Merhaba! Bu makalede, Flask web uygulamanızı Docker ve Terraform kullanarak bir AWS EC2 örneğine nasıl dağıtacağınızı adım adım inceleyeceğiz. Bu yöntem, uygulamalarınızı güvenilir ve ölçeklenebilir bir şekilde dağıtmanın harika bir yolunu sunar.

1. Ön Koşullar

Bu kılavuza başlamadan önce aşağıdaki ön koşulların karşılandığından emin olun:

  • Bir AWS hesabı.
  • Kurulu Terraform.
  • Kurulu Docker.
  • Dağıtmak istediğiniz bir Flask web uygulaması.

2. Uygulamanızı Dockerize Etme

İlk adım, uygulamanızı Docker kullanarak kapsayıcılaştırmaktır. Bu, uygulamanızın tüm bağımlılıklarıyla birlikte paketlenmesini sağlar, böylece farklı ortamlarda tutarlı bir şekilde çalışmasını garanti eder.

Bir Dockerfile oluşturun ve aşağıdaki içeriği ekleyin:

“`dockerfile
FROM python:3.9

WORKDIR /app

COPY requirements.txt .

RUN pip install -r requirements.txt

COPY . .

CMD [“python”, “app.py”]
“`

Bu Dockerfile, bir Python 3.9 taban görüntüsü kullanır, çalıştırılabilir dosyalarınızı ve bağımlılıklarınızı kopyalar ve uygulamanızı çalıştırmak için gerekli komutu tanımlar. requirements.txt dosyasında, uygulamanızın bağımlılıkları listelenmelidir.

Dockerfile‘ı oluşturduktan sonra, Docker görüntüsü oluşturmak ve yayınlamak için aşağıdaki komutları kullanın:

“`bash
docker build -t my-flask-app .
docker push my-flask-app
“`

3. Terraform ile Altyapı Oluşturma

Terraform kullanarak AWS altyapınızı otomatikleştireceğiz. Bir main.tf dosyası oluşturun ve aşağıdaki kodu ekleyin:

“`terraform
resource “aws_instance” “web_server” {
ami = “ami-0813e7e2e24d9e2c4” # örnek Ubuntu AMI seçimi
instance_type = “t2.micro”
key_name = “my-key-pair” # SSH anahtarı adı
tags = {
Name = “my-flask-app”
}

user_data = <Bu kod, bir EC2 örneği oluşturur, Docker’ı yükler, SSH ve HTTP trafiğine izin veren bir güvenlik grubu oluşturur ve EC2 örneğini güvenlik grubuna bağlar. ami, key_name ve vpc_id değerlerini kendi yapılandırmanıza göre değiştirin.

Terraform kodunu oluşturduktan sonra, aşağıdaki komutları kullanarak kaynakları dağıtın:

“`bash
terraform init
terraform apply
“`

4. Uygulamayı Dağıtma

Terraform kaynaklarını dağıttıktan sonra, EC2 örneğine bağlanın ve uygulamanızı dağıtın. SSH kullanarak EC2 örneğine bağlanın.

EC2 örneğinde, Docker kapsayıcınızı çalıştırın:

“`bash
docker run -d -p 80:80 my-flask-app
“`

Bu komut, my-flask-app Docker görüntüsünü arka planda çalıştırır ve 80 numaralı bağlantı noktasını dışarıya yönlendirir. Şimdi uygulamanız, EC2 örneğinin genel IP adresinde 80 numaralı bağlantı noktasında erişilebilir.

5. Uygulamaya Erişme

Terraform çıktıları kullanarak EC2 örneğinin genel IP adresini alın. Tarayıcınızda genel IP adresini ziyaret ederek uygulamanıza erişebilirsiniz.

Sonuç

Tebrikler! Uygulamanızı Docker ve Terraform kullanarak bir AWS EC2 örneğine başarılı bir şekilde dağıttınız. Bu yöntem, uygulamalarınızı güvenilir ve ölçeklenebilir bir şekilde dağıtmanın harika bir yolunu sunar. Daha fazla bilgi için AWS ve Docker belgelerine göz atabilirsiniz.

Bu makalenin size yardımcı olacağını umuyorum. Daha fazla bilgi için web sitemi fatihsoysal.com adresini ziyaret edebilirsiniz.

#Etiketler
Flask, Docker, Terraform, AWS, EC2, Dağıtım, Uygulama, Web Uygulaması, Bulut, Otomasyon, Kapsayıcı, Güvenilirlik, Ölçeklenebilirlik

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.