Health checks og DNS-failover
Opsæt health checks for endpoints, beregnede health checks og CloudWatch-alarmer, så Route 53 automatisk dirigerer trafik væk fra usunde endpoints.
Health checks og DNS-failover er en gratis AWS Solutions Architect-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i AWS Solutions Architect, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. AWS Solutions Architect-kurset indeholder 4 lektioner i alt.
Hvad er Route 53-sundhedstjek?
Route 53-sundhedstjek overvåger løbende tilstanden for dine endpoints – webservere, load balancere eller ethvert HTTP-/HTTPS-/TCP-endpoint, der er tilgængeligt på internettet. På baggrund af resultaterne fra sundhedstjek kan Route 53 automatisk opdatere DNS-routing for at undgå at sende trafik til ressourcer, der ikke er sunde.
Der opkræves betaling pr. sundhedstjek pr. måned. Route 53's globale sundhedstjekkere, som er placeret i flere Regions, sonderer dit endpoint samtidigt, hvilket giver redundans i selve sundhedstjekket. Et endpoint anses kun for at være usundt, når et tærskelantal af tjekkerne er enige om, at det er mislykket.
Sundhedstjek af endpoints
Sundhedstjek af endpoints overvåger en bestemt IP-adresse eller et domænenavn med den protokol, port og eventuelle sti, du vælger (HTTP, HTTPS eller TCP). Ved HTTP-/HTTPS-tjek kontrollerer Route 53, at endpointet returnerer en HTTP-statuskode i området 2xx eller 3xx inden for timeoutperioden. Ved HTTPS-tjek kan TLS-certifikatet valideres som en valgmulighed.
Vigtige konfigurationsmuligheder: anmodningsinterval (10 eller 30 sekunder – 10 sekunder giver hurtigere registrering, men koster mere), fejltærskel (1-10 på hinanden følgende fejl, før endpointet markeres som usundt) og strengmatchning (kontroller eventuelt, at svarlegemet indeholder en bestemt streng).
# 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
}'Beregnet sundhedstjek
Beregnet sundhedstjek kombinerer resultaterne fra flere underordnede sundhedstjek ved hjælp af boolsk logik (AND, OR, NOT). Det gør det muligt at definere applikationens tilstand ud fra flere signaler uden at oprette komplekse routingkæder.
Eksempel: En webapplikation er kun sund, hvis både tjekket af API-serveren OG tjekket af databasen lykkes. Opret et beregnet sundhedstjek med typen AND, som refererer til begge endpoint-tjek. Hvis et af dem mislykkes, mislykkes det beregnede sundhedstjek, og Route 53 fjerner den tilknyttede DNS-post fra svarene.
# 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
}'Sundhedstjek baseret på CloudWatch-alarmer
Sundhedstjek baseret på CloudWatch-alarmer knytter et Route 53-sundhedstjek til tilstanden for en CloudWatch-alarm. Hvis alarmen er i tilstanden ALARM, markeres sundhedstjekket som usundt. Hvis den er i tilstanden OK eller INSUFFICIENT_DATA, markeres det som sundt.
Dette mønster er effektivt for endpoints inde i en VPC, som ikke kan nås af Route 53's eksterne sundhedstjekkere. I stedet for at sondere det private endpoint opretter du CloudWatch-metrikker og alarmer for det og baserer derefter Route 53-sundhedstjekket på alarmens tilstand. Det gør det også muligt at udføre sundhedstjek baseret på forretningsmetrikker som fejlfrekvens eller kødybde.
# 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"
}'Sundhedstjek af private endpoints
Route 53-sundhedstjekkere er AWS-administrerede servere uden for din VPC, som når endpoints via det offentlige internet. Ressourcer i private undernet kan ikke nås med almindelige endpoint-sundhedstjek. For private endpoints kan du bruge en af disse metoder:
- Publicér en tilpasset CloudWatch-metrik fra VPC'en (f.eks. et signal om succes eller fejl fra applikationen), opret en alarm, og brug et sundhedstjek baseret på en CloudWatch-alarm
- Brug en sammensat CloudWatch-alarm, der samler ELB-, RDS- eller applikationsmetrikker i VPC'en
Dette mønster er afgørende for databaser i private undernet, interne load balancere og backend-tjenester.
Status og overvågning af sundhedstjek
Du kan se status for sundhedstjek i Route 53-konsollen under Health Checks eller hente den via API'et. Route 53 publicerer sundhedstjekmetrikker til CloudWatch i navneområdet AWS/Route53, herunder HealthCheckStatus (1 = sund, 0 = usund) og HealthCheckPercentageHealthy (procentdelen af Route 53-tjekkere, der rapporterer endpointet som sundt).
Opsæt CloudWatch-alarmer på HealthCheckStatus for at modtage SNS-notifikationer, når et endpoint bliver usundt. Så får du indsigt, før dit vagtteam opdager, at DNS-failoveret allerede er sket.
# Get health check status
aws route53 get-health-check-status \
--health-check-id a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
--query 'CheckerIpRanges'DNS-failover med failover-routing
Når Route 53 registrerer, at sundhedstjekket for en primær post er mislykkedes, fjerner tjenesten den primære post fra DNS-svarene og returnerer den sekundæres adresse. Dette kaldes DNS-failover. Skiftet sker inden for evalueringsperioden (antallet af fejl fra sundhedstjekkere ganget med anmodningsintervallet) plus postens TTL.
Eksempel: Anmodningsinterval = 30 s, fejltærskel = 3, TTL = 60 s. Den værst tænkelige failover-tid er cirka 3 × 30 + 60 = 150 sekunder. Hvis du angiver en lavere TTL (f.eks. 10 sekunder) og et hurtigere sundhedstjekinterval (10 s), kan tiden reduceres til 3 × 10 + 10 = 40 sekunder.
Sundhedstjek for vægtede poster og poster med latenstid
Sundhedstjek kan også knyttes til vægtede poster og poster med latenstid, ikke kun failover-poster. Når sundhedstjekket for en vægtet post mislykkes, omfordeler Route 53 postens trafikvægt proportionalt mellem sunde vægtede poster. Når sundhedstjekket for en post med latenstid mislykkes, dirigerer Route 53 forespørgsler til den næste sunde post med den laveste latenstid.
Det gør vægtet routing og routing efter latenstid modstandsdygtig over for endpoint-fejl uden krav om eksplicitte failover-poster. Det er et almindeligt SAA-C03-mønster: Routing efter latenstid på tværs af Regions med sundhedstjek giver både ydeevneoptimering og automatisk katastrofegendannelse.
Aktiv-aktiv i flere Regions med sundhedstjek
Et modstandsdygtigt aktiv-aktiv-mønster i flere Regions ved hjælp af Route 53:
- Opret poster med latenstid for hver Region (us-east-1, eu-west-1, ap-southeast-1), hver med et sundhedstjek
- Når alle Regions er sunde, dirigeres brugerne til den Region, der har den laveste latenstid
- Hvis sundhedstjekket for en Region mislykkes (applikationen er nede eller svarer ikke), fjerner Route 53 den automatisk fra DNS-svarene og dirigerer forespørgsler til den næstbedste sunde Region
- Når den fejlramte Region kommer sig, lykkes sundhedstjekket, og Route 53 føjer den tilbage til rotationen
Det giver automatisk globalt failover med optimeret ydeevne – uden behov for manuel indgriben.
IP-intervaller for Route 53-sundhedstjekkere
Route 53-sundhedstjekkere kommer fra et sæt offentliggjorte IP-intervaller i sektionen ROUTE53_HEALTHCHECKS i AWS' JSON-fil med IP-intervaller. Hvis dit endpoint er beskyttet af en firewall eller sikkerhedsgruppe, der begrænser indgående adgang, skal du tillade trafik fra disse IP-intervaller, for at sundhedstjek kan lykkes.
Du kan også bruge et offentligt tilgængeligt endpoint, der fungerer som proxy til din private backend (f.eks. en ALB), til sundhedstjek. ALB'ens sikkerhedsgruppe behøver kun at tillade Route 53's IP-intervaller, mens backendens sikkerhedsgruppe kun tillader ALB'ens sikkerhedsgruppe. Dermed bevares en tilgang med forsvar i dybden.
# 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))
"Bedste praksis for sundhedstjek
Bedste praksis for Route 53-sundhedstjek:
- Opret et dedikeret /health-endpoint, der tjekker alle kritiske afhængigheder (databaseforbindelse og adgang til cache) og kun returnerer 200, når alt fungerer korrekt
- Brug et anmodningsinterval på 10 sekunder for kritiske produktionsendpoints, så fejl registreres hurtigere
- Overvåg
HealthCheckPercentageHealthyi CloudWatch – en delvis fejl (hvor nogle, men ikke alle, Route 53-tjekkere fejler) kan være tegn på et regionalt netværksproblem eller et periodisk problem - For private ressourcer i en VPC skal du bruge sundhedstjek baseret på CloudWatch-alarmer ud fra applikationsmetrikker
- Test failover i ikke-produktionsmiljøer, før du stoler på det i produktion
Hurtigt tjek
Test din forståelse af AWS Solutions Architect-konceptet (SAA-C03) fra denne lektion.
Opsummering af lektionen
I denne lektion lærte du: sundhedstjek af endpoints sonderer HTTP/HTTPS/TCP fra eksterne Route 53-tjekkere, sundhedstjek baseret på CloudWatch-alarmer muliggør overvågning af private VPC-ressourcer, og beregnede sundhedstjek kombinerer flere signaler med boolsk logik. DNS-failoverets hastighed afhænger af sundhedstjekintervallet, fejltærsklen og TTL. Næste emne er CloudFront-distributioner og oprindelsesservere.
Lær AWS Solutions Architect med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “Health checks og DNS-failover” gratis?
Ja — alle 3 lektioner i læringssporet AWS Solutions Architect, inklusive “Health checks og DNS-failover”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. AWS Solutions Architect-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Health checks og DNS-failover”?
Opsæt health checks for endpoints, beregnede health checks og CloudWatch-alarmer, så Route 53 automatisk dirigerer trafik væk fra usunde endpoints. Du øver dig i AWS Solutions Architect med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på AWS Solutions Architect?
Der kræves ingen tidligere erfaring. AWS Solutions Architect på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “Health checks og DNS-failover”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne AWS Solutions Architect-lektion?
Ja. Alle AWS Solutions Architect-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Hosted zones og DNS-recordtyper
- Routingpolitikker: Simple, Weighted og Latency
- Failover- og geolokaliseringsrouting
- Health checks og DNS-failover