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:
- Peşin ödeme veya uzun vadeli taahhüt olmaksızın Amazon EC2’nun düşük maliyetini ve esnekliğini tercih eden kullanıcılar
- Kesintiye uğratılamayan kısa vadeli, ani artışlara yol açan veya tahmin edilemeyen iş yüklerine sahip uygulamalar
- Amazon EC2 üzerinde ilk kez geliştirilen veya test edilen uygulamalar
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:
- Kullanım durumu kararlı olan uygulamalar
- Rezerve edilmiş kapasite gerektirebilecek uygulamalar
- Toplam işlem maliyetini düşürmek için 1 veya 3 yıl boyunca EC2 kullanma taahhüdü verebilecek müşteriler
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 Large | m4.large | 8.0 GiB | 2 vCPUs | EBS only | Moderate | $0.100000 hourly |
M5 General Purpose Large | m5.large | 8.0 GiB | 2 vCPUs | EBS only | Up 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:
- 64 bit Arm Neoverse çekirdekli özel yapım AWS Graviton İşlemci
- 10 Gb/sn.’ye varan Ağ bant genişliği ile Gelişmiş Ağ İletişimi Desteği
- Varsayılan olarak EBS ( Elastic Block Store) için optimize edilmiş
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:
- Yüksek frekanslı Intel Xeon işlemciler
- Ani performans artışı yapılabilir CPU, CPU Kredileri ile yönetim ve tutarlı temel performans
- En düşük maliyetli genel amaçlı bulut sunucusu türüdür ve Ücretsiz Kullanım kapsamında kullanılabilir*
- İşlem, bellek ve ağ kaynaklarının dengeli birleşimi
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:
- 2,3 GHz Intel Xeon® E5-2686 v4 (Broadwell) işlemciler veya 2,4 GHz Intel Xeon® E5-2676 v3 (Haswell) işlemciler
- Ek maliyet oluşturmadan varsayılan olarak EBS için optimize edilmiş
- Geliştirilmiş Ağ İletişimi desteği
- İşlem, bellek ve ağ kaynaklarının dengeli birleşimi
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:
- EC2 için özel olarak optimize edilmiş yüksek frekanslı Intel Xeon E5-2666 v3 (Haswell) işlemciler
- Ek maliyet oluşturmayan artırılmış depolama performansı sağlamak amacıyla varsayılan olarak EBS için optimize edilmiş
- Geliştirilmiş Ağ İletişimi’ni destekleyen Intel 82599 VF ile daha yüksek ağ iletişimi performansı
- Amazon VPC, Amazon EBS ve 64 bit HVM AMI’leri gerektirir
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:
- Yüksek frekanslı Intel Xeon E5-2686 v4 (Broadwell) işlemciler
- DDR4 Bellek
- Geliştirilmiş Ağ İletişimi desteği
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:
- Yüksek frekanslı Intel Xeon E7-8880 v3 (Haswell) işlemciler
- GiB RAM başına en düşük fiyatlardan biri
- 1.952 GiB’a varan DRAM tabanlı bulut sunucusu belleği
- Blok düzeyinde geçici depolama için SSD bulut sunucusu paylaşımı ve ek maliyet oluşturmadan varsayılan olarak EBS için optimize edilmiş
- İşlemci C-state ve P-state yapılandırmalarını denetleme imkanı
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:
- Tüm çekirdekler için 4.0 GHz düzeyine kadar sabit hız sunan özel Intel® Xeon® Ölçeklendirilebilir işlemci
- 1,8 TB’a kadar bulut sunucusu depolama alanı
- 384 GiB’a kadar yüksek RAM
- Tahsis edilmiş donanım ve hafif hipervizörün birleşimi olanAWS Nitro Systemile desteklenir
- z1d bulut sunucularında, yerel NVMe tabanlı SSD’ler konak sunucusuna fiziksel olarak bağlıdır ve z1d bulut sunucusunun kullanım ömrüne bağlı olacak şekilde blok düzeyinde depolama sağlar
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:
- 2,3 GHz Intel® Xeon® E5 2686 v4 işlemcilerle (kod adı Broadwell) desteklenmiştir
- 16TB’a kadar HDD depolama
- Yüksek disk aktarım hızı
- ENA ile 25 Gbps’ye kadar Geliştirilmiş Ağ İletişimi
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:
- 2,3 GHz temel frekansına sahip Yüksek Frekanslı Intel Xeon E5-2686 v4 (Broadwell) İşlemciler
- Elastic Network Adapter (ENA) tabanlı Geliştirilmiş Ağ İletişimi ile 25 Gb/sn.’ye varan ağ bant genişliği
- Yüksek Rastgele G/Ç performansı ve Yüksek Sıralı Okuma aktarım hızı
- Fiziksel işlemciye ve belleğe doğrudan erişimin avantajlı olacağı iş yükleri için bare metal bulut sunucusu boyutuna yönelik destek
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:
- Yüksek frekanslı Intel Xeon E5-2676 v3 (Haswell) işlemciler
- HDD depolama
- Başlatma sırasında tutarlı yüksek performans
- Yüksek disk aktarım hızı
- Geliştirilmiş Ağ İletişimi desteği
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:
- Yüksek frekanslı Intel Xeon E5-2686 v4 (Broadwell) işlemciler
- Her biri 2.496 paralel işlem çekirdeğine ve 12 GiB GPU belleğine sahip yüksek performanslı NVIDIA K80 GPU’lar
- Peer-to-peer (birimler arası) GPU iletişimi için GPUDirect™ destekler
- Elastic Network Adapter (ENA) kullanarak bir Yerleşim Grubu içinde 25 Gb/sn.’ye kadar toplam ağ bant genişliği ile Geliştirilmiş Ağ İletişimi sağlar
- Ek maliyet oluşturmadan varsayılan olarak EBS için optimize edilmiş
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:
- Yüksek frekanslı Intel Xeon E5-2686 v4 (Broadwell) işlemciler
- Her biri 2.048 paralel işlem çekirdeğine ve 8 GiB video belleğe sahip NVIDIA Tesla M60 GPU’lar
- 4.096×2.160 çözünürlükte 4 monitöre kadar destek ve diğer NVIDIA GRID Virtual Workstation özellikleri Bulut sunucunuzdaki her GPU bir “Eşzamanlı Bağlı Kullanıcı” lisansına sahiptir
- Citrix XenApp Essentials ve VMware Horizon gibi uygulama sanallaştırma yazılımlarını, GPU başına 25 eşzamanlı kullanıcıya kadar destekleyen NVIDIA GRID Virtual Application yetenekleri
- Her GPU 10 adede kadar H.265 (HEVC) 1080p30 akışını ve 18 adede kadar H.264 1080p30 akışını destekleyen yerleşik donanım video kodlayıcısına sahiptir. Böylece düşük gecikmeli kare yakalama ve kodlama ile yüksek kaliteli etkileşimli yayın akışı deneyimlerini mümkün kılar
- Elastic Network Adapter (ENA) kullanarak bir Yerleşim Grubu içinde 25 Gbps’ye kadar toplam ağ bant genişliği ile Geliştirilmiş Ağ İletişimi
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 EC2 Instance Store;
- Instance’ın üzerinde çalıştığı fiziksel sunucuya bağlı disklerin kullanıldığı depolama türüdür.
- Diskler SSD veya HDD olabilir.
- Doğrudan sunucunun üzerinde çalıştığı fiziksel disklere bağlı olduğundan yüksek erişim hızı ve çok düşük gecikme süreleri sağlar.
- EC2 sanal sunucunuz kapanırsa tüm veriyi kaybolur. AWS bize EC2 sanal sunucusunu aynı fiziksel sunucuda tutma garantisi vermiyor çüngü EC2 sunucular binlerce fiziksel sunucu üzrinde dolaşıp durmaktadır.
- Disklerini kullandığımız fiziksel sunucuya birşey olması durumunda da verimiz kaybolur
- Snapshot desteki yoktur.
- Amazon Elastic Block Store (Amazon EBS);
- Kalıcı veri deposudur ve Instance’tan bağımsızdır.
- Block base depolama sağlar.
- %99.999 erişilebilirlik garantisi verir.
- Availability Zone içinde birden fazla cihaza replike edilerek dayanıklılık sağlanır.
- Snapshopt desteğine sahiptir. Bu sayede disklerin belirli bir andaki kopyası kaydedilerek bu kopyadan yeni makineler kurulabilir veya alınan snapshot yedek için kullanılabilir.
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.
- Classic Load Balancer; Classic Load Balancer, birden fazla Amazon EC2 sunucusu arasında temel yük dengeleme sağlar ve hem istek düzeyinde hem de bağlantı düzeyinde çalışır. Classic Load Balancer, EC2-Classic ağında oluşturulan uygulamalar için tasarlanmıştır. Classic Load Balancer hala seçenek olarak mevcut olsada çok sık kullanılmamaktadır.
- Network Load Balancer; Network Load Balancer, aşırı performansın gerekli olduğu TCP, UDP ve TLS trafiğinin yük dengelemesi için en uygun yöntemdir. Connection düzeyinde (Layer 4) çalışan Network Load Balancer, trafiği Amazon Virtual Private Cloud (Amazon VPC) içindeki hedeflere yönlendirir ve ultra düşük gecikme sürelerinde saniyede milyonlarca isteği işleyebilir. Network Load Balancer ayrıca ani ve değişken trafik modellerini işlemek için optimize edilmiştir.
- Application Load Balancer; Application Load Balancer, HTTP ve HTTPS trafiğinin yük dengelemesi için en uygun yöntemdir ve mikro servisler ve konteynerlar da dahil olmak üzere modern uygulama mimarilerinin dağıtımını hedefleyen gelişmiş istek yönlendirmesi sağlar. Bireysel istek düzeyinde (Layer 7) çalışan Application Load Balancer, trafiği isteğin içeriğine göre Amazon Virtual Private Cloud (Amazon VPC) içindeki hedeflere yönlendirir.
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.
- Hızla ölçeklendirme kurulumu gerçekleştirin.
- Performansı otomatik olarak koruyun.
- Akıllı ölçeklendirme kararları alın.
- Yalnızca gereksinim duyduğunuz kadar ödeyin
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.