AWS ELB – Elastic Load Balancer
There are lots of documentation(blog posts etc.) about AWS in English that’s why I have been writing in Turkish. I hope this will be informative for Turkish readers.
Regards.
Merhaba,
Elastic Load Balancer(ELB) servisi gelen trafiği AWS EC2 instance’ları arasında dağıtan amazon web servisidir.Uygulamalarınız için hata toleransı sağlar. ELB, yaptığı kontrollerle sağlıksız instance’ları belirleyerek gelen trafiğin sağlıklı EC2 instance’ına yönlendirilmesini sağlar.Yazımda genel olarak ELB servisinin nasıl yapılandırılacağından bahsedeceğim.
Kullandığınız servislere ve ya aldığınız hizmetlere bağlı olarak ELB’nin tasarımı/mimarisi farklılaşabilir. Test ortamımda, AWS’de çalışan iki adet EC2 instance’ını ELB arkasına alarak çalıştıracağım. EC2 instance’larımda çalışan servis Internet Information Service’tir. EC2 instance’larım Windows Server 2012 R2’lerden oluşmaktadır.Test labımda Auto-Scaling veya Route 53 servislerini kullanmadım. Onlar da başka bir yazının konusu olacak.Instance’lar aşağıda görülüyor.
Load Balancer kısmından yeni bir LB oluşturmaya başlıyoruz.
Load Balancer’a bir isim belirleyiniz. Test ortamında olduğum için oluşturduğum tüm objelerde “test” kelimesi kullandım.
Load Balancer ’ı, daha önce tanımladığım VPC içinde oluşturuyorum. Listener olarak HTTP 80 portunu belirledim. ELB’nin EC2 instance’larının sağlığını kontrol etmesi için bir yöntem benimsemeniz gerekiyor. http/https/ping vb bir yöntemi seçerek ilerleyiniz.
Sıradaki yapılandırma availability zone yapılandırmasıdır. Farklı iki(en az) availability zone seçerek ilerleyiniz.Üst kısımlarda belirttiğim EC2 instance’larım, aşağıdaki seçtiğim zone’larda çalışmaktadır.
Security group seçimi aşağıda görüldüğü gibidir.
Daha önce oluşturmuş olduğum bir security group’u seçerek ilerliyorum. Bu grubun içeriği aşağıdaki gibidir.Her IP adresinden 3389 ve 80 trafiğine izin veriliyor(aşağıdaki kurallara göre).
Security group konusunda şunu yöntemin anlamlı olduğunu düşünüyorum. EC2 instance’larınızın ve ELB’nin kullandığı security group’Iar farklı security group’lar olmalıdır. Bu sayede istenmeyen trafiği filtrelemiş oluruz. Test ortamımda olduğum için aynı security group’u kullandım. Aslında bu security group’ta 3389 TCP portunun olmaması gerekir!
Daha önce oluşturduğum EC2 instance’larımı ELB’ye dahil ettim. Tag belirleme faslını bitirerek devam ediniz.
ELB’nin özeti aşağıdaki gibidir. 80 port’undan dinleme yapan internet facing bir ELB oluşturduk. AWS bulutu içinde kullanılmak üzere de ELB oluşturabilirsiniz(internal elb).
ELB’nin kullanımındaki en önemli noktalardan biri DNS’tir. IP adresler değişebilir, isim çözümlemesi önemlidir!
aydogmusoglu.com domain’imin dns manager’ında bir adet cname kaydı oluşturarak ELB’nin dns ismine yönlendirdim.
Siz de domain’inizin dns manager’ından benzer bir işlem yapabilirsiniz.
Oluşturduğum CNAME ile EC2 instance’larım üzerinde çalışan web sayfasını test edeyim. İki farklı browser’dan web sayfasını açtım. Trafiğin ELB tarafından farklı EC2 instance’larına dağıtıldığını görebilmek için web sayfasının giriş sayfasına farklı ifadeler yazdım(Node 01 ve 02 gibi).
Görüldüğü üzere ELB, iki node arasında dağıtımı yaptı. ELB’nin gözlemi için aşağıdaki menüleri kullanabilirsiniz.
CloudWatch ile alarmlar belirleyebilirsiniz. Ücretlendirmesini inceleyiniz. AWS’yi test etmek için Free Tier account açtıysanız, free tier usage kapsamını dikkatlice okuyunuz. Kapsam dışına çıkarsanız, normal olarak ay sonu faturanıza ücret yansıyacaktır.
Herkese sorunsuz ve neşeli günler dilerim.
Kaynaklar:
http://aws.amazon.com/cloudwatch/pricing/
http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-healthcheck.html
1 comment found