Günümüzde yaygın olarak kullanılan bulut hizmetlerinden biri olan Amazon Web Services (AWS)'i mutlaka duymuşsunuzdur. AWS içerisinde yer alan ve en yaygın kullanılan servislerinden biri Elactic Compute Cloud (EC2)'dur. EC2 ile Amazon'a ait veri merkezlerinde bulunan, donanım özelliklerine göre seçip kendi istediğimiz işletim sistemini içeren sunucular oluşturabiliriz. "Kullandığın kadar öde" prensibiyle sadece makinenin çalıştığı süre kadar saatlik ücretlendirme yapılmaktadır. Ayrıca yeni oluşturacağınız bir kullanıcı ile çoğu hizmeti 1 yıl boyunca ücretsiz kullanabileceğiniz avantajlar da bulunmaktadır. Bu makale serisi dahilinde kullanacağımız servislerde de ücretsiz sunulan seçenekler ile ilerlenmiştir. EC2 ile ilgili daha detaylı bilgiyi buradan da okuyabilirsiniz.
EC2 Üzerinden Sunucunun Oluşturulması
Öncelikle AWS'ye giriş yapmak için bir kullanıcı oluşturmanız gerekmekte. Kullanıcıyı oluşturup, AWS üzerinden giriş yapıp EC2 paneline gelip "Launch Instance" ile ilerleyelim.
Açılan sayfada EC2 üzerinde çalıştırabileceğiniz işletim sistemleri ve farklı dağıtımlar listelenmektedir. Buradan ihtiyacınız doğrultusunda gerekli seçimi yapabilirsiniz. Ben makalede Ubuntu ile göstereceğim için siz de arama yerine "Ubuntu" yazıp çıkan sonuçlardan güncel olan dağıtımı seçebilirsiniz. Gördüğünüz gibi Ubuntu makineyi 1 yıllık süremiz boyunca limitler dahilinde ücretsiz olarak oluşturabiliyoruz.
Makalenin yazıldığı tarih itibariyle en güncel sürümü olan Ubuntu Server 20.04 LTS olduğu için onu ve 64-bit(x86) mimarisini seçip ilerleyelim. Yeni bir versiyon görmeniz durumunda onu da seçebilirsiniz.
Oluşturmak istediğimiz makineye ait donanım özelliklerini bu ekrandan seçebiliyoruz. Eğer ücretsiz verilen haklarınız dahilinde bir kullanımda bulunmak istiyorsanız "Free tier eligible" ile belirtilen opsiyonu seçmeniz gerekiyor. Diğer sunulan opsiyonlardan bir seçimde bulunursanız AWS tarafından belirlenen saatlik ücret dahilinde bir fatura ay sonunda hesabınıza yansıtılır.
Bu ekranda "Review and Launch" butonu ile doğrudan son aşamaya ilerleyebilirsiniz. Fakat biz bir web sitesi yayınlamak istediğimiz için sunucuya gelecek olan isteklere ait portları güvenlik adımından açmamız gerekmekte. Bunun için isterseniz "Next" butonlarıyla veya yukarıdaki menüden direkt olarak "Configure Security Group" başlığına tıklayarak güvenlik sayfasına gelelim.
Bu adımda varsayılan olarak SSH portunun makineye erişebilmemiz için açık olduğunu göreceksiniz.
"Add Rule" butonuna tıklayarak gerekli port tanımlamalarını aşağıdaki gibi ekleyin.
Burada gelen HTTP isteklerini karşılaması için 80 portunu, Jenkins'e erişim sağlayabilmemiz için de 8080 portunu dışarıdan gelen tüm isteklere açıyoruz.
Ubuntu üzerinde yapacağım diğer örneklerde de bu makaleyi referans vereceğim için port ihtiyaçları farklılık gösterebilir. Eğer farklı bir port tanımı yapmanız gerekiyorsa onu da bu aşamada eklemeniz gerekmektedir.
Önemli Not: Yukarıdaki tanımlamalarla makinemizi tüm internet erişimine ve doğal olarak olası saldırılara açık hale getirir. Sistem güvenliğini sağlamak için sabit ip, vpn veya güvenlik duvarı gibi farklı çözümler mevcuttur fakat bu makale fazla uzamaması için burada değinmeyeceğim
Port tanımlamalarını yaptıktan sonra "Review and Launch" ile son kontrol ekranına geçebiliriz.