Sağlık Kontrolleri ve DNS Yük Devretme
Route 53'ün trafiği sağlıksız uç noktalardan otomatik olarak uzaklaştırması için uç nokta, hesaplanmış ve CloudWatch alarmı sağlık kontrollerini kuracaksınız.
Sağlık Kontrolleri ve DNS Yük Devretme, CoddyKit'te ücretsiz bir AWS Solutions Architect dersidir. Bu, 4 dersinin 4. 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.
Route 53 Sağlık Denetimleri Nedir?
Route 53 sağlık denetimleri, uç noktalarınızın (web sunucuları, yük dengeleyiciler veya internette erişilebilen herhangi bir HTTP/HTTPS/TCP uç noktası) durumunu sürekli olarak izler. Route 53, sağlık denetimi sonuçlarına göre trafiği sağlıksız kaynaklara göndermemek için DNS yönlendirmesini otomatik olarak güncelleyebilir.
Sağlık denetimleri, denetim başına aylık olarak ücretlendirilir. Route 53'ün birden çok Region'da bulunan küresel sağlık denetleyicileri, uç noktanızı aynı anda yoklayarak sağlık denetiminin kendisinde yedeklilik sağlar. Bir uç nokta, yalnızca belirli bir sayıdaki denetleyici başarısız olduğunu doğruladığında sağlıksız kabul edilir.
Uç Noktası Sağlık Denetimleri
Uç noktası sağlık denetimleri, seçtiğiniz protokolü (HTTP, HTTPS veya TCP), Port'u ve isteğe bağlı yolu kullanarak belirli bir IP adresini veya alan adını izler. HTTP/HTTPS denetimlerinde Route 53, uç noktanın zaman aşımı süresi içinde 2xx veya 3xx HTTP durum kodu döndürdüğünü doğrular. HTTPS denetimlerinde isteğe bağlı olarak TLS sertifikası doğrulanır.
Temel yapılandırma seçenekleri şunlardır: request interval (10 veya 30 saniye; 10 saniye daha hızlı algılama sağlar ancak maliyeti daha yüksektir), failure threshold (sağlıksız olarak işaretlenmeden önceki ardışık başarısızlık sayısı, 1–10) ve string matching (yanıt gövdesinin belirli bir dize içerdiğini isteğe bağlı olarak doğrular).
# Create an HTTP health check
aws route53 create-health-check \
--caller-reference hc-2026-06-20 \
--health-check-config '{
"Type": "HTTP",
"IPAddress": "54.100.1.1",
"Port": 80,
"ResourcePath": "/health",
"FailureThreshold": 3,
"RequestInterval": 30
}'Hesaplanmış Sağlık Denetimleri
Hesaplanmış sağlık denetimleri, birden çok alt sağlık denetiminin sonuçlarını Boolean mantığı (AND, OR, NOT) kullanarak birleştirir. Karmaşık yönlendirme zincirleri oluşturmadan, birden çok sinyale dayalı uygulama düzeyinde sağlık durumu tanımlamanızı sağlar.
Örnek: Bir web uygulaması yalnızca hem API sunucusu denetimi hem de veritabanı denetimi başarılı olursa sağlıklıdır. Her iki uç noktası denetimine başvuran, türü AND olan bir hesaplanmış sağlık denetimi oluşturun. Denetimlerden biri başarısız olursa hesaplanmış sağlık denetimi de başarısız olur ve Route 53, ilişkili DNS kaydını yanıtlardan kaldırır.
# Create a calculated health check (AND of two child checks)
aws route53 create-health-check \
--caller-reference hc-calc-2026 \
--health-check-config '{
"Type": "CALCULATED",
"ChildHealthChecks": [
"hc-api-id",
"hc-db-id"
],
"HealthThreshold": 2
}'CloudWatch Alarm Sağlık Denetimleri
CloudWatch alarm sağlık denetimleri, bir Route 53 sağlık denetimini bir CloudWatch alarmının durumuna bağlar. Alarm ALARM durumundaysa sağlık denetimi sağlıksız olarak işaretlenir; OK veya INSUFFICIENT_DATA durumundaysa sağlıklı olarak işaretlenir.
Bu yaklaşım, bir VPC içindeki (Route 53'ün harici sağlık denetleyicileri tarafından erişilemeyen) uç noktalar için oldukça kullanışlıdır. Özel uç noktayı doğrudan yoklamak yerine, bu uç nokta için CloudWatch ölçümleri ve alarmları oluşturur, ardından Route 53 sağlık denetimini alarm durumuna dayandırırsınız. Böylece hata oranı veya kuyruk derinliği gibi iş metriklerine dayalı sağlık denetimi de mümkün olur.
# Create a health check based on a CloudWatch alarm
aws route53 create-health-check \
--caller-reference hc-cw-2026 \
--health-check-config '{
"Type": "CLOUDWATCH_METRIC",
"AlarmIdentifier": {
"Region": "us-east-1",
"Name": "HighErrorRate-Alarm"
},
"InsufficientDataHealthStatus": "Healthy"
}'Özel Uç Nokta Sağlık Denetimleri
Route 53 sağlık denetleyicileri, VPC'nizin dışında bulunan ve uç noktalara genel internet üzerinden erişen AWS tarafından yönetilen sunuculardır. Özel alt ağlardaki kaynaklara standart uç noktası sağlık denetimleriyle erişilemez. Özel uç noktalar için aşağıdaki yaklaşımlardan birini kullanın:
- VPC içinden özel bir CloudWatch ölçümü yayımlayın (örneğin uygulamadan gelen bir başarı/başarısızlık sinyali), bir alarm oluşturun ve CloudWatch alarm sağlık denetimi kullanın
- VPC içindeki ELB, RDS veya uygulama ölçümlerini bir araya getiren bir CloudWatch bileşik alarmı kullanın
Bu yaklaşım, özel alt ağlardaki veritabanları, dahili yük dengeleyiciler ve arka uç hizmetleri için kritik öneme sahiptir.
Sağlık Denetimi Durumu ve İzleme
Sağlık denetimi durumunu Route 53 konsolunda Health Checks altında görüntüleyebilir veya API aracılığıyla sorgulayabilirsiniz. Route 53, AWS/Route53 ad alanında CloudWatch'a sağlık denetimi ölçümleri yayımlar. Bunlar arasında HealthCheckStatus (1 = sağlıklı, 0 = sağlıksız) ve HealthCheckPercentageHealthy (uç noktayı sağlıklı bildiren Route 53 denetleyicilerinin yüzdesi) bulunur.
Bir uç nokta sağlıksız duruma geçtiğinde SNS bildirimleri almak için HealthCheckStatus üzerinde CloudWatch alarmları kurun. Böylece nöbetçi ekibiniz DNS yük devretmenin gerçekleştiğini fark etmeden önce durumu görebilirsiniz.
# Get health check status
aws route53 get-health-check-status \
--health-check-id a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
--query 'CheckerIpRanges'Yük Devretme Yönlendirmesiyle DNS Yük Devretme
Route 53, bir Primary kaydının sağlık denetiminin başarısız olduğunu algıladığında Primary'yi DNS yanıtlarından kaldırır ve Secondary'nin adresini döndürür. Buna DNS yük devretme denir. Geçiş, değerlendirme süresi (sağlık denetleyicisi başarısızlıklarının sayısı × request interval) ile kaydın TTL değerinin toplamı içinde gerçekleşir.
Örnek: request interval = 30 sn, failure threshold = 3, TTL = 60 sn. En kötü durumda yük devretme süresi yaklaşık olarak 3 × 30 + 60 = 150 saniyedir. Daha düşük bir TTL (ör. 10 saniye) ve daha hızlı bir sağlık denetimi aralığı (10 sn), bu süreyi 3 × 10 + 10 = 40 saniyeye indirebilir.
Ağırlıklı ve Gecikme Kayıtları için Sağlık Denetimleri
Sağlık denetimleri yalnızca Failover kayıtlarıyla değil, Weighted ve Latency kayıtlarıyla da ilişkilendirilebilir. Bir Weighted kaydının sağlık denetimi başarısız olduğunda Route 53, bu kayda ait trafik ağırlığını sağlıklı ağırlıklı kayıtlar arasında orantılı olarak yeniden dağıtır. Bir Latency kaydının sağlık denetimi başarısız olduğunda Route 53, sorguları gecikmesi en düşük bir sonraki sağlıklı kayda yönlendirir.
Bu sayede Weighted ve Latency yönlendirme ilkeleri, açık Failover kayıtları gerektirmeden uç noktası arızalarına dayanıklı hâle gelir. Bu, yaygın bir SAA-C03 yaklaşımıdır: Sağlık denetimleriyle Region'lar arasında Latency yönlendirmesi hem performans iyileştirmesi hem de otomatik olağanüstü durum kurtarma sağlar.
Sağlık Denetimleriyle Etkin-Etkin Çok Bölgeli Yapı
Route 53 kullanan dayanıklı, çok bölgeli etkin-etkin yapı:
- Her Region için (us-east-1, eu-west-1, ap-southeast-1) sağlık denetimine sahip Latency kayıtları oluşturun
- Tüm Region'lar sağlıklı olduğunda kullanıcılar gecikmesi en düşük Region'a yönlendirilir
- Bir Region'ın sağlık denetimi başarısız olursa (uygulama kapalıysa veya yanıt vermiyorsa) Route 53 bu Region'ı DNS yanıtlarından otomatik olarak kaldırır ve sorguları sonraki en iyi sağlıklı Region'a yönlendirir
- Başarısız olan Region kurtarıldığında sağlık denetimi başarılı olur ve Route 53 bu Region'ı rotasyona yeniden ekler
Bu yapı, manuel müdahale gerektirmeden performans iyileştirmesiyle birlikte otomatik küresel yük devretme sağlar.
Route 53 Sağlık Denetleyicileri için IP Aralıkları
Route 53 sağlık denetleyicileri, AWS IP aralıkları JSON dosyasının ROUTE53_HEALTHCHECKS bölümünde yayımlanan bir IP aralığı kümesinden kaynaklanır. Uç noktanız gelen erişimi kısıtlayan bir güvenlik duvarı veya güvenlik grubuyla korunuyorsa, sağlık denetimlerinin başarılı olması için bu IP aralıklarından gelen trafiğe izin vermelisiniz.
Alternatif olarak sağlık denetimi için özel arka ucunuza proxy görevi gören, genel erişime açık bir uç nokta (örneğin ALB) kullanabilirsiniz. ALB'nin güvenlik grubunun yalnızca Route 53 IP aralıklarına izin vermesi gerekir; arka ucun güvenlik grubu ise yalnızca ALB'nin güvenlik grubuna izin verir. Böylece savunma derinliği yaklaşımı korunur.
# Fetch Route 53 health checker IP ranges
curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | \
python3 -c "
import json,sys
data=json.load(sys.stdin)
ranges=[p['ip_prefix'] for p in data['prefixes'] if p['service']=='ROUTE53_HEALTHCHECKS']
print('\n'.join(ranges))
"Sağlık Denetimi için En İyi Uygulamalar
Route 53 sağlık denetimleri için en iyi uygulamalar:
- Tüm kritik bağımlılıkları (veritabanı bağlantısı, önbelleğe erişilebilirlik) denetleyen ve yalnızca tamamen çalışır durumdayken 200 döndüren özel bir /health uç noktası oluşturun
- Arızaları daha hızlı algılamak için kritik üretim uç noktalarında 10 saniyelik request interval kullanın
- CloudWatch'ta
HealthCheckPercentageHealthydeğerini izleyin; kısmi bir arıza (Route 53 denetleyicilerinin bazılarının başarısız olması) bölgesel bir ağ sorununa veya aralıklı bir probleme işaret edebilir - VPC-özel kaynaklar için uygulama ölçümlerine dayalı CloudWatch alarm sağlık denetimleri kullanın
- Üretimde güvenmeden önce yük devretmeyi üretim dışı ortamlarda test edin
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: uç noktası sağlık denetimleri, harici Route 53 denetleyicilerinden HTTP/HTTPS/TCP yoklamaları gerçekleştirir; CloudWatch alarm sağlık denetimleri, özel VPC kaynaklarının izlenmesini sağlar ve hesaplanmış sağlık denetimleri, Boolean mantığıyla birden çok sinyali birleştirir. DNS yük devretme hızı; sağlık denetimi aralığına, failure threshold değerine ve TTL'ye bağlıdır. Sırada CloudFront dağıtımlarını ve kaynaklarını inceleyeceğiz.
Sıkça Sorulan Sorular
“Sağlık Kontrolleri ve DNS Yük Devretme” dersi ücretsiz mi?
Evet — “Sağlık Kontrolleri ve DNS Yük Devretme” 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.
“Sağlık Kontrolleri ve DNS Yük Devretme” dersinde ne öğreneceğim?
Route 53'ün trafiği sağlıksız uç noktalardan otomatik olarak uzaklaştırması için uç nokta, hesaplanmış ve CloudWatch alarmı sağlık kontrollerini kuracaksı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 4. dersidir.
“Sağlık Kontrolleri ve DNS Yük Devretme” 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
- Barındırılan Alanlar ve DNS Kayıt Türleri
- Yönlendirme İlkeleri: Basit, Ağırlıklı ve Gecikmeye Dayalı
- Yük Devretme ve Coğrafi Konum Yönlendirmesi
- Sağlık Kontrolleri ve DNS Yük Devretme