Routing Policy là gì?
Routing Policy trong Amazon Route 53 xác định cách dịch vụ trả lời các truy vấn DNS.
Mỗi policy sẽ quyết định địa chỉ IP hoặc tài nguyên nào được trả về cho client, dựa trên tiêu chí như vị trí địa lý, độ trễ, tỷ lệ phần trăm traffic hoặc tình trạng hệ thống.
Các loại Routing Policy
1. Simple Routing
- Trỏ tất cả traffic đến một endpoint duy nhất.
- Phù hợp khi chỉ có một tài nguyên xử lý yêu cầu.
- Ví dụ: Một website chạy trên một máy chủ EC2.
2. Weighted Routing
- Chia traffic theo tỷ lệ phần trăm định trước giữa nhiều endpoint.
- Dùng để:
- Triển khai thử nghiệm (canary release).
- Phân bổ tải giữa nhiều phiên bản.
- Ví dụ: 70% traffic → Server A, 30% → Server B.
3. Latency-based Routing
- Định tuyến người dùng đến endpoint có độ trễ mạng thấp nhất.
- AWS xác định dựa trên độ trễ trung bình giữa các region và vị trí người dùng.
- Từ đó điều hướng traffic tới Region có Latency tốt nhất
4. Failover Routing (Active-Passive)
- Dùng để dự phòng khi endpoint chính gặp sự cố.
- Yêu cầu kết hợp với Health Checks.
- Ví dụ: Endpoint Primary ở Tokyo, Secondary ở Singapore.
5. Geolocation Routing
- Định tuyến dựa trên vị trí địa lý của người dùng (quốc gia, lục địa, hoặc theo vị trí IP).
- Ứng dụng:
- Tuân thủ luật pháp về dữ liệu.
- Cung cấp nội dung theo ngôn ngữ vùng.
- Ví dụ: Website Titok phát triển tính năng mà user mỗi đất nước sẽ hiển thị khác nhau -> Tương ứng với với server khác nhau
- VN → 1.2.3.4
- TQ → 5.6.7.8
6. Geoproximity Routing (Traffic Flow feature)
- Định tuyến dựa trên khoảng cách địa lý và có thể điều chỉnh bias để ưu tiên region.
- Yêu cầu bật tính năng Traffic Flow.
- Cách hoạt động:
- Giống Geolocation nhưng có thể dịch “vùng phục vụ” ra xa/ra gần” nhờ bias.
- Dùng khi bạn muốn cân bằng tải theo khoảng cách hoặc ưu tiên một region nhất định.
- Ví dụ: Website của bạn tạo cho user ở Việt Nam, bạn có thể quy định xem user đang ở Huế sẽ truy cập đến Server ở HN hay HCM
- Huế → Hà Nội server (bias +0 km, ưu tiên)
- Huế → HCM server (bias +200 km, ít ưu tiên hơn)
7. Multi-value Answer Routing
- Trả về nhiều IP cho cùng một bản ghi để hỗ trợ cân bằng tải cơ bản.
- Mỗi IP được gán health check để loại bỏ endpoint không hoạt động.
- Cách hoạt động:
- Bạn có nhiều server cho cùng một ứng dụng, ví dụ 3 server web:
10.0.0.1, 10.0.0.2, 10.0.0.3 - Tạo Multi-Value Answer record trong Route 53, gắn 3 IP trên.
- Có “Health Check” trên từng IP, và kiểm tra status đến các IP
- Khi user truy cập đến Server sẽ trả ra 1 hoặc nhiều IP, và việc dùng IP nào sẽ là ngẫu nhiên
- Bạn có nhiều server cho cùng một ứng dụng, ví dụ 3 server web:
Bảng so sánh nhanh
| Policy | Mục đích chính | Yêu cầu Health Check |
|---|---|---|
| Simple | Một endpoint duy nhất | ❌ |
| Weighted | Chia tải hoặc thử nghiệm | ❌ |
| Latency-based | Giảm độ trễ mạng | ❌ |
| Failover | Dự phòng khi lỗi | ✅ |
| Geolocation | Nội dung theo vị trí người dùng | ❌ |
| Geoproximity | Điều chỉnh ưu tiên theo khoảng cách | ❌ |
| Multi-value Answer | Cân bằng tải cơ bản, nhiều IP | ✅ |