Chương 08: Route 53 - DNS
Tổng Quan
Amazon Route 53 là dịch vụ DNS (Domain Name System) fully managed của AWS. Tên gọi "53" vì DNS hoạt động trên port 53.
1. DNS Basics
- DNS chuyển đổi domain name (example.com) thành IP address (1.2.3.4).
- Các loại DNS Records:
| Record Type | Mô tả |
|---|---|
| A | Hostname → IPv4 (VD: example.com → 1.2.3.4) |
| AAAA | Hostname → IPv6 |
| CNAME | Hostname → Hostname khác. KHÔNG dùng cho zone apex (root domain). |
| Alias | Hostname → AWS Resource (ALB, CloudFront, S3). Dùng được cho zone apex. Miễn phí query. |
| NS | Name Servers cho Hosted Zone |
Alias vs CNAME
| CNAME | Alias | |
|---|---|---|
| Zone apex (example.com) | ❌ Không hỗ trợ | ✅ Hỗ trợ |
| Target | Bất kỳ hostname | Chỉ AWS resources |
| Phí query | Tính phí | Miễn phí |
| Health Check | Không | Có |
💡 Exam Tip: Nếu đề bài nói "root domain" hoặc "zone apex" trỏ đến ALB/CloudFront → Alias Record.
2. Hosted Zones
| Loại | Mô tả | Phí |
|---|---|---|
| Public Hosted Zone | Resolve domains từ Internet | $0.50/tháng |
| Private Hosted Zone | Resolve domains trong VPC(s) | $0.50/tháng |
3. Routing Policies
| Policy | Mô tả | Use case |
|---|---|---|
| Simple | Trả về 1 hoặc nhiều IP (random) | Website đơn giản |
| Weighted | Phân traffic theo tỷ lệ % | A/B testing, blue/green deploy |
| Latency-based | Route đến Region có latency thấp nhất | Multi-region apps |
| Failover | Primary/Secondary. Chuyển sang Secondary khi Primary fail | Active-Passive DR |
| Geolocation | Route theo vị trí địa lý của user | Content localization, compliance |
| Geoproximity | Route theo khoảng cách + bias (mở rộng/thu hẹp vùng) | Fine-tuned geo routing |
| Multi-Value | Trả về nhiều healthy IPs | Simple LB (không thay thế ELB) |
| IP-based | Route theo CIDR của client | Optimize cost theo ISP |
Ví dụ Weighted Routing:
example.com
├── 70% → EC2 instance A (us-east-1)
├── 20% → EC2 instance B (eu-west-1)
└── 10% → EC2 instance C (ap-southeast-1)
Ví dụ Failover:
example.com
├── Primary: ALB us-east-1 (Health Check ✅)
└── Secondary: S3 static site (nếu Primary fail)
4. Health Checks
- Monitor endpoint (IP hoặc domain) theo chu kỳ (10s hoặc 30s).
- Endpoint được coi healthy nếu ≥ 18% health checkers báo healthy.
- 3 loại:
- Endpoint Health Check: Check HTTP/TCP/HTTPS trực tiếp.
- Calculated Health Check: Kết hợp nhiều health checks (AND/OR logic).
- CloudWatch Alarm Health Check: Dựa trên CloudWatch alarm (cho private resources).
⚠️ Lưu ý: Health Checks chỉ check public endpoints. Để check private resources → dùng CloudWatch Alarm → Health Check.
Exam Tips 💡
- Alias Record dùng cho zone apex (example.com → ALB). CNAME không được.
- Alias query = miễn phí. Luôn ưu tiên Alias khi trỏ đến AWS resource.
- Latency-based khi cần route đến Region nhanh nhất.
- Failover khi cần Active-Passive DR setup.
- Weighted khi cần A/B testing hoặc gradual migration.
- Geolocation khi cần restrict content theo quốc gia.
- Health Checks không check được private endpoints → dùng CloudWatch Alarm.
Câu Hỏi Ôn Tập 📝
Câu 1: Bạn cần trỏ root domain example.com đến ALB. Dùng record type nào?
Xem đáp án
Alias Record (type A). CNAME không hỗ trợ zone apex (root domain). Alias miễn phí query và hỗ trợ zone apex.
Câu 2: Ứng dụng deploy ở us-east-1 và eu-west-1. Bạn muốn user tự động được route đến Region gần nhất. Dùng routing policy nào?
Xem đáp án
Latency-based Routing Policy. Route 53 sẽ route user đến Region có latency thấp nhất.
Câu 3: Bạn muốn chuyển 10% traffic sang phiên bản mới để test. Dùng routing policy nào?
Xem đáp án
Weighted Routing Policy. Đặt weight 90 cho version cũ và weight 10 cho version mới.
⬅️ Chương 07: Databases | Chương 09: CloudFront & Caching ➡️