Hedef Grupları ve Sağlık Kontrolleri
EC2 örneklerini, IP adreslerini veya Lambda işlevlerini hedef olarak kaydedecek ve sağlık kontrolü yollarını, eşiklerini ve aralıklarını yapılandıracaksınız.
Hedef Grupları ve Sağlık Kontrolleri, CoddyKit'te ücretsiz bir AWS Solutions Architect dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AWS Solutions Architect öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AWS Solutions Architect kursu toplamda 4 dersten oluşur.
Hedef Grupları Nedir?
Bir hedef grubu, yük dengeleyicinin istekleri yönlendirdiği hedeflerin mantıksal bir koleksiyonudur. Her hedef grubunda bir hedef türü, bir protokol/bağlantı noktası ve bir sistem durumu denetimi yapılandırması bulunur. Yük dengeleyici, istekleri hedef grubunda kayıtlı ve sistem durumu denetimlerini geçen hedeflere dağıtır.
Hedef grupları, dinleyici kuralları aracılığıyla yük dengeleyici dinleyicileriyle ilişkilendirilir. Bir dinleyici, istek özniteliklerine göre birden çok hedef grubuna yönlendirme yapabilir. Bu, ALB'deki yol tabanlı ve ana bilgisayar tabanlı yönlendirmenin temel mekanizmasıdır.
# Create a target group for an ALB
aws elbv2 create-target-group \
--name my-web-targets \
--protocol HTTP \
--port 80 \
--vpc-id vpc-12345678 \
--target-type instance \
--health-check-path /health \
--health-check-interval-seconds 30Hedef Türleri: Instance, IP, Lambda
Hedef grupları üç hedef türünü destekler:
- instance: örnek kimliğine göre EC2 bulut sunucularına yönlendirme yapar; yük dengeleyici trafiği, belirtilen bağlantı noktasındaki bulut sunucusunun birincil ağ arayüzüne gönderir
- ip: özel IP adreslerine yönlendirme yapar; kapsayıcılardaki (ECS/EKS), VPN/Direct Connect üzerinden erişilebilen şirket içi sunuculardaki veya EC2 bulut sunucularının ikincil IP'lerindeki hedefler için kullanışlıdır
- lambda: tek bir Lambda işlevine yönlendirme yapar (yalnızca ALB); ALB, HTTP isteğini JSON olayına dönüştürür ve işlevi eş zamanlı olarak çağırır
ECS görevlerinde awsvpc ağ modu kullanıldığında (her görev kendi IP'sini alır), EKS pod'larında ve şirket içi hedeflerin bulunduğu hibrit mimarilerde IP hedef türü gereklidir.
Hedefleri Kaydetme
Hedefleri bir hedef grubuna manuel olarak (konsolda veya CLI ile) ya da otomatik olarak (Auto Scaling Group ilişkilendirmesi veya ECS hizmeti yapılandırması aracılığıyla) kaydedebilirsiniz. Manuel olarak kaydedilen hedefler, siz açıkça kaydını kaldırana kadar grupta kalır.
ASG'ler için ASG'yi bir hedef grubuna bağlarsınız; ASG de yeni başlatılan bulut sunucularını otomatik olarak kaydeder ve sonlandırılanların kaydını kaldırır. ASG ile bu sıkı tümleşme, esnek işlem katmanları için standart yaklaşımdır: yeni bulut sunucuları kullanıma gelir ve sağlık denetimini geçer geçmez trafik almaya başlar.
# Register EC2 instances with a target group
aws elbv2 register-targets \
--target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-web-targets/abc123 \
--targets Id=i-1234567890abcdef0 Id=i-0987654321fedcba0
# Register IP targets (for containers/ECS awsvpc)
aws elbv2 register-targets \
--target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-ip-targets/def456 \
--targets Id=10.0.0.5,Port=8080 Id=10.0.0.6,Port=8080Sağlık Denetimi Yapılandırması
Her hedef grubuyla ilişkilendirilmiş bir sağlık denetimi vardır. Yük dengeleyici, bir hedefin sağlıklı olup olmadığını ve trafik almaya uygun bulunup bulunmadığını belirlemek için bu denetimi kullanır. Sağlık denetimi her hedefe düzenli aralıklarla istek gönderir ve yanıtı değerlendirir:
- Protokol: HTTP, HTTPS veya TCP (NLB için)
- Yol: istenecek URL yolu (örneğin
/healthveya/ping) - Port: denetlenecek port (varsayılan olarak hedef grubu portu)
- Sağlıklı eşiği: sağlıklı olarak işaretlenmeden önce gereken ardışık başarı sayısı
- Sağlıksız eşiği: sağlıksız olarak işaretlenmeden önce gereken ardışık başarısızlık sayısı
- Aralık: sağlık denetimleri arasındaki saniye sayısı (5–300)
- Zaman aşımı: yanıt için beklenecek saniye sayısı
Sağlık Denetimi Başarı Kodları
HTTP/HTTPS sağlık denetimleri için hangi HTTP yanıt kodlarının sağlıklı bir hedefe işaret ettiğini belirtirsiniz. Varsayılan değer 200'dür; ancak 200-299 gibi aralıklar veya 200,301,302 gibi virgülle ayrılmış değerler yapılandırabilirsiniz.
En iyi uygulama: uygulamanızda, yalnızca tüm kritik bağımlılıklar kullanılabilir olduğunda (veritabanı bağlantısı, önbellek, aşağı akış hizmeti) 200 döndüren özel bir /health uç noktası oluşturun. Pahalı işlemler gerçekleştiriyor veya kimlik doğrulaması gerektiriyorsa kök URL'yi (/) sağlık denetimi yolu olarak kullanmayın.
# Modify health check to accept 200-299
aws elbv2 modify-target-group \
--target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-web-targets/abc123 \
--health-check-path /health \
--matcher HttpCode=200-299 \
--healthy-threshold-count 2 \
--unhealthy-threshold-count 3 \
--health-check-interval-seconds 15Hedef Durumları: İlk, Sağlıklı, Sağlıksız
Bir hedef, kaydedildikten sonra aşağıdaki durumlardan geçer:
- initial: ELB ilk sağlık denetimlerini gerçekleştiriyor
- healthy: gereken ardışık sağlık denetimlerini geçti; trafik alıyor
- unhealthy: gereken ardışık sağlık denetimlerini geçemedi; dağıtımdan çıkarıldı
- draining: kayıt kaldırma işlemi devam ediyor; mevcut bağlantıların tamamlanmasına izin veriliyor ancak yeni bağlantılar gönderilmiyor
- unused: gruba kaydedilmiş ancak hiçbir dinleyici kuralı şu anda bu gruba yönlendirme yapmıyor
Hedef filonuzdaki sorunları tespit etmek için UnHealthyHostCount ve HealthyHostCount CloudWatch ölçümlerini izleyin.
Kayıt Kaldırma Gecikmesi (Bağlantıların Sonlandırılması)
Kayıt kaldırma gecikmesi (önceden bağlantıların sonlandırılması olarak adlandırılırdı), bir hedefin kaydını tamamen kaldırmadan önce mevcut bağlantıların tamamlanması için ELB'nin beklediği süredir. Varsayılan değer 300 saniyedir (5 dakika). Bu süre boyunca kayıt kaldırılan hedefe yeni istek gönderilmez; ancak işlem hâlindeki isteklerin tamamlanmasına izin verilir.
Hızlı dağıtımlar ve otomatik ölçeklendirme kapsamında sonlandırmalar için, uygulamanız istekleri hızlı işliyorsa bu süreyi 30–60 saniyeye düşürmek isteyebilirsiniz. Uzun süren işlemler (dosya yüklemeleri, video işleme) için, bu işlemlerin kesintiye uğramadan tamamlanmasına yetecek kadar uzun bir süre belirleyin.
# Reduce deregistration delay to 30 seconds
aws elbv2 modify-target-group-attributes \
--target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-web-targets/abc123 \
--attributes Key=deregistration_delay.timeout_seconds,Value=30Yük Dengeleme Algoritmaları
Hedef grupları farklı yük dengeleme algoritmalarını destekler:
- Sırayla dağıtım (ALB varsayılanı): istekler dönüşümlü olarak eşit dağıtılır; tüm hedeflerin eşdeğer olduğu durumlar için en uygunudur
- En az bekleyen istek (ALB): her yeni istek, işlem hâlindeki istek sayısı en az olan hedefe gönderilir; bazı isteklerin diğerlerinden daha uzun sürdüğü değişken uzunluktaki iş yükleri için daha uygundur
- Akış karması (NLB): protokole, kaynak/hedef IP adresine, kaynak/hedef portuna ve TCP sıra numarasına göre dağıtım yapar; bir TCP/UDP akışındaki tüm paketlerin aynı hedefe gitmesini sağlar
Tüm isteklerin aynı hedefe ulaşması gereken oturum tabanlı uygulamalarda, sırayla dağıtıma güvenmek yerine yapışkan oturumları etkinleştirin.
Birden Çok Hedef Grubu ve Ağırlıklı Yönlendirme
Tek bir ALB dinleyici kuralı, trafiği ağırlıklı hedef grupları arasında dağıtabilir. Örneğin, mavi-yeşil dağıtımlar için Route 53 ağırlıklı yönlendirmesini kullanmadan trafiğin %90'ını kararlı bir hedef grubuna, %10'unu ise canary hedef grubuna yönlendirebilirsiniz.
Ağırlıklı hedef grupları dinleyici kuralı düzeyinde yapılandırılır. Ağırlıklar görecelidir: 90/10 oranı, trafiğin %90'ını ilk gruba, %10'unu ikinci gruba gönderir. Bu, birden çok ALB arasındaki ağırlıklı yönlendirmeden farklıdır; burada işlem tek bir ALB dinleyici kuralının içinde gerçekleşir.
Hedef Grupları ve ECS Tümleşmesi
ECS hizmetlerini bir ALB'nin arkasına dağıtırken her ECS görevi, IP hedef türü kullanılarak ALB hedef grubuna kaydedilir (awsvpc ağ modu için). ECS hizmeti, kayıt ve kayıt kaldırma işlemlerini otomatik olarak yönetir: yeni görevler sağlık denetimlerini geçtikten sonra kaydedilir; durdurulan görevlerde ise sonlandırmadan önce kayıt kaldırma gecikmesi uygulanır.
Her ECS hizmeti belirli bir port geçersiz kılma değeriyle kaydolabilir. Böylece farklı hedef grupları kullanan farklı dinleyici kurallarıyla (yol tabanlı veya ana bilgisayar tabanlı) birden çok ECS hizmeti tek bir ALB'yi paylaşabilir; bu, mikro hizmetlerde yaygın bir yaklaşımdır.
NLB Sağlık Denetimleri
NLB sağlık denetimlerinin davranışı ALB'den farklıdır:
- NLB, dinleyici protokolünden bağımsız olarak TCP, HTTP ve HTTPS sağlık denetimi protokollerini destekler
- NLB sağlık denetimleri her AZ'deki NLB IP adreslerinden gönderilir; güvenlik gruplarının NLB alt ağ IP'lerinden gelen trafiğe izin verdiğinden emin olun veya NLB'nin güvenlik grubunu kullanın
- TCP sağlık denetimlerinde NLB, belirtilen portta TCP bağlantısını kabul eden hedefi sağlıklı kabul eder
- Sağlık denetimlerini geçemeyen NLB hedefleri AZ başına kaldırılır; bir AZ'deki tüm hedefler sağlıksızsa NLB, çapraz bölge yük dengeleme etkin durumdaysa diğer AZ'lerdeki sağlıklı hedeflere çapraz bölge yük dengelemesi yapabilir
Hızlı Kontrol
Bu derste ele alınan AWS Solutions Architect (SAA-C03) kavramlarını anlayıp anlamadığınızı test edin.
Ders Özeti
Bu derste şunları öğrendiniz: hedef grupları, instance, IP veya Lambda türündeki sağlıklı ve kayıtlı hedefleri içerir; sağlık denetimleri, sağlıksız hedefleri dağıtımdan çıkarmak için hedefleri düzenli aralıklarla denetler; kayıt kaldırma gecikmesi, hedef kaldırılmadan önce işlem hâlindeki isteklerin bağlantılarının düzgün biçimde sonlandırılmasını sağlar. Sırada ALB üzerinde dinleyici kurallarını ve yol tabanlı yönlendirmeyi inceleyeceğiz.
Sıkça Sorulan Sorular
“Hedef Grupları ve Sağlık Kontrolleri” dersi ücretsiz mi?
Evet — “Hedef Grupları ve Sağlık Kontrolleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AWS Solutions Architect kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AWS Solutions Architect kursu toplamda 4 dersten oluşur.
“Hedef Grupları ve Sağlık Kontrolleri” dersinde ne öğreneceğim?
EC2 örneklerini, IP adreslerini veya Lambda işlevlerini hedef olarak kaydedecek ve sağlık kontrolü yollarını, eşiklerini ve aralıklarını yapılandıracaksınız. AWS Solutions Architect ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
AWS Solutions Architect öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te AWS Solutions Architect, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Hedef Grupları ve Sağlık Kontrolleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu AWS Solutions Architect dersinde kod yazıp çalıştırabilir miyim?
Evet. Her AWS Solutions Architect dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- ALB ve NLB ve GLB: Hangisi Ne Zaman Kullanılır
- Hedef Grupları ve Sağlık Kontrolleri
- Dinleyici Kuralları ve Yol Tabanlı Yönlendirme
- SSL Sonlandırma ve Yapışkan Oturumlar