DNS Types
- SOA: 一個DNS只能有一個SOA,紀錄管理者資訊
- NS: 指向上游
- A: 指向IPv4
- AAAA: 指向IPv6
- CNAME: 指向其他DNS Name
- MX: Email轉發用
- PTR: 反解,將IP轉成主機FQDN
Routing Policies
- Simple Routing Policy (SRP)
- 1 record to multiple IP address
- Answer in random order
- 沒辦法做health check
- Weighted Routing Policy (WRP)
- 可以設定不同的health check給各自的record set
- 給每個host各0-255的一個權重數字,會依權重分派流量
- 適合像A/B Test的使用情境
- 數字越小,權重越低
- Latency Based Routing (LBT)
- 將user導到最低Latency的目標
- 能做Failover
- Failover Routing Policy
- DR使用,壞掉時才導向secondary resource
- Geolocation Routing Policy (GRP)
- 依照使用者目前所在IP的地理位置導向
- 建議至少要有一個Global record,給那些無法辨別地理位置的user導向
- 沒辦法做health check
- Geoproximity Routing (for Traffic Flow only)
- 依照使用者位置與資源位置導向
- 需要啟用Traffic Flow才能做
- 可以做出很複雜的DNS路由
- 沒辦法做health check
- Multivalue Answer Policy
- 很像Simple Routing,但可以做health check,自動移掉fail resource
- Answer in random order
- 不支援ELB
Limits
- DNSSEC (加密的DNS Query)
- 只支援Domain name registration
- Route53不支援DNSSEC query
- 需要使用第三方服務 (Bind, DnsMasq, KnotDNS, PowerDNS)
- 可以提供Private DNS
- 但VPC需要enable以下設定
- enableDnsHostName
- enableDnsSupport
Health Check
- Only 2xx & 3xx pass the check
- Only based on the first 5120 bytes of response
- 可以計算區間內超過多少失敗才算失敗
- Integrate with CloudWatch alarms
- 無法check private endpoints
- Route53世運坐在Edge Node上的,沒辦法直接檢查Private VPC內的服務
- 要做的話,需要expose出public的health check endpoint
- Multi Region failover arch example