Sanal makinanız EC2
AWS sanal makinalarını EC2 adı verilen hizmet ile sunuyor. Anlık olarak sanal makina başlatıp, sadece kullandığınız miktar kadar ücret ödüyorsunuz. Ücretsiz kullanım kotası kapsamında, bir yıl boyunca “t2.micro” türündeki bir makinayı kullanma hakkına sahipsiniz.
AWS, farklı türlerde sanal makinalar ile, değişen ihtiyaçlara uygun çok çeşitli donanımlar sunuyor. Sadece “t2.micro” türündeki makinalar ücretsiz kullanım kotasına dahil olduğu için, biz şimdilik bunu kullanacağız. Mesela GPU ihtiyacı olan bir uygulama yapacak olsaydık, “p3.8xlarge” türündeki bir sanal makinayı kullanmayı düşünebilirdik.
Sanal makinamızı başlatalım
Öncelikle AWS konsolundan, EC2 hizmetinin olduğu sayfayı açalım ve “Launch Instance” butonuna tıklayalım.
İlk adımda bir “AMI” seçmemiz istenecek. AMI, açılımı “Amazon Machine Image” olup, sanal makinanızda koşacak olan yazılımı (işletim sistemini de diyebiliriz) belirler. Yanındaki “Select” butonuna basarak “Amazon Linux 2 AMI (HVM), SSD Volume Type” türünü seçin. Bir sonraki ekranda, “t2.micro” seçtiğinizden emin olup, “Next: Configure Instance Details” butonuna basın.
Bir sonraki ekranda, hiçbir seçimi değiştirmeden sol alttaki “Next: Add Storage” butonuna basın. Burada da değişiklik yapmanıza gerek yok, sanal makinanızın 8GB SSD diski olacak (aslında 30GB’a kadar ücretsiz kotanızın hakkı var).
“Next: Add Tags” butonuna basıp, sanal makinanıza bir etiket verin. Şimdilik sadece bir sanal makinanız olacağından, etiket vermeseniz de olur ama genel olarak etiketlerle AWS kaynaklarınızı takip etmek çok kolaylaşıyor o yüzden her zaman etiketleri kullanmaya çalışın. Yüzlerce sanal makinanız olduğunda, hangi makina ne için kullanılıyordu karıştırmamak imkansız.
“Next: Configure Security Group” butonuna tıklayarak, sanal makinanızın hangi portlarına kimler erişebilir detaylıca ayarlayabildiğiniz güvenlik grubu seçimi ekranına geçin. Şimdilik güvenlik gruplarının detayına girmeyeceğiz, fakat makinaya SSH yapabilmemiz için, 22 nolu port otomatik olarak dışarıya açılacak şekilde ayarlı geliyor.
“Review and Launch” butonuna tıklayıp seçimlerinizi gözden geçirdikten sonra “Launch” butonuna tıklayın. Karşınıza gelen ekranda, sanal makinaya ssh yapabilmek için bir güvenlik anahtarı oluşturmanız veya mevcut anahtarınızı kullanmanız istenecek. “Create a new key pair” seçip, yeni oluşturacağınız anahtarınıza bir isim verin ve “Download Key Pair” butonuna tıklayarak pem dosyasını bilgisayarınıza indirin ve güvenli bir şekilde saklayın, bu dosya olmadan makinanıza bağlanmanız imkansız! Anahtar dosyasını indirdiyseniz, artık “Launch Instances” butonuna tıklayarak sanal makinanızı ayağa kaldırabilirsiniz.
Sanal makinanın hazır hale gelme süresi birkaç saniye ila bir iki dakika arasında değişebilir. Yeşil kutucuğun içindeki linke tıklayarak sanal makinanızın durumuna bakabilirsiniz, veya ec2 konsolunun ana sayfasına gelip “Instances” kısmından tüm ec2 makinalarınızı görebilirsiniz. “Instance State” olarak yeşil işaretli “running” yazısını gördüyseniz, sanal makinanız bağlantı kurulmaya hazır demektir.
Sanal makinanıza harici bir IP (public IP) ve bir DNS atanacaktır, ister IP ile ister DNS ile makinaya bağlantı kurabilirsiniz. Makinaya bağlanmak için istediğiniz SSH client’ını veya AWS konsoldaki tarayıcı SSH client’ını kullanabilirsiniz. En kolayı olan tarayıcıdan bağlanmak için, üstteki “Connect” butonuna tıklayın ve açılan pencerede “EC2 Instance Connect” seçin.
Sanal makinanıza bağlandınız, kullanıcı adınız seçtiğimiz AMI’dan gelen “ec2-user” şeklinde. İlk iş olarak, sudo yum update
komutu ile paketleri güncelleyelim. Makinamızı bir web sunucusu olarak kullanmak için, “httpd” paketini kuralım: sudo yum install -y httpd
. Sonrasında, sudo service httpd start
ile web sunucusunu başlatalım. Web sayfamıza ait dosyaların barındığı “/var/www/html” klasörüne girelim: cd /var/www/html
. İsterseniz kendi tasarladığınız index.html sayfasını bu klasöre atabilirsiniz. Uğraşmak istemiyorsanız, benim hazırlamış olduğum dosyayı kullanmak için, şu komutu çalıştırın: sudo wget https://gist.githubusercontent.com/selcukcihan/9e6b2589f5dceb88cb2f5fb0558e4fde/raw/c0619c3add90f2ad644d1ecab99d6373966ce04f/index.html
.
Ve hemen web sitenizi ziyaret etmeyi deneyin. Bağlantı zaman aşımına uğrayacak. Güvenlik gruplarını hatırladınız mı? Nasıl ki ssh bağlantısı için, 22 nolu portu dışarı açmıştık. Şimdi de web sunucumuz için, 80 nolu portu dışarı açacağız ki gelen http bağlantıları sanal makinamıza ulaşabilsin.
Bunun için, AWS konsolunda, ec2 makinamızın listelendiği ekranda “Security Group” kısmında bulunan “launch-wizard-1” bağlantısına tıklayın.
Açılan ekranda, “Inbound” tabını seçerek “Edit” butonuna basın.
“Add Rule” butonuna tıklayarak, “Type” sütununda yer alan menüden “HTTP” seçin ve “Save” butonuna tıklayarak değişiklikleri kaydedin. Hiç vakit kaybetmeden, tarayıcıdan web sitenizi yenileyin ve artık çalıştığını görün.
Web sunucunuz hayırlı olsun. Sanal makinanızı durdurmak için, menüden “Stop”a tıklayın.
AWS hizmetlerini kullanmayı düşünüyor ve yetkinliğinizi geliştirmek istiyorsanız, diğer makalelerimizi de okuyun. Bunun yanında, kurumsal ve startup firmalara sağladığımız eğitim hizmetine bir göz atmayı da unutmayın!