Amazon ELB ile Uygulama Ölçeklendirme

Load Balancing nedir?

Temel olarak Load Balancer’lar uygulamamızın uc kısmında bulunan ve internet trafiğini çoklu sunuculara dağıtmayı sağlayan sunuculardır.

 

Şekilde görüldüğü üzere EC2 instance’lerimiz ve uygulamalarımız öncesinde uc noktada Load Balancer bulunmaktadır. Böylelikle bir kullanıcı bağlantı kurduğu zaman direkt olarak EC2 Instance yerine Load Balancer’a erişir. Kullanıcı bağlantı kurmak istediği uygulamaya Load Balancer’ın yönlendirmesi ile ulaşır. Load Balancer isminden anlaşılacağı üzere uygulamalar üzerine gelen yükü dağıtır, görüldüğü gibi kullanıcılar aynı Instance erişememektedir. Yani yük dengelenmiş oldu.

Hangi Durumlarda Load Balancer Kullanılır? 

⦁ Çoklu Instance’lere gelen yük dağılımını dengelemek
⦁ Uygulamalarımıza tek bir noktadan erişim sağlamak istediğimizde (DNS)
⦁ Instance’lerin hata ya da aşırı yük sonucu çökmesinin önüne geçmek amacıyla
⦁ Uygulamamızın belirli aralıklarla durum kontrolünü yapmamız gerektiğinde
⦁ Ayrıca websitenize SSL sağlamak istediğimizde(HTTPS) Load Balancer bunu sağlamaktadır.
⦁ AWS serverları arasında yüksek geçerlilik seviyesine sahiptir. Yani bir bölgede kesinti olduğu zaman uygulamamız çalışmaya devam eder.

AWS Load Balancer Tipleri?

AWS 3 çeşit Load Balancer tipine sahiptir.
1. Classic Load Balancer (v1 – eski jenerasyon) – 2009
2. Application Load Balancer (v2 – yeni jenerasyon) – 2016
3. Network Load Balancer (v2 – yeni jenerasyon) – 2017
Yenilikler ve daha ileri uygulamaların kullanılması için yeni jenerasyon LB kullanımı önerilir. Burada Application Load Balancer kullanımından bahsedeceğim. Network Load Balancer’ın çok sağlam altyapı ihtiyacı olduğunda daha fazla ücret ödeyerek kullanılabileceğini bilmemiz yeterli.
AWS konsolunda EC2 kısmına geldikten sonra sol tarafta bulunan Load Balancing sekmesinden yeni bir Load Balancer oluşturuyoruz. Karşımıza çıkan 3 farklı tip arasından üzerinde HTTP/HTTPS balonu olan Application Load Balancer’ı seçiyoruz.

Karşımıza çıkan ilk aşamada LB ismini ve dinleyicileri belirliyoruz. HTTP 80 portunu dinlemekteyiz. Daha önce de belirttiğim gibi Load Balancer’lar 3 farklı geçerli bölgede çalışabilmektedir. Hepsini seçtikten sonra ilerleyip tüm bağlantıları dinleyen bir Security Group oluşturuyoruz.

  • Son olarak Instance başlattığımızda anahtar çifti oluşturuyoruz. Anahtar çifti Amazon makineye bağlanırken SSH’a giriş yapabilmemizi sağlar. Anahtar çiftini indiriyoruz.

Sıradaki adımda oluşturduğumuz Target Group’a instance ekliyoruz. Alt kısımda eklenebilecek instance görünmektedir. Bu şekilde yapılan işlemleri kontrol edip Load Balancer’ı oluşturuyoruz.

Load Balancers kısmına geldiğimizde oluşturduğumuz Load Balancer’ı görebiliyoruz. Burada sarı renkle görülen State kısmının Provisioning’den Active hale geçmesi biraz zaman alacaktır. Sebebi Target Group’a eklediğimiz instance Health Check’ten geçmektedir. Yine Load Balancer’ın Availability Zones olarak 3 farklı yerde de çalıştığını görebilirsiniz. Listeners kısmında ise kural olarak Target Group içerisinde bulunan instance 80 portu ile Forward ediliyor. Burada kural ekleyebilir ya da değiştirebiliriz, aynı zamanda Security Group panelinden instance yalnızca Load Balancer üzerinden erişilebilir yapabilirsiniz.

 

 

Security Group kısmından oluşturduğumuz instance ait Security Group’u seçiyoruz. Inbound Rules kısmından HTTP kaynak kısmını All iken daha önce oluşturduğumuz Load Balancer’a ait Security Group yapıyoruz. Böylelikle instance erişim yalnızca Load Balancer uç kısmından gerçekleşiyor.

📌 YouTube SEO Videoları Nasıl Yapılır ?” adlı blog yazımızı da okumak isterseniz buraya tıklamanız yeterli..

Read More
Mustafa Selvi Mart 29, 2020 0 Comments

Amazon EC2 Nedir? AWS Nasıl Kullanılır?

Amazon EC2 ’un en temel servislerinden biridir. Amazon Web Servisleri’ni öğrenmeye ilk olarak EC2 ile başlamakta fayda var.

EC2 Servisinin Özellikleri Nelerdir?

  • Bulut sisteminde kiralanabilir sanal bir makina oluşturur.
  • Verilerimizi sanal sürücülerde stoklamamıza olanak sağlar.(EBS)
  • Sanal makineler arası yük dağılımını ayarlar.(ELB)
  • ASG(Auto Scaling Group) ile servislerimizi ölçeklendirir.

Özelliklerden de anlaşılacağı üzere EC2 birçok servisin sıkıştırılmış hali gibidir. Eğer bulut yapısını anlamak istiyorsanız EC2 servisini bilmeniz ve kullanmanız işleri kolaylaştıracaktır.

AWS konsoluna giriş yapalım ve EC2 ile bir sanal makina başlatalım;

Sağ üst köşede yer alan “Region” menüsünden size en yakın bölgeyi seçmeyi unutmayın. Çünkü EC2 servisi bölge temelli çalışır ve servis ücretlendirmelerini de buna göre yapar.

 

 

 

 

 

A screenshot of a social media post Description automatically generated
  • Instance başlatacağımız zaman ilk olarak karşımıza AMI seçeneği çıkmaktadır. AMI, serverda başlatacağımız işletim sistemi ve yazılımı temsil eder. Burada Amazon Linux 2 seçimini yapıyoruz.
A screenshot of a social media post Description automatically generated
  • Sonrasında seçmiş olduğumuz makinenin tipini belirlememiz gerekmektedir. Bu aşamada makinemizin gücünü belirlemiş oluyoruz. Ben ücretsiz olabilen t2.micro tipini seçtim.
A screenshot of a computer Description automatically generated
  • Configurasyon aşamasında birçok ayar karşımıza çıkıyor. Burada VPC ayarı default olduğu sürece değişiklik yapmadan devam edebiliriz. Depolama alanı olarak EBS Volume kullanılmaktadır, buradaki değerleri de olduğu gibi bırakalım. Güvenlik grupları Instance etrafında bir firewall görevi görmektedir. Güvenlik açısından burada yapacağımız atamalar önemli. Linux makineye erişebilmemiz için ilk olarak SSH portunun dinlenebilir olaması lazım. Kaynak olarak kendi IP adresim seçiyorum ve bu sayede Linux makineye yalnızca belirtilen IP adresi üzerinden SSH ile erişilebilir. Ayrıca Instance’in internet trafiğine açık olabilmesi için HTTP özelliğini de ekliyoruz.
A screenshot of a social media post Description automatically generated
  • Son olarak Instance başlattığımızda anahtar çifti oluşturuyoruz. Anahtar çifti Amazon makineye bağlanırken SSH’a giriş yapabilmemizi sağlar. Anahtar çiftini indiriyoruz.
A screenshot of a social media post Description automatically generated

Amazon EC2 ‘ye SSH ile Erişim

  • EC2 konsolunda Instance “running” durumuna geldiğinde SSH ile makinemize bağlanabiliriz. Instance seçtikten sonra, konsol üst kısmında bulunan “Connect” butonu bize nasıl bağlantı kurmamız gerektiğini gösteriyor. Bağlantı, işletim sistemlerine göre farklılık gösterir.  Burada Windows makinemde kurmuş olduğum ubuntu ile bağlantı gerçekleştirdim. (https://www.microsoft.com/tr-tr/p/ubuntu/9nblggh4msv6?activetab=pivot:overviewtab  adresinden Windows makinesine Ubuntu kurabilirsiniz.)
A screenshot of a cell phone Description automatically generated
  • sağlanabilmesi için daha önceden belirlediğimiz Security Group’un port 80’i dinliyor olması lazım. Apache yükleme işlemi aşağıdaki gibidir;

Instance Public IP adresini Browser’da görüntüledik. Apache test sayfası görüntülenmektedir.

Metin Kutusu: sudo su yum update -y yum install -y httpd.x86_64 systemctl start httpd.service systemctl enable httpd.service
A screenshot of a social media post Description automatically generated
Metin Kutusu: echo "Merhaba, Sayfama Hoşgeldiniz" > /var/www/html/index.html

Terminale yukarıda belirtileni yazarak kendi index sayfamızı oluşturabiliriz. Aynı şekilde Instance oluştururken User Data kısmına Script girerek istediğimiz opsiyonlarda yükleme gerçekleştirebiliriz.

A close up of a logo Description automatically generated

Hepsi bu kadar, artık kendi uygulamalarımızı ya da web sitemizi Amazon Web Servis’i kullanarak tasarlayabiliriz.

📌 YouTube SEO Videoları Nasıl Yapılır ?” adlı blog yazımızı da okumak isterseniz buraya tıklamanız yeterli..

Read More
Mustafa Selvi Şubat 18, 2020 0 Comments