Application Load Balancer

Modern uygulamalar teslim etmeyi hedefleyen gelişmiş istek yönlendirmesi ile HTTP ve HTTPS trafiğinin yükünü dengeleyin.

Neden Uygulama Yük Dengeleyici?

Uygulama Yük Dengeleyici istek düzeyinde (katman 7) çalışarak trafiği isteğin içeriğine göre hedeflere (EC2 bulut sunucuları, container'lar, IP adresleri ve Lambda işlevleri) yönlendirir. HTTP veya HTTPS trafiğinin yükünü dengelemek için ideal olan Uygulama Yük Dengeleyici, mikro hizmetler ve container tabanlı uygulamalar dahil olmak üzere modern uygulama mimarilerinin teslimine yönelik gelişmiş istek yönlendirme olanağı sağlar. Uygulama Yük Dengeleyici, her zaman en son SSL/TLS şifrelerinin ve protokollerinin kullanılmasını sağlayarak uygulamanızın güvenliğini basitleştirir ve geliştirir.

Page Topics

Özellikler

Özellikler

Ortak TLS, x509 sertifika tabanlı kimlikleri kullanan istemciler ile sunucular arasında iki faktörlü kimlik doğrulamasına ilişkin bir protokoldür. Bu özellik sayesinde ALB, istemci sertifikalarının kimliğini doğrular ve hem üçüncü taraf Sertifika Yetkilileri (CA) hem de Özel Sertifika Yetkilisi (ACM PCA) tarafından verilen sertifikalar için iptal denetimleri gerçekleştirir. Yük dengeleyici ayrıca, istemci sertifika bilgilerini uygulama tarafından yetkilendirme kararları için kullanılabilen hedeflere proxy olarak gönderir. 

Otomatik hedef ağırlıklar (ATW), uygulamanın hedefleri bozulduğunda bile uygulamaların erişilebilirliğini artıran yeni bir ağırlıklı rastgele yük dengeleme algoritması kullanır. Algoritma, aynı hedef gruptaki denklerinden daha yüksek hata oranlarına sahip hedefleri belirlemek için HTTP durum kodlarını ve TCP/TLS hata oranlarını analiz eder. ATW, düşük performans gösteren hedefleri belirlediğinde bu özellik, performansa göre her hedefe yönlendirilen trafik hacmini ayarlayarak sorunlu hedefin başarılı bir şekilde iyileşmesine yardımcı olur.

HTTP/HTTPS trafiğini, istek özniteliklerine (X-Forwarded-For başlıkları gibi) dayalı olarak hedeflere (Amazon EC2 bulut sunucuları, mikro hizmetler ve container'lar) dengeleyebilirsiniz.

Amazon Sanal Özel Bulut (VPC) hizmetini kullanırken ek ağ iletişimi ve güvenlik seçenekleri sağlamak için Esnek Yük Dengeleme ile ilişkili güvenlik grupları oluşturup bunları yönetebilirsiniz. Bir Uygulama Yük Dengeleyici'yi internete dönük olarak yapılandırabilir veya genel IP adresleri olmayan bir yük dengeleyici oluşturarak dahili (internete dönük olmayan) yük dengeleyici olarak kullanabilirsiniz.

ALB, http_desync_guard kitaplığına dayalı desenkronizasyon korumalarının uygulanmasını destekler. Bu yeni özellik ile müşteri uygulamaları, erişilebilirlik ve/veya gecikme konusunda büyük ödün vermeden desenkronizasyondan kaynaklanan HTTP güvenlik açıklarından korunur. Müşteriler, uygulama mimarilerine göre şüpheli isteklere karşı tolerans düzeylerini seçebilme özelliğine de sahip olur.

Uygulama Yük Dengeleyici (ALB); AWS altyapısı, hizmetleri ve araçlarını gerçekten tutarlı bir hibrit deneyim için neredeyse tüm veri merkezlerini, ortak barındırma alanlarını veya şirket içi tesisleri kapsayacak şekilde genişleten, tam olarak yönetilen bir hizmet olan AWS Outposts'u destekler. Müşteriler, desteklenen bulut sunucusu türlerinde ALB'yi kullanabilir ve ALB, manuel müdahale olmaksızın, değişen uygulama yükü düzeylerini karşılamak için rafta mevcut kapasiteye göre otomatik olarak ölçeği artırır. Müşteriler ayrıca yük dengelemeyle ilgili kapasite ihtiyaçlarını karşılamalarına yardımcı olacak bildirimler alabilir. Müşteriler, bugün bölgedeki ALB'lerde olduğu gibi, Outpost'larda ALB'leri tedarik etmek ve yönetmek için aynı AWS Konsolu'nu, API'leri ve CLI'yı kullanabilir.

Application Load Balancer, istemcilerle yük dengeleyici arasında HTTPS sonlandırmayı destekler. Uygulama Yük Dengeleyiciler önceden tanımlanmış güvenlik politikaları için AWS Kimlik ve Erişim Yönetimi (IAM) ve AWS Sertifika Yöneticisi aracılığıyla SSL sertifikalarına yönelik yönetim olanakları da sunar.

HTTP/2, aynı bağlantıda birden çok isteğin gönderilmesine imkan tanımak için tek, çok katlı bir bağlantı kullanan yeni bir Köprü Metni Aktarım Protokolü (HTTP) sürümüdür. Ayrıca, üst bilgi verileri ikili dosya biçiminde gönderilmeden önce bunları sıkıştırır ve istemcilere yönelik SSL bağlantılarını destekler.

ALB, gRPC trafiğini mikro hizmetler arasında veya gRPC özellikli istemci ve hizmetler arasında yönlendirebilir ve bunlar arasındaki yükü dengeleyebilir. Bu, müşterilerin istemcileri veya hizmetlerindeki temel altyapının hiçbirini değiştirmeden mimarilere gRPC trafik yönetiminin sorunsuz bir şekilde tanıtılmasını sağlar. gRPC, taşıma için HTTP/2'yi kullanır ve mikro hizmetler mimarilerinde hizmetler arası iletişim için tercih edilen protokol haline gelmektedir. Daha hafif ağ ayak izi, sıkıştırma ve çift yönlü akış gibi HTTP/2'nin kendi avantajlarına ek olarak, verimli ikili serileştirme ve çok sayıda dil desteği gibi özelliklere sahiptir. Bu da REST gibi eski protokollere göre daha avantajlı olmasını sağlar.

Şifrelenmiş bağlantıları (SSL yük boşaltma olarak da bilinir) kullanan bir HTTPS dinleyicisi oluşturabilirsiniz. Bu özellik, yük dengeleyiciniz ile SSL veya TLS oturumlarını başlatan istemciler arasında trafik şifrelemesi sağlar. Uygulama Yük Dengeleyici, istemci TLS oturumu sonlandırmayı destekler. Bu, arka uç uygulamalarınız için kaynak IP adresini korurken TLS sonlandırma görevlerini yük dengeleyiciye aktarmanıza olanak tanır. Uygunluk ve güvenlik standartlarını karşılamak üzere, TLS dinleyicileriniz için önceden tanımlanmış güvenlik ilkeleri arasından seçim yapabilirsiniz. AWS Sertifika Yöneticisi (ACM) veya AWS Kimlik ve Erişim Yönetimi (IAM), sunucu sertifikalarınızı yönetmek için kullanılabilir.

Tek bir TLS dinleyicisiyle birden çok güvenli web sitesine hizmet vermek için SNI'yı kullanabilirsiniz. İstemcideki ana sunucu adı birden çok sertifikayla eşleşiyorsa yük dengeleyici, akıllı seçim algoritmasına dayalı olarak kullanılacak en iyi sertifikayı seçer.

Yapışkan oturumlar, aynı istemciden gelen isteklerin aynı hedefe yönlendirilmesini sağlamaya yönelik bir mekanizmadır. Uygulama Yük Dengeleyiciler hem süreye dayalı çerezleri hem de uygulama tabanlı çerezleri destekler. Yapışkan oturumları yönetmenin anahtarı, yük dengeleyicinizin kullanıcının isteğini tutarlı bir şekilde aynı hedefe ne kadar süre yönlendirmesi gerektiğini belirlemektir. Yapışkan oturumlar hedef grup düzeyinde etkinleştirilir. Tüm hedef gruplarınızda süreye dayalı yapışkanlık, uygulamaya dayalı yapışkanlık ve sıfır yapışkanlık kombinasyonunu kullanabilirsiniz.

Uygulama Yük Dengeleyiciler, VPC'de yerel İnternet Protokolü sürüm 6'yı (IPv6) destekler. Bu, istemcilerin IPv4 veya IPv6 aracılığıyla Uygulama Yük Dengeleyici'ye bağlanmasına imkan tanır.

Uygulama Yük Dengeleyici, yük dengeleyiciye gelen tüm isteklere "X-Amzn-Trace-Id" HTTP üst bilgisi şeklinde yeni bir özel tanımlayıcı ekler. İstek izleme; bir istek, web sitelerinizi ve dağıtılmış uygulamalarınızı oluşturan toplu trafikte dolaşırken isteği sahip olduğu benzersiz kimliği kullanarak izlemenize imkan tanır. Benzersiz izleme tanımlayıcısını kullanarak uygulama yığınınızdaki tüm performans veya zamanlama sorunlarını ayrıntı düzeyi tek tek istekler olacak şekilde ortaya çıkarabilirsiniz.

Application Load Balancer, gelen bir isteği bir URL’den başka bir URL’ye yönlendirebilir. Buna HTTP isteklerini HTTPS isteklerine yönlendirme özelliği de dahildir. Bu özellik, güvenli göz atmaya ilişkin mevzuat uyumluluğu hedefinizi yakalamanızın yanı sıra siteniz için daha iyi bir arama derecelendirmesi ve SSL/TLS puanı elde etmenize imkan tanır. Ayrıca, yeniden yönlendirmeleri kullanarak kullanıcıları farklı bir web sitesine (örneğin, bir uygulamanın eski bir sürümünden yeni sürümüne yönlendirme) yönlendirebilirsiniz

Application Load Balancer, uygulamalarınızın hangi istemci isteklerine yanıt vereceğini kontrol edebilir. Bu sayede, gelen istekleri uygulamaya yönlendirmeksizin HTTP hata yanıt kodlarıyla ve yük dengeleyicinin kendisinden gönderilen özel hata kodlarıyla yanıtlayabilirsiniz.

WebSockets, kullanıcıların sunucuya bir güncelleme için istek göndermesine (veya yoklamasına) gerek kalmadan sunucunun kullanıcılarla gerçek zamanlı mesaj alışverişi yapmasına imkan tanır. WebSockets protokolü, bir istemci ile bir sunucu arasında uzun süre çalışan bir TCP bağlantısı aracılığıyla iki yönlü iletişim kanalları sağlar.

Server Name Indication (SNI), bir istemcinin TLS anlaşmasının başında bağlanılacak konağın adını belirtmek için kullandığı bir TLS protokolü uzantısıdır. Yük dengeleyici aynı güvenli dinleyici aracılığıyla birden çok sertifika sunabilir. Bu sayede, tek bir güvenli dinleyiciyi kullanarak birden çok güvenli web sitesini destekleyebilir. Application Load Balancer’lar da SNI ile akıllı sertifika seçim algoritmasını destekler. Bir istemci tarafından belirtilen konak adı birden çok sertifikayla eşleşiyorsa, yük dengeleyici istemcinin özellikleri dahil olmak üzere birden çok etmeni hesaba katarak kullanılacak en iyi sertifikayı belirler.

AWS’de veya şirket içinde barındırılan herhangi bir uygulamanın yükünü, hedef olarak uygulama arka uçlarının IP adreslerini kullanarak dengeleyebilirsiniz. Bu sayede, herhangi bir IP adresinde ve bir bulut sunucusundaki herhangi bir arabirimde barındırılan bir uygulama arka ucunun yükü dengelenebilir. Aynı bulut sunucusunda barındırılan her uygulama, ilişkili bir güvenlik grubuna sahip olabilir ve aynı bağlantı noktasını kullanabilir. Şirket içi konumlarda barındırılan uygulamaların (bir Direct Connect veya VPN bağlantısı üzerinden), eşleştirilmiş VPC'nin ve EC2-Classic'in (ClassicLink'i kullanarak) yükünü dengelemek için de IP adreslerini hedef olarak kullanabilirsiniz. AWS'deki ve şirket içindeki kaynaklar arasında yük dengeleyebilme olanağı buluta geçmenize, bulutta ani performans artışı sağlamanıza ve buluta yük devretmenize yardımcı olur.

Uygulama Yük Dengeleyiciler, kullanıcıların sunucusuz uygulamalara web tarayıcıları dahil tüm HTTP istemcilerinden erişmesini sağlamak amacıyla HTTP(s) isteklerine yanıt vermek için Lambda işlevlerini çağırmayı destekler. Lambda işlevlerini bir yük dengeleyici için hedef olarak kaydedebilirsiniz ve istekleri farklı Lambda işlevlerine yönlendirmek için içerik tabanlı yönlendirme kuralı desteğinden faydalanabilirsiniz. Bir Uygulama Yük Dengeleyiciyi, sunucuları ve sunucusuz bilgi işlemi kullanan uygulamalar için ortak HTTP uç noktası olarak belirleyebilirsiniz. Lambda işlevlerini kullanarak tam kapsamlı bir web sitesi tasarlayabilir veya EC2 bulut sunucularını, container'ları, şirket içi sunucuları ve Lambda işlevlerini bir arada kullanarak uygulamalar oluşturabilirsiniz.

Uygulamanız birkaç ayrı hizmetten oluşuyorsa Uygulama Yük Dengeleyici; Ana Sunucu alanı, Yol URL'si, HTTP üst bilgisi, HTTP yöntemi, Sorgu dizesi veya Kaynak IP adresi gibi isteğin içeriğine dayalı olarak bir isteği bir hizmete yönlendirebilir.

Ana Sunucu Tabanlı Yönlendirme: Bir istemci isteğini HTTP üst bilgisinin Ana Sunucu alanına göre yönlendirebilir ve böylece aynı yük dengeleyiciden birçok etki alanına yönlendirme gerçekleştirebilirsiniz.

Yol Tabanlı Yönlendirme: Bir istemci isteğini HTTP üst bilgisinin URL yoluna göre yönlendirebilirsiniz.

HTTP üst bilgisi tabanlı yönlendirme: Bir istemci isteğini herhangi bir standart veya özel HTTP üst bilgisinin değerine göre yönlendirebilirsiniz.

HTTP yöntemi tabanlı yönlendirme: Bir istemci isteğini herhangi bir standart veya özel HTTP yöntemine göre yönlendirebilirsiniz.

Sorgu dizesi parametresi tabanlı yönlendirme: Bir istemci isteğini sorgu dizesi veya sorgu parametrelerine göre yönlendirebilirsiniz.

Kaynak IP adresi CIDR tabanlı yönlendirme: Bir istemci isteğini, isteğin geldiği kaynak IP adresi CIDR'sine göre yönlendirebilirsiniz.

Uygulama Yük Dengeleyici, tek bir Amazon EC2 bulut sunucusundaki birden çok bağlantı noktası arasında yük dengeleme uygulayarak gelişmiş container desteği sunar. Amazon Esnek Container Hizmeti (ECS) ile ayrıntılı entegrasyon, tam olarak yönetilen bir container teklifi sunar. ECS, ECS görev tanımında dinamik bir bağlantı noktası kullanarak container EC2 bulut sunucusunda zamanlandığında container'a kullanılmayan bir bağlantı noktası sunar. ECS zamanlayıcısı, bu bağlantı noktasını kullanarak görevi otomatik bir biçimde yük dengeleyiciye ekler.

Artık AWS WAF hizmetini kullanarak Application Load Balancer’larınızdaki web uygulamalarını koruyabilirsiniz. AWS WAF, web uygulamalarınızı uygulama erişilebilirliğini etkileyebilecek, güvenliği tehlikeye atabilecek veya aşırı kaynak kullanabilecek yaygın web açıklarına karşı korumanıza yardımcı olan bir web uygulaması güvenlik duvarıdır.

Uygulama Yük Dengeleyici, gidiş-dönüş yük dengeleme algoritmasını destekler. Uygulama Yük Dengeleyici ayrıca bir istek seli karşısında yetersiz kalmasına neden olmaksızın yeni hedefler eklemenize imkan tanıyan gidiş dönüş algoritmasına sahip bir yavaş başlangıç modunu destekler. Yavaş başlangıç modunda hedefler kendi paylarına düşen istekleri kabul etmeden önce sizin belirttiğiniz bir ısınma dönemi boyunca hazırlık yapar. Yavaş başlangıç, önbelleğe bağımlı olan ve isteklere en uygun performansla yanıt vermeden önce bir ısınma dönemine gereksinim duyan uygulamalar için çok yararlıdır.

Kimlik doğrulama işlevini uygulamalarınızdan Application Load Balancer’a taşıyabilirsiniz. Application Load Balancer, bulut uygulamalarına erişen kullanıcıların kimliğini güvenli bir şekilde doğrular. Application Load Balancer’ın Amazon Cognito ile sorunsuz entegrasyonu sayesinde son kullanıcılar Google, Facebook ve Amazon gibi sosyal kimlik sağlayıcılarının yanı sıra Microsoft Active Directory gibi kurumsal kimlik sağlayıcıları, SAML veya OpenID Connect ile uyumlu tüm kimlik sağlayıcıları (IdP) aracılığıyla kimliklerini doğrulayabilir. Zaten OpenID Connect ile uyumlu özel bir IdP çözümünüz varsa Uygulama Yük Dengeleyici doğrudan kimlik sağlayıcınıza bağlanarak da kurumsal kullanıcıların kimliğini doğrulayabilir.