Hosted Zone erstellen
# Neue Hosted Zone (öffentlich)
ZONE_ID=$(aws route53 create-hosted-zone --name firma.de --caller-reference $(date +%s) --query 'HostedZone.Id' --output text)
# Name Server anzeigen (in Domain-Registrar eintragen!)
aws route53 get-hosted-zone --id $ZONE_ID --query 'DelegationSet.NameServers'
DNS-Records erstellen
cat > dns-changes.json << 'EOF'
{
"Changes": [
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "www.firma.de",
"Type": "A",
"TTL": 300,
"ResourceRecords": [{"Value": "1.2.3.4"}]
}
},
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "mail.firma.de",
"Type": "MX",
"TTL": 3600,
"ResourceRecords": [{"Value": "10 mail-server.firma.de"}]
}
}
]
}
EOF
aws route53 change-resource-record-sets --hosted-zone-id $ZONE_ID --change-batch file://dns-changes.json
Health Checks
# Health Check für Webserver
HC_ID=$(aws route53 create-health-check --caller-reference $(date +%s) --health-check-config '{"IPAddress":"1.2.3.4","Port":443,"Type":"HTTPS","ResourcePath":"/health","FullyQualifiedDomainName":"www.firma.de","RequestInterval":30,"FailureThreshold":3}' --query 'HealthCheck.Id' --output text)
Failover Routing (Primary + Secondary)
# Primary Record
aws route53 change-resource-record-sets --hosted-zone-id $ZONE_ID --change-batch '{"Changes":[{"Action":"CREATE","ResourceRecordSet":{"Name":"api.firma.de","Type":"A","SetIdentifier":"primary","Failover":"PRIMARY","HealthCheckId":"'"$HC_ID"'","TTL":60,"ResourceRecords":[{"Value":"1.2.3.4"}]}}]}'
# Secondary Record (Failover-Ziel)
aws route53 change-resource-record-sets --hosted-zone-id $ZONE_ID --change-batch '{"Changes":[{"Action":"CREATE","ResourceRecordSet":{"Name":"api.firma.de","Type":"A","SetIdentifier":"secondary","Failover":"SECONDARY","TTL":60,"ResourceRecords":[{"Value":"5.6.7.8"}]}}]}'
Latenz-Routing (Multi-Region)
# EU-Endpoint
aws route53 change-resource-record-sets --hosted-zone-id $ZONE_ID --change-batch '{"Changes":[{"Action":"CREATE","ResourceRecordSet":{"Name":"api.firma.de","Type":"A","SetIdentifier":"eu","Region":"eu-central-1","TTL":60,"ResourceRecords":[{"Value":"1.2.3.4"}]}}]}'
# US-Endpoint
aws route53 change-resource-record-sets --hosted-zone-id $ZONE_ID --change-batch '{"Changes":[{"Action":"CREATE","ResourceRecordSet":{"Name":"api.firma.de","Type":"A","SetIdentifier":"us","Region":"us-east-1","TTL":60,"ResourceRecords":[{"Value":"5.6.7.8"}]}}]}'
FAQ
Was kostet Route 53?
0,50 USD/Monat pro Hosted Zone + 0,40 USD/Million Anfragen (Standard).
Fazit
Route 53 Health Checks + Failover Routing ermöglichen Zero-Downtime-DNS-Failover ohne manuelle Eingriffe.
AWS Route 53 für KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Anfragen.