Birden çok webapps için Elastik Yük Dengeleyici


13

Ben Nwebapps. Her web uygulaması alan adımdaki farklı bir ana bilgisayar adıyla sunulur ve AWS'de çalışan 2 örneğe dağıtılır. Başka bir deyişle, farklı web 2Nuygulamaları çalıştıran çiftlere bölünmüş örneklerim var N.

HostBaşlığa göre hizmet veren iki örnekten birine istek gönderecek tek bir AWS Elastik Yük Dengeleyici oluşturmak istiyorum . Tek bir ELB kullanmak mümkün mü yoksa NELB'leri her bir örnek çifti için bir tane dağıtmam gerekecek mi?


Yanıtlar:


19

Tek bir ELB, trafiği tam olarak bir örnek grubuna yönlendirir ve gelen trafiği "arkasındaki" tüm örneklere dağıtır. Host:Üstbilgi gibi trafiğin herhangi bir katman 7 analizine dayalı olarak trafiği seçici olarak yönlendirmez .

Her örnek kümesi için bir ELB'ye ihtiyacınız vardır . Açıkladığınız gibi, bu her web uygulaması için bir ELB'dir.

ELB'yi çalıştırmak için birincil amacınız bir joker karakter sertifikası kullanarak SSL'yi boşaltmaksa (böyle tasarlanmış bir sistemim var, onlarca uygulamanın birçok-different-domains.my-wildcard-cert-domain.com adresinde yaşıyor), o zaman örnekler "arkada" ELB, HAProxy (veya Vernik gibi diğer bazı alternatifler) gibi katman-7 yönlendirme kararları verebilen ve daha sonra trafiği arkalarındaki uygun makine alt kümesine iletebilen bir ters proxy kullanıyor olabilir. yük dengeleme ve size toplu ve ayrı istatistikleri ve trafik sayaçları sağlama avantajına sahiptir.

       /-- HAProxy \  /----- instances hosting app #1  
ELB ---|            >> ----- instances hosting app #2 
       \-- HAProxy /  \----- instances hosting app #n 

Ara ^ ^ ^ örnekleri, Host:başlıkları (diğer şeylerin yanı sıra) değerlendirebilir ve hatta analiz için günlük çerezlerindeki oturum çerezinin değerini yakalayabilir.

Bu kurulum aynı zamanda uygun olan yerlerde çakışan örneklerin alt kümelerinde birden fazla uygulama çalıştırmamı ve ELB'nin kendi başına doğrudan desteklemediği birçok şeyi yapmamı sağlıyor. Ayrıca, bir uygulamanın aşırı yüklenmesi veya başka bir şekilde kullanılamaması durumunda, ELB'in kendi başına yapmaması durumunda özel bir "503" sayfası döndürür. Burada 2 proxy sunucusunu tasvir ettim, söz konusu 2 numaradan bahsetmekten başka bir sebep yok. Kurulumumun aslında, konuşlandırıldığı bölgedeki her kullanılabilirlik bölgesi için 3 tane var.


3
Ağustos 2016'da Amazon , HTTP başlıklarına göre farklı hedef gruplara yönlendirmeye izin veren AWS Uygulama Yük Dengeleyicisini başlattı .
Jens Bannmann

2
@JensBannmann bu doğru. Onu serbest bıraktıklarında, desteklediği tek yönlendirme kuralları yola dayanıyordu. 2017'de, Host:başlığa göre rota oluşturma özelliğini eklediler . Bu cevap 2014'te yazdığım zaman doğruydu, ancak güncelleme zamanı geldi gibi görünüyor. Dikkatime geri getirdiğin için teşekkürler.
Michael - sqlbot

3

Ağustos 2016 itibarıyla Amazon ELB iki farklı tip yük dengeleyici sunmaktadır:

  • Klasik Yük Dengeleyici , uygulama protokolü içeriğini dikkate almadan tüm trafiği bir örnek grubuna yönlendirir. Daha önce, bu mevcut tek ELB tipiydi.
  • Uygulama Yük Dengeleyici , URL yollarına dayalı yapılandırılabilir kurallara göre trafiği farklı hedef gruplara yönlendirebilir. Yeni - AWS Uygulama Yük Dengeleyici blog yazısı , birincil kullanım örneği olarak çeşitli mikro hizmetlerden oluşan uygulamalardan bahseder ve ayrıntılı kurulum talimatları verir.

Kullanım durumunuz için, Uygulama Yük Dengeleyici ideal görünüyor. Ancak 10 kuralla sınırlıdır, bu nedenle yalnızca N10'dan büyük değilse kolayca çalışır .


0

Ec2 örnekleri listenizde iki örnek görürsünüz, değil mi? Ancak her örnekte çok sayıda webappiniz var mı? Her birini dağıtmak için sanal ana bilgisayar mı kullanıyorsunuz?

Ev sahiplerinizdeki ücreti bölmek için yalnızca bir ELB'ye ihtiyacınız vardır. Misal:

External request > ELB (based on CNAME pointer)  > EC2 Instance. 

Bence senaryonun daha fazlasını bana vermen daha iyi ve belki sana yardım edebilirim.

Saygılarımızla.

GÜNCELLEME

EC2 bulut sunucularında farklı web uygulamalarınız varsa, iki Elastik Yük Dengeleyicisine (ELB) sahip olmanız gerekir. Her biri bir çift örnek için. Tamamen dört örnek


Örnek listemde 2Nuygulamaları görüyorum . Her biri için iki örnek olan N webapps vardır. Bunu açıklığa kavuşturmak için soruyu düzenleyeceğim.
thesamet

Güncellenmiş yanıt.
Junior Rocha
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.