Amazon EC2 -Elastic Compute Cloud Servisi Bölüm 1

Amazon EC2 servisi AWS’nin en yoğun kullanılan hizmetlerinden biri olduğu için bu makalemizi teorik ve uygulama olarak ayıracağız.

Amazon EC2 çok kısa bir sürede isteğinize uygun bir sanal sunucu oluşturmanızı sağlayan AWS’in hizmetidir. Bu nedenle AWS’in en yoğun kullanılan serviside diyebiliriz. EC2 bi IaaS yani altyapı sağlama servisidir. Eskiden bir sunucuyu almak, kurmak ve hazır hale getirmek çok uzun süreler alırken AWS’in EC2 servisiyle bu işlemler bir kaç saniye eşinde gerçekleştirilebiliyor ve sanal sunucum istediğim özelliklerde kullanıma hazır hale geliyor.. EC2 gibi IaaS servisleri bize zaman ve maliyet açısından büyük avantajlar sağlamaktadır.

EC2 SATIŞ MODELLERİ

On-Demand; Talep üzerine (on-demand) bulut sunucularını kullanırken hangi bulut sunucularını çalıştırdığınıza göre saatlik veya saniyelik olarak işlem kapasitesi ücreti ödersiniz. Uzun vadeli taahhüt veya peşin ödeme gerekmez. Uygulamanızın gereksinimlerine bağlı olarak işlem kapasitenizi artırıp azaltabilir ve yalnızca kullandığınız bulut sunucusu için belirtilen saatlik ücretleri ödersiniz. Tam olarak kullandığın kadar öde hizmetidir.

On-Demand bulut sunucuları aşağıdakiler için önerilir:

Reserverd Instance (RI); Rezerve Edilmiş Bulut Sunucuları, on-demand bulut sunucusu fiyatlandırmasına kıyasla önemli oranda indirim (%75’e kadar) sağlar. Ödeme şekli olarak kullanım süreniniz maliyetinin belirli bir miktarını ön ödeme yapabilir yada tamamını ödeyebilirsiniz. Amazon aynı zamanda Scheduled Reserved Instances özelliğiyle isterseniz rezerve ettiğiniz EC2 sunucunuzu belirli saatler arasında çalışmasını sağlayacak şekilde satın alabiliyorsunuz. Böylece kullanım süreniz azalacağı için maliyetiniz düşecektir.

Rezerve Bulut Sunucuları aşağıdakiler için önerilir:

Spot Instance;Amazon EC2 Spot Bulut Sunucuları, AWS Cloud’daki kullanılmayan EC2 kapasitesinden faydalanmanıza olanak tanır. Spot Bulut Sunucuları, On-demand fiyatlarına kıyasla %90’a varan indirimlerle sunulur. AWS’nin büyük fizksel makinelerden oluşan bir yapı olduğun düşünürsek belirli dönemlerde kaynaklar yoğun çalışırken, belirli dönemlede ise yoğunluk olmadığı için atıl kapasite oluşur. Burada oluşan atıl kapasitenin Amazon’a bir maliyeti var işte Amazon Spot marketle bu atıl kapasiteyi çok düşük maliyetlerle fiyatlandırıp satmaktadır. Örneğin spot markette saati 0.0005$ olduğunda EC2 sunucusunu başlat dediğinizde EC2 sunucu o fiyata gelince çalışmaya başlar ve fiyat tekrar artana kadar çalışmaya devam eder. Fiyat 0.0005$ geçtiği anda EC2 sunucusu kapanır. Bu servisi kullanırken özellikle dikkkat edilmesi gereken konu verdiğimiz fiyatın üstüne çıktığı anda sunucunun kapanması o yüzden Spot sunucular kritik uygulamalardan çok bizim için kapansada önemli olmayan işlerde maliyet azaltıcı olarak kullanabilirz. Örneğin test işleri ve yada zamanın değil maliyetin önemli olduğu işler için kullanabiliriz. Ayrıca spot alt yapısını yöneten pek çok araç çıktı ve bu uygulamalar sayesinde canlı sistmeler bile Spot üzerinde çalıtırılır oldu.

Dedicated Host;Fiziksel makine üstünde kullanımınıza tahsis edilen EC2 sunucularıdır. Bazı durumlarda EC2 hizmetini bu şekilde konumlandırmanız gerekebilir. Örneğin regülasyonlar gereki uygulamanız belirli özelliklere sahip ( ram, işletim sistemi,cpu) bir sunucuda çalışması gerekiyorsa dedike bir sunucu kullanmanız gerekir, yada uygulama lisansının CPU sayısına göre belirlendiği ve kurulduğu uygulamalar için dedike bir sunucuya ihtiyacınız olduğunda kullanılır. Kısaca yapacağınız işin çeşitli kısıtları varsa ( CPU, işledim sistemi,Disk kapasitesi v.s.) kullanacağınız EC2 modelidir.

EC2 INSTANCE TYPES (ÇEŞİTLERİ)

AWS bize hemen hemen her ihtiyaç tipine göre özelleştirilmiş, toplamda 5 kategoride 14 değişik sunucu tipinde sanal sunucu kullanma ikmanı sunmaktadır. Tabloda görüldüğü gibi A1,M4,C4 gibi sunucu türleri bulunuyor burada M4 4. jenerasyon Main sunucular anlamına geliyor biraz açacak olursak Amazon örneğin 2006 yılında o dönemin donanım parkuruna göre bir fiziksel sunucu alt yapısı oluşturuyor ve buna M4 diyor, bir süre sonra donanım üreticileri örneğin İntel yeni bir CPU ürettiğinde bu donanımları kullanarak oluşturduğu yeni fiziksel sunucu parkurunda Main sunucular oluşturduğunda buna M5 adını veriyor. Bir süre sonrada M4’ü end of life yaparak o parkurdaki eski cpu ve donımlara sahip tüm fiziksel sunucuları regionlarından çıkartıyor. Şuan M5 ve M6g main sunucular devrede ve bir süre sonra M4 kullanımdan çıkartılacak. Tabi bu end of life olma süresi kullanıcıların M4 sunucularından M5’e tamamen taşındıktan sonra gerçekleşiyor o yüzden bu süreç bir kaç yıl sürebiliyor. Bu sırada yeni çıkan M5’in kullanım maliyetide M4 göre daha düşük tutularak bu geçiş destekleniyor.

M4 General Purpose Largem4.large8.0 GiB2 vCPUsEBS onlyModerate$0.100000 hourly
M5 General Purpose Largem5.large8.0 GiB2 vCPUsEBS onlyUp to 10 Gigabit$0.096000 hourly

GENERAL PURPOSE

Genel kullanım için ayrılmış 3 çeşit sunucu tipi bulunmaktadır .

A1 tipi sunucular; Amazon EC2 A1 bulut sunucuları önemli maliyet tasarrufları sağlar ve kapsamlı Arm ekosistemi tarafından desteklenen, ölçeği genişletilebilen ve Arm tabanlı iş yüklerine çok uygundur. A1 bulut sunucuları, AWS’nin tasarladığı 64 bit Arm Neoverse çekirdeklerine ve özel silikona sahip AWS Graviton İşlemcileri tarafından desteklenen ilk EC2 bulut sunucularıdır.

Web sunucuları, container’lı mikro servisleri, önbellek filoları, dağıtılmış veri depoları ve geliştirme ortamları gibi ölçeklendirilmiş iş yükleri

Özellikler:

T2 tipi sunucular;T2 bulut sunucuları , CPU performansı için belirli bir temel düzeyi ve bu temelin üstüne hızla çıkabilme imkanı sunan Ani Performans Artışı Yapılabilir Bulut Sunucularıdır.

T2 bulut sunucuları mikro hizmetler, düşük gecikmeli etkileşimli uygulamalar (web sayfaları v.s.) , küçük ve orta ölçekli veritabanları, sanal masaüstü uygulamaları, geliştirme, derleme ve hazırlık ortamları, kod depoları ve ürün prototipleri gibi çeşitli genel amaçlı iş yükleri için iyi bir seçimdir.

Özellikler:

M4 tipi sunucular; M4 bulut sunucuları işlem, bellek ve ağ kaynaklarının dengeli bir birleşimini sunar ve birçok uygulama için iyi bir seçimdir.

Küçük ve orta ölçekli veritabanları, ek bellek gerektiren veri işleme görevleri ve önbelleğe alma filolarının yanı sıra SAP, Microsoft SharePoint, küme bilişim ve diğer kurumsal uygulamaların arka uç sunucularını çalıştırmak için iyi bir seçimdir.

Özellikler:

COMPUTE OPTIMISED

İşlem için Optimize Edilmiş bulut sunucuları, yüksek performanslı işlemcilerden yararlanan işleme bağlı uygulamalar için idealdir.

Yüksek performanslı ön uç filoları, web sunucuları, batch processing, dağıtılmış analiz, yüksek performanslı bilim ve mühendislik uygulamaları, reklam sunumu, MMO (çok yüksek sayıda kullanıcılı çevrimiçi) oyunlar ve video kodlama sunucularını çalıştırmak için iyi bir seçimdir. C4 tipi sunucular bu kategoride yer alır.

C4 tipi sunucular; C4 bulut sunucuları işlem gereksinimi yüksek iş yükleri için optimize edilmiştir ve düşük fiyat/işlem oranıyla, çok uygun maliyetle yüksek performans sağlar.

Özellikler:

MEMORY OPTIMISED

Bellek için Optimize Edilmiş bulut sunucuları, bellekte büyük veri kümeleri işleyen iş yükleri için hızlı performans sunmak üzere tasarlanmıştır. Bu amaçla kullanılmak üzere 3 çeşit sunucu tipi bulunmaktadır.

R4 tipi sunucular; R4 bulut sunucuları yüksek bellek ihtiyacı olan uygulamalar için optimize edilmiştir ve R3’e oranla GiB RAM başına daha uygun fiyat sunar.

Yüksek performanslı veritabanları, veri madenciliği ve analizi, bellek içi veritabanları, dağıtılmış web ölçekli bellek içi önbellekler, gerçek zamanlı yapılandırılmamış büyük veri işleyen uygulamalar, Hadoop/Spark kümeleri ve diğer kurumsal uygulamalar için uyundur.

Özellikler:

X1 tipi sunucular;X1 bulut sunucuları büyük ölçekli, kurumsal sınıf ve bellek içi uygulamalar için optimize edilmiştir ve Amazon EC2 bulut sunucusu türleri arasında GiB RAM başına en düşük fiyatlardan birini sunar.

Bellek içi veritabanları (ör. SAP HANA), büyük veri işleme altyapıları (ör. Apache Spark veya Presto), yüksek performanslı bilişim (HPC). Business Warehouse on HANA (BW), Data Mart Solutions on HANA, Business Suite on HANA (SoH), Business Suite S/4HANA çalıştırmak için SAP tarafından onaylanmış sunuculardır.

Özellikler:

Z1d tipi sunucular; Amazon EC2 z1d bulut sunucularıhem yüksek işlem kapasitesi hem de yüksek bellek ayak izi sunar. Yüksek hızlı z1d bulut sunucuları 4.0 GHz seviyesine kadar tüm çekirdeklerle tutarlı bir performansa sahiptir ve bu değer bulut sunucuları arasındaki en yüksek değerdir.

Elektronik tasarım otomasyonu (EDA) ve çekirdek başına lisanslama maliyetleri yüksek olan belirli ilişkisel veritabanı iş yükleri için uygundur.

Özellikler:

STORAGE OPTIMISED

Depolama için optimize edilmiş bulut sunucuları; yerel depolama üzerindeki çok büyük veri kümelerine yüksek, sıralı okuma ve yazma erişimi gerektiren iş yükleri için tasarlanmıştır. Bu bulut sunucuları uygulamalara saniye başına on binlerce düşük gecikmeli, rastgele G/Ç işlemleri (IOPS) göndermek için optimize edilmiştir. Storage optimised altında 3 çeşit sunucu tipi bulunmaktadır.

H1 tipi sunucular; H1 bulut sunucuları 16 TB’a kadar HDD tabanlı yerel depolama sunarak yüksek disk aktarım hızının yanı sıra işlem ve bellek performansının dengeli bir birleşimini sağlar.

MapReduce tabanlı iş yükleri, HDFS ve MapR-FS gibi dağıtılmış dosya sistemleri, ağ dosya sistemleri, Apache Kafka gibi günlük veya veri işleme uygulamaları ve büyük veri iş yükü kümeleri için uygundur.

Özellikler:

I3 tipi sunucular; I3 bulut sunucusu ailesi düşük gecikme, çok yüksek rastgele G/Ç performansı, yüksek sıralı okuma aktarım hızı ve düşük maliyetle yüksek IOPS performansı için optimize edilmiş

Non-Volatile Memory Express (NVMe) SSD tabanlı bulut sunucusu geçici diski sunar.

NoSQL veritabanları (ör. Cassandra, MongoDB, Redis), bellek içi veritabanları (ör. Aerospike), ölçek genişletme işlem veritabanları, veri ambarı, Elasticsearch, analiz iş yükleri için uygundur.

Özellikler:

D2 tipi sunucular; D2 bulut sunucuları 48TB’a kadar HDD tabanlı yerel depolamaya sahiptir, yüksek disk aktarım hızı sağlar ve Amazon EC2’de disk aktarım hızı performansı başına en düşük fiyatı sunar.

Yüksek Hacimli Paralel İşleme (MPP) veri ambarı, MapReduce ve Hadoop dağıtılmış bilişim, dağıtılmış dosya sistemleri, ağ dosya sistemleri, günlük veya veri işleme uygulamaları.

Özellikler:

ACCELERATED COMPUTING

Accelerated Computing bulut sunucuları; kayan nokta sayı hesaplamaları, grafik işleme veya veri deseni eşleme gibi işlevleri CPU’lar üzerinden çalışan yazılımların erişemeyeceği bir verimlilik düzeyinde gerçekleştirmek için donanım hızlandırıcıları veya ortak işlemcileri kullanır. Accelerated Computing altında 3 çeşit sunucu tipi bulunmaktadır.

P2 tipi sunucular; P2 bulut sunucuları genel amaçlı GPU işlem uygulamaları için tasarlanmıştır. Makine öğrenimi, yüksek performanslı veritabanları, hesaplamalı akışkanlar dinamiği, hesaplamalı finans, sismik analiz, moleküler modelleme, genomik, işleme ve diğer sunucu tarafı GPU işlem iş yükleri için uygundur.

Özellikler:

G3 tipi sunucular; G3 bulut sunucuları grafik açısından yoğun uygulamalar için optimize edilmiştir. 3Buyutlu görselleştirme, grafik açısından yoğun uzak iş istasyonları, 3Boyutlu görsel işleme, uygulama yayını, video kodlama ve diğer sunucu tarafı grafik iş yükleri.

Özellikler:

F1 tipi sunucular; Genomik araştırma, finansal analiz, gerçek zamanlı video işleme, büyük veri arama ve analizi ile güvenlik.

Bu sunucu tiplerinin yanında örneğin M5a veya T3a gibi sunucu modelleri göreceksiniz. Sonunda “a” ibaresi gördüğünüz sunucular İntel işlemci yerine AMD işlemci kullanılarak oluşturulan sunucu parkurunda oluşturulan bir instance ifade eder.

AMAZON EC2 STORE

Amazon EC2 sunucularında cpu ve bellek tipine göre nasıl seçtiğimizi buraya kadar anlatmış olduk. Sırada EC2 sunucumuza işletim sistemi yükleyeceğimiz, verileri depolayacağımız disk alanından bahsedelim. EC2 sunucularında iki tür disk kullanılmaktadır bunlar Amazon EC2 Instance Store ve Amazon Elastic Block Store (Amazon EBS).

Amazon EBS bize 4 farklı volume tipi sunuyor.

AMI-Amazon Machine Image

AMI içerisinde daha önceden tanımlanmış işletim sistemi ve uygulama dosyalarının yer aldığı bir sanal makine imajıdır. Siz bir EC2 sunucusu oluştururken hangi imajla oluşturulacağını seçerek o imajın içinde sunulan özelliklere göre bir işletim sistemi ve uygulama listesi elde edersiniz. 3 çeşit AMI vardır; herkesin erişimine açık olan Public AMI, kendi uyglamalarımız kurarak kendimiz için oluşturduğumuz Private AMI ve geliştiriciler tarafından hazırlanmış ve ücretli oalrak satılan Paid AMI.

AMAZON ELASTIC LOAD BALANCING ( ELB)

Load Balancer temelde iki bilişenden oluşuyor. Birincisi Listener, yapılan ayarlara göre belirli bir port üzerinden gelen trafiği dinliyor. İkicisisi ise Config, gelen bu trafiği hangi kurallara göre nereye yönlendireceğine karar vererek ilgili sunucuya yönlendiriyor. AWS’de bu işi Elastic Load Balacer gerçekleştiriyor.

Elastic Load Balancing (Elastik Yük Dengeleme), gelen uygulama trafiğini Amazon EC2 bulut sunucuları, konteynerlar, IP adresleri ve Lambda işlevleri gibi birden çok hedefe otomatik olarak dağıtır. Uygulama trafiğinizin değişen yükünü tek bir Availability Zone’da veya birden fazla Availability Zone’da işleyebilir. Elastic Load Balancing (Elastik Yük Dengeleme), uygulamalarınızın hataya dayanıklı olmasını sağlamak için gerekli olan yüksek kullanılabilirlik, otomatik ölçeklendirme ve sağlam güvenlik özelliklerine sahip üç tip yük dengeleyici sunar.

Bir örnekle anlatmak gerekirse, www.hepsinerede.com adında bir siteniz olsun ve AWS’de tek bir EC2 instance üzerinde çalıştığını düşünelim. EC2 sunucumuzda sorun oldu ve bu sanal makine bir şekilde kullanılamaz hala geldi. Sitemize tekrar erişilebilir duruma getirmek için EC2 sunucumuzu tekrar kurmak yada daha önce aldığımız bir snapshot varsa ondan geri dönüp sunucyu ayağa kaldırmamız gerekiyor. Bu işlem tahminen en az bir kaç saatimizi alır ve bir kaç saat boyunca sunucumuza erişim sağlanmaz. Elastic Load Balancer (ELB) ön tarafa konumlandırılarak arkada www.hepsinerede.com host eden aynı kuruluma sahip 3 tane EC2 sunucusu kurduğumzuda ELB gelen talepleri bu 3 sunucu arasında dağıtır ve sunuclardan birine bir şey olması durumunda diğer iki sunucuyla hizmet vermeye devam ederiz. Bu geçici olarak sorunumuzu çözüyor ancak 3 sunucuda yoğun talep veya başka nedenlerden dolayı yanıt veremez olduğunda sitemiz gene erişilemez olacak işte burada EC2 hizmetlerinden bir diğeri olan Auto-Scaling devreye giriyor.

EC2 AUTOSCALING

Amazon EC2 Auto Scaling uygulama erişilebilirliğini korumanıza yardımcı olur ve EC2 bulut sunucularını tanımladığınız koşullara göre otomatik olarak eklemenize veya kaldırmanıza olanak tanır. Autoscaling avantajlarını sıralamak gerekirse.

Yukarıdaki örneğimizden devam edecek olursak, sunuclarımızı ELB arkasında konumlandırdık ancak sitemize gelen yoğun talep nedeniyle 3 sunucu talepleri karışayamaz duruma geldiğinde devreye Autoscaling giriyor. Sunucularımızın örneğin CPU kullanımı %50 geçerse sisteme 2 tane yeni EC2 sunucusu ekle diyebiliriz ve CPU yükümüz tekrar %50 altına düştüğünde eklediğin bu iki sunucuyu çıkart ve 3 sunucuyla devam et diyebiliriz. Işte EC2 Autoscaling bu tip konfigürasyonlar yapmamıza izin veren bir hizmettir. EC2 Autoscaling’de görselde gördüğünüz gibi sunuclarımızı bir Autoscaling Group altında konumlandırıyoruz ve max ve min sunucu değerini belirledikten sonra sürekli kaç sunucu çalışacağını tanımlarayarak işlemimizi tamamlıyoruz. Autoscaling Group genişletmek ve küçülmek çok kolay bir şekilde gerçekleştiriliyor. Uygulama örneklerimizde bunu göstereceğiz.

Exit mobile version