AWS'de Elastik Yük Dengeleme

Yayınlanan: 2022-08-10

Elastic Load Balancing, AWS'deki uygulamaların kalbidir. Bu gönderide ELB, türleri ve özellikleri hakkında her şeyi öğrenin.

Günümüzde çoğu kuruluş, uygulamalarının ölçeklenebilirliğini, kullanılabilirliğini ve hata toleransını yönetmeye ve artırmaya ihtiyaç duyuyor. AWS, bunun için mükemmel bir çözüm, yani Elastic Load Balancing hizmeti sunar. Bu hizmet, iş yüklerini sanal sunucular gibi birçok işlem kaynağına dağıtabilen bir yük dengeleyiciden oluşur.

yük dengeleme

Yük Dengeleme hizmetleri, işlem kaynaklarının durumunu izlemek için durum denetimlerini yapılandırmamıza olanak tanır. Ayrıca, işlem kaynaklarının ana işlerine odaklanabilmesi için şifreleme ve şifre çözme çalışmalarını yük dengeleyicinize devretmemize olanak tanır.

Elastik Yük Dengeleme (ELB): Genel Bakış

ELB, gelen trafiği otomatik olarak birden çok EC2 bulut sunucusuna dağıtan bir hizmettir. Bu, uygulama trafiğini dağıtmak için yük dengeleme kapasitesi sağlayarak uygulamalarınızda daha yüksek hata toleransı seviyeleri elde etmenize yardımcı olur.

Elastik Yük Dengeleme
Kaynak: AWS

Ayrıca Elastic Load Balancing, sağlıksız EC2 bulut sunucularını algılayabilir ve bir EC2 bulut sunucusunun sağlıksız olduğu tespit edilir edilmez ELB, tekrar sağlıklı hale gelene kadar ona trafik göndermeyi durdurur. Müşteriler, daha tutarlı uygulama performansı için tek veya birden fazla Erişilebilirlik Alanında Elastic Load Balancing'i kolayca etkinleştirebilir.

Elastik Yük Dengeleme Özellikleri

Güvenlik

Application Load Balancer ve Classic Load Balancer için ekstra ağ ve güvenlik seçenekleri sağlamak için Amazon Virtual Private Cloud (VPC) içindeki Elastic Load Balancing ile ilişkili güvenlik gruplarını yönetebilir ve oluşturabilirsiniz.

Yüksek kullanılabilirlik

Elastic Load Balancer yüksek oranda kullanılabilir. Uygulamanıza gelen trafiği tek bir Erişilebilirlik Alanındaki veya birden çok Erişilebilirlik alanındaki EC2 bulut sunucularına dağıtabilirsiniz.

Yüksek verim

Elastik Yük Dengeleyiciler, büyüdükçe trafiği yönetmek için tasarlanmıştır ve milyonlarca istek/sn yükleyip dengeleyebilir. Ayrıca ani trafik artışlarını da kaldırabilir.

Sağlık kontrolleri

Elastic Load Balancing ile EC2 bulut sunucularınızın sağlığını kontrol altında tutabilir ve sağlıksız bir bulut sunucusuna trafik gönderme riskini ortadan kaldırabilirsiniz.

Operasyonel izleme ve günlük kaydı

Amazon CloudWatch, hata sayıları, hata türleri, istek gecikmesi, istek sayıları ve daha fazlası gibi Uygulama ve Klasik Yük Dengeleyici ölçümlerini raporlar.

Korumayı Sil

Yanlışlıkla silinmesini önlemek için bir Elastic Load Balancer üzerinde Silme Korumasını etkinleştirebilirsiniz.

Youtube videosu

Elastik Yük Dengeleyici Bileşenleri

dinleyiciler

Yük dengeleyiciniz için bir veya daha fazla dinleyici yapılandırmanız gerekir. Bağlantı isteklerini kontrol eden bir işlemdir. Ön uç bağlantılar (istemciden yük dengeleyiciye) için bağlantılar için bir protokol ve bir bağlantı noktası ve arka uç bağlantılar için bir protokol (yük dengeleyiciden arka uç örneğine) ile kurulur.

Elastik yük dengeleme için desteklenen protokoller şunları içerir:

  • HTTPS (güvenli HTTP)
  • TCP
  • SSL (güvenli TCP)

Yük dengeleyici

Bir yük dengeleyici, sunucularınızın önünde "trafik polisi" olarak görev yapar ve istemci isteklerini, hız ve kapasite kullanımını en üst düzeye çıkaracak ve hiçbir sunucunun aşırı çalıştırılmamasını sağlayarak, performansın düşmesine neden olabilecek şekilde işlemek için donatılmış tüm sunuculara dağıtır.

Yük dengeleyici, bir sunucunun çevrimdışı olması durumunda trafiği etkin sunuculara yönlendirir. Yük dengeleyici, sunucu grubuna eklendiğinde yeni bir sunucuya istek başlatır.

Hedef guruplar

İstekler, her bir hedef grup kullanılarak bir veya daha fazla kayıtlı hedefe yönlendirilir. Her bir dinleyici kuralı oluşturduğunuzda, bir hedef grup ve koşullar tanımlarsınız. Bir kural koşulu karşılandığında, trafik uygun hedef gruba yönlendirilir.

Çeşitli istek türleri için ayrı hedef grupları oluşturabilirsiniz. Örneğin, uygulamanızın mikro hizmetlerine yönelik istekler ve genel istekler için farklı hedef gruplar oluşturun.

Yük Dengeleyici Türleri

Uygulama Yük Dengeleyici

Application Load Balancer, geliştiricilerin gelen son kullanıcı trafiğini ayarlamasına ve AWS genel bulutunda çalışan uygulamalara yönlendirmesine olanak tanır.

Çok sayıda web uygulamasının bulunduğu bir bulut ortamında yük dengeleme çok önemlidir. Yük dengeleyici, ağ trafiğini ve bilgi akışlarını birkaç sunucu arasında bölerek tek bir sunucunun aşırı yüklenmemesini sağlar. Bu, kullanıcı deneyimlerini geliştirir, uygulama yanıt verebilirliğini ve kullanılabilirliğini artırır ve dağıtılmış hizmet reddi (DDoS) saldırılarına karşı koruma sağlayabilir.

Youtube videosu

Web uygulamalarına erişim son yıllarda önemli ölçüde artmıştır. Ancak, beklenmedik trafik artışları çevrimiçi hizmetleri yavaşlatabilir ve kullanılabilirliği azaltabilir. Application Load Balancer, kararlılığı ve kullanılabilirliği artırmak için ağ yükünü genel bulutta verimli bir şekilde dağıtır.

Application Load Balancer, trafiği yalnızca sorunlu bir uygulama Katman 7'ye ulaşırsa bulut kaynağı içindeki sağlıklı bir hedefe yönlendirir. WebSocket, temel sunucuyla daha fazla bağlantı için Application Load Balancer tarafından desteklenen başka bir protokoldür.

Kapsayıcılarda veya AWS EC2 bulut sunucularında çalışan web siteleri ve mobil uygulamalar, uygulama yük dengeleyici kullanımından en çok yararlanır. Bir mikro hizmet mimarisinde Application Load Balancer, EC2 örneklerinin veya belirli bir hizmeti uygulayan Docker kapsayıcılarının önünde dahili bir yük dengeleyici olarak kullanılabilir. Ek olarak, bir RESTful API uygulamasının önünde kullanılabilir.

Aşağıdakiler dahil çok sayıda AWS hizmeti, uygulama yük dengeleyici ile uyumludur:

  • AWS Otomatik Ölçeklendirme
  • Amazon Elastik Konteyner Hizmeti
  • AWS CloudFormation
  • AWS CodeDeploy
  • AWS Sertifika Yöneticisi

Klasik Yük Dengeleyici

Gelen uygulamalardan gelen trafik, klasik bir yük dengeleyici kullanılarak çok sayıda EC2 bulut sunucusuna çeşitli Erişilebilirlik Alanlarına bölünür. Klasik bir yük dengeleyici, müşterinin tek temas noktası görevi görür. Bu, uygulamanızı daha erişilebilir hale getirir. Uygulamanıza gelen isteklerin genel akışını bozmadan, ihtiyaçlarınız değiştikçe klasik yük dengeleyicinizden örnekler ekleyebilir/kaldırabilirsiniz.

Dinleyici, istemci bağlantı isteklerini izlemek için ayarladığınız protokolü ve bağlantı noktasını kullanır. Dinleyici daha sonra, yapılandırılmış protokolü ve bağlantı noktasını kullanarak istekleri bir veya daha fazla kayıtlı örneğe iletir. Bir veya daha fazla dinleyici ekleyerek yük dengeleyicinizi değiştirirsiniz.

Yük dengeleyicinin istekleri yalnızca sağlıklı örneklere yönlendirmesini sağlamak için, kayıtlı örneklerin durumunu izlemek için kullanılan sistem durumu kontrollerini yapılandırabilirsiniz.

Klasik yük dengeleyici, varsayılan olarak trafiği yük dengeleyiciniz için etkinleştirdiğiniz Erişilebilirlik Alanları arasında eşit olarak dağıtır. Trafiği tüm etkin Erişilebilirlik Alanlarında kayıtlı tüm örnekler arasında dağıtmak için yük dengeleyicinizde bölgeler arası yük dengelemeyi etkinleştirin.

yük dengeleme

Klasik Yük Dengeleyici Türleri:

  • İnternete Yönelik Klasik Yük Dengeleyiciler : İnternete yönelik bir yük dengeleyici, genel olarak çözülebilir DNS etki alanı sayesinde, istemcilerden gelen istekleri yük dengeleyiciye kayıtlı EC2 bulut sunucularına yönlendirebilir. Yük dengeleyicinize, oluşturulduğunda, istemcilerin istek yapmak için kullanabileceği bir genel DNS adı verilir. DNS sunucuları, yük dengeleyicinizin DNS adını, yük dengeleyici düğümlerinin genel IP adreslerine çevirir. Özel IP adresleri, her bir yük dengeleme düğümünü arka uç örneklerine bağlar.
  • Dahili Klasik Yük Dengeleyiciler: Dahili bir yük dengeleyicinin düğümleri yalnızca kişisel IP adreslerine sahiptir. Bir dahili yük dengeleyicinin DNS adı, düğümlerin IP adreslerine genel olarak çözümlenebilir. Sonuç olarak, istekler yalnızca yük dengeleyicinin VPC'sine erişimi olan istemcilerden gelen dahili yük dengeleyiciler tarafından yönlendirilebilir.

Ağ Yük Dengeleyici

Ağ yük dengeleyici, OSI modelinin dördüncü katmanında çalışır. Saniyede milyonlarca istekle başa çıkabilir.

Yük dengeleyici, bir bağlantı isteği aldıktan sonra varsayılan kural için hedef gruptan bir hedef seçer. Dinleyici ayarlarında belirtilen port üzerinde seçilen hedefe TCP bağlantısı kurmaya çalışır.

Youtube videosu

Uygulamanızın hata toleransını artırmak için, AWS'de Ağ Yükü dengeleyiciler için ücretli bir hizmet olan birden çok kullanılabilirlik bölgesini etkinleştirebilirsiniz. Bir Erişilebilirlik Alanı kapanırsa uygulamanız çalışmayı durdurmaz.

TCP trafiği için, protokole, kaynak bağlantı noktasına, kaynak IP adresine, hedef bağlantı noktasına, hedef IP adresine ve TCP sıra numarasına dayalı bir akış karma algoritması kullanılarak bir hedef seçilir.

İstemcilerin TCP bağlantılarının farklı sıra numaraları ve kaynak bağlantı noktaları vardır, bu nedenle bağlantılar diğer hedeflere yönlendirilir. Her benzersiz TCP bağlantısı, bağlantı süresince tek bir hedefe yönlendirilir.

Ağ Geçidi Yük Dengeleyici

Üçüncü taraf sanal cihazlarınız, Gateway Load Balancer yardımıyla kolayca dağıtılabilir, ölçeklenebilir ve yönetilebilir. Trafiği çok sayıda sanal cihaz arasında bölmek ve talebe yanıt olarak bunları yukarı veya aşağı ölçeklendirmek için tek bir ağ geçidi sağlar. Bu, ağınızdaki olası arıza noktalarını ortadan kaldırır ve kullanılabilirliği artırır.

Youtube videosu

Bağımsız üreticilerin sanal cihazları doğrudan AWS Marketplace aracılığıyla bulunabilir, test edilebilir ve satın alınabilir. İster mevcut satıcılarınızla çalışmaya devam etmek ister yeni bir şey denemek isteyin, bu entegre deneyim, sanal cihazlarınızdan daha hızlı faydalanabilmeniz için dağıtım sürecini hızlandırır.

Ağ geçidi yük Dengeleyicinin faydaları:

  • Üçüncü taraf sanal cihazların daha hızlı dağıtımı.
  • Maliyetleri yönetirken sanal cihazlarınızı ölçeklendirme.
  • Sanal cihazın kullanılabilirliğini iyileştirin

Son sözler

Elastik Yük Dengeleyiciler, AWS'de yapılan birçok altyapının kritik bir parçasıdır. Bir ELB'den aldığımız özellikler, altyapınızı yönetmeyi kolaylaştırır. Elastic Load Balancing, uygulama ve web trafiği isteklerini birkaç hedef veya örnek üzerinden yaymanın denenmiş ve gerçek bir yöntemidir.

Elastic Load Balancer kullanarak çeşitli iş yüklerinizi otomatik olarak ölçeklendirebilirsiniz. AWS tarafından sağlanan her tür yük dengeleyiciyi ele aldık ve bunları uygulamanızın taleplerine göre kullanabilirsiniz.