Skip to main content

Route53

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