AWS Route 53: Multi-Value Routing Policy
Introduction
The Multi-Value Routing Policy in Amazon Route 53 allows traffic to be routed to multiple resources by returning multiple healthy DNS records in response to queries. This provides client-side load balancing, ensuring that users receive multiple healthy resource options.
How Multi-Value Routing Works
- Multiple A Records
- You create multiple A records (IP addresses) for a domain.
- Each record is associated with a specific resource (e.g., EC2 instance in different regions).
- Health Check Association
- Each A record can be associated with a Route 53 Health Check.
- Only healthy records are returned in DNS responses.
- DNS Response Behavior
- Route 53 returns up to eight healthy records per query.
- The client chooses which record to use (client-side load balancing).
Multi-Value Routing vs. Other Routing Policies
| Routing Policy |
Supports Health Checks? |
Returns Multiple Values? |
Load Balancing Type |
| Simple Routing |
❌ No |
✅ Yes |
Basic DNS responses |
| Multi-Value |
✅ Yes |
✅ Yes |
Client-side balancing |
| ELB (Not Route 53) |
✅ Yes |
✅ Yes |
AWS-managed balancing |
🚨 Important: Multi-Value routing is not a substitute for an Elastic Load Balancer (ELB), which provides true load balancing at the network level.
Example: Configuring Multi-Value Routing
Step 1: Create Multiple A Records
- Go to Route 53 → Hosted Zones.
- Create a new record with the following:
- Name:
multi.example.com
- Type:
A Record
- Value: IP of EC2 instance in US-east-1
- Routing Policy:
Multi-Value
- Associate Health Check: ✅
US-east-1 Health Check
- TTL:
60 seconds
- Record ID:
"US"
- Repeat the above steps for other regions:
- AP-Southeast-1 (Asia)
- EU-Central-1 (Europe)
Step 2: Testing Multi-Value Routing