DevOps

AWS-Create Free Tier Instance / Deploy Basic Public Web Site

Merhaba

Bu makalede AWS üzerinde basit bir şekilde ücretsiz olarak nasıl bir linux web sunucu kurulur ve bu sunucu üzerine public bir şekilde internet üzerinden erişilebilen bir statik html web sayfası nasıl yayınlanır bunu göstereceğim.

Öncelikle Amazon Web Service üzerinden bir free-tier account oluşturmanız gerekiyor. Bu adımları atlıyorum. Bu linkten oluşturabilirsiniz. https://aws.amazon.com/tr/free/

Hesabınızı oluşturduktan sonra AWS EC2 nedir ? Ne işe yarar terminoloji nedir gibi bazı detaylar için aşağıya eklediğim linkten biraz detayları okumanızda fayda var. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html

AWS Hesabınızı oluşturduktan ve management konsola login olduktan sonra arama satırına EC2 yazıyoruz.

Instance > Launch Instance diyoruz.

Yönetilebilirlik için oluşturacağımız instance’a name ve tag ekliyoruz.

Bu adımda (AMI-Amazon Machine Images) yani Server’ın hangi OS imajı olacağını seçiyoruz.
Ubuntu seçiyoruz Free tier olmasına dikkat edin.

Instance Type seçeneğinde t2.micro seçeneğini seçiyoruz bu cpu ve ram özelliklerini belirtiyor. Yine burada da Free Tier olmasına dikkat edin.

Key pair bu kısımda oluşturacağımız instance’a ssh ile login olabilmek için bir authentication method belirleyeceğiz. Mevcutta bir key pair yok o yüzden Create new key pair diyoruz.

Oluşturacağız key için mantıklı bir name veriyoruz benim bu projem bir uçuş randevusu oluşturan web sitesi olduğu için bu şekilde yazdım ve ssh için pem seçeneğini seçip create tıklıyoruz.

Export edilen .pem dosyasını bilgisayarınıza kaydedebilirsiniz.

Network Settings kısmında ise kendimiz sıfırdan bir security groups oluşturacağız bu aslında bildiğimiz firewall kuralı. Sol kısımdan tıklıyoruz.

Açılan menüden Create Security Group tıklıyoruz.

Ssh ile erişebilmek için Inbound Rules 22 portunu açıyoruz  Outbound rules da herhangi bir değişiklik yapmıyoruz. Ve sağ alt kısımdan create security group diyoruz.

Tekrar Network Setting ekranına geliyoruz ve Select existing security group seçiyoruz.

Configure Storage kısmında herhangi bir değişiklik yapmıyoruz.

Advanced details kısmını aşağı doğru genişletiyoruz.

Bu kısımda seçmiş olduğunuz image başlatılırken hangi özellikler kurulsun veya başlatırkan çalıştırmak istediğiniz script vs varsa buraya yazıyoruz. (İsteğe bağlı) Bu şekilde Image başladıktan sonra otomatik olarak belirttiğim adımları yaparak statik web sitemi hazır hale getirecek. Ben bu örnekte kurulum başladıktan sonra kendim el ile kuracağım.

Tüm adımları tamamladıktan sonra Launch instance tıklıyoruz.

Instance oluşturulması biraz zaman alabilir. Instance ekranından takip edebilirsiniz.

Web sunucumuz başarılı bir şekilde başlatıldı. Üzerine tıkladığımızda Public ve Private IP adresleri mevcut.  Connect butonuna tıklıyoruz ve GitBash ile ssh üzerinden bağlanacağız.

Nasıl bağlanacağımıza dair bir bildirim ekranı geliyor.

Key pair’in olduğu dizine gelip aşağıdaki syntax ile login oluyoruz.

Paketlerin kurulumu ve web sitesinin aktif edilmesine başlayabiliriz

sudo apt update
sudo apt install apache2 wget unzip -y
wget https://www.tooplate.com/zip-templates/2093_flight.zip
unzip 2128_tween_agency.zip
sudo cp -r 2128_tween_agency/* /var/www/html/
sudo systemctl restart apache2

Kurulumlar tamamlandıktan sonra GitBash ile curl komutuyla localden 80 portu üzerinden websayfasını çağırdığımızda başarılı bir şekilde geldi.

Public IP adresi üzerinden çağırdığımızda aşağıdaki gibi hata Verdi çünkü network security group’da inbound traffic’de 80 portuna izin vermedik.

Security Group’da gerekli düzenlemeyi gerçekleştirdik. Örnek olduğu için sadece kendi IP adresimizden gelen erişimlere açıyoruz.

Web sayfamıza tekrar gelip refresh yaptıktan sonra 80 portu üzerinden başarılı bir şekilde erişebiliyoruz

Tüm işlemler bittikten sonra tekrar Instance Sayfasına geri gelip Terminate Instance diyoruz.

Security Group ve Key Pair’ler herhangi bir ücret charge etmeyeceği için kaldırmanıza gerek yok.

EC2 Dashboard’a geldikten sonra Instances (Running) tabında aktif olarak çalışan herhangi birşey olmamasına dikkat ediniz.

Bir sonraki makalede görüşmek üzere.