Monday, 12 March 2018

AWS Route53 (Routing)


Simple Routing Policy (SRP)
  • Single resource
  • No healthcheck

Weighted Routing Policy (WRR)
  • Create multiple Resource Record Sets (group)
    • Identical name, type
    • Set identifier and weight
  • optionally healthcheck
  • 40% to Server A
  • 60% to Server B
  • Supported Record Types
    • A, AAAA, CNAME, TXT
  • Use case
    • A/B testing

Latency Routing Policy (LRP)
  • AWS performs ongoing latency checks
  • Resource Records Sets: EC2 instance (IP address), ELB
  • Optionally: healthcheck
  • Create Latency Record Set in each region
    • e.g. "us-west-1" and "eu-west-1"
  • Supported Record Types
    • A,AAAA,CNAME,TXT
  • Use case
    • Increase performance

Geolocation Routing Policy
  • Based on location of the browser
  • Optionally: healthcheck
  • Use cases
    • Localized version
    • Restrict to countries with distribution rights
    • Compliance
  • Scope
    • Continent
    • Country
    • State (US)
  • Non-identified location
    • Default
    • No answer
  • Uses EDNS to improve accuracy
  • Bias
    • Allows to configure the "area" covered by particular service 
    • Traffic Flow only

Failover Routing Policy
  • Active-Passive
  • Use case
    • High Availability
    • Must tolerate downtime during switchover

Multivalue Answer Routing Policy
  • Returns multiple values
  • Records can be healthchecked individually

Healthcheck
  • What to monitor
    • Endpoint - works like Pingdom
    • Status of other healthchecks (i.e. calculated healthcheck)
    • CloudWatch Alarm (for non-public resources)
  • Notifications
    • CloudWatch Alarm
    • SNS
  • Associated with Resource Record Set
  • Evaluate Target Healthcheck (ALIAS records only)
    • ALIAS, weighted ALIAS, latency ALIAS, geolocation ALIAS, failover ALIAS
    • Allows routing to back-out from the branch
  • Protocols: HTTP, HTTPS, TCP
    • Does not follow HTTP redirects
    • No SSL validation
    • SNI supported
  • Interval: 30s (fast interval = 10s)
  • Type
    • HTTP
    • HTTPS
    • HTTP_STR_MATCH 
    • HTTPS_STR_MATCH
    • TCP
  • Published to CW


DNS routing decision tree example
  • Latency alias resource record set (example.com)
    • 1 in eu-west 
    • 1 in us-east
    • DNS query for example.com resolves to eu-west (AWS latency based)
  • Weighted resource record set
    • In each region there are 2 instances
    • Each record set associated with healthcheck
  • Evaluate Target Healthcheck
    • Allows to back-off from the initial latency decision if eu-west is unhealthy
Traffic Flow


  • Simplifies creating complex rules
  • Visual editor available
    • Create set of rules to decide how requests are routed to the application
    • They will be translated to a tree of records
  • Policy Record
    • Associate policy with DNS name
    • Billed for each record

No comments:

Post a Comment