Amazon Route 53 là dịch vụ DNS của AWS, giúp chuyển tên miền dễ nhớ như example.com thành địa chỉ IP mà máy tính dùng để kết nối. Ngoài ra nó còn đăng ký tên miền và kiểm tra tình trạng máy chủ. Bài này giải thích cách DNS hoạt động. Sau đó chúng ta xem các khái niệm chính của Route 53 và những chính sách định tuyến nên biết.
DNS làm gì và vì sao cần nó

Khi bạn gõ một địa chỉ vào trình duyệt, máy tính chưa biết máy chủ nằm ở đâu. Nó hỏi một hệ thống tên miền (DNS) để đổi tên thành địa chỉ IP. Hệ thống này gồm nhiều tầng. Đầu tiên là bộ phân giải của nhà mạng, rồi đến máy chủ gốc. Tiếp theo là máy chủ của tên miền cấp cao như .com. Cuối cùng là máy chủ tên (name server) giữ bản ghi của tên miền cụ thể.
Route 53 đóng vai trò máy chủ tên cuối cùng này. Bạn khai báo bản ghi ở đó. Mọi truy vấn về tên miền của bạn sẽ được Route 53 trả lời. Chữ 53 đến từ cổng 53, cổng mà DNS sử dụng.
Hosted zone và các loại bản ghi

Hosted zone là gì
Hosted zone là một “thư mục” chứa tất cả bản ghi của một tên miền. Có hai loại. Public zone trả lời cho truy vấn từ Internet. Private zone chỉ trả lời trong mạng riêng ảo (VPC) mà bạn chỉ định.
Mỗi hosted zone khi tạo ra có sẵn bốn name server. Bạn cần khai báo chúng tại nơi đăng ký tên miền để DNS trỏ về Route 53.
Các loại bản ghi thường gặp
A: trỏ tên tới địa chỉ IPv4.AAAA: trỏ tên tới địa chỉ IPv6.CNAME: bí danh trỏ tên này sang tên khác; không dùng được cho tên miền gốc (zone apex).MX: chỉ máy chủ nhận thư của tên miền.TXT: lưu văn bản, thường dùng để xác minh quyền sở hữu hoặc cấu hình chống thư giả mạo.NSvàSOA: thông tin về name server và vùng, do Route 53 tạo sẵn.
Route 53 có thêm bản ghi alias, một đặc điểm riêng của AWS. Alias hoạt động giống CNAME nhưng dùng được cho tên miền gốc. Nó cũng có thể trỏ tới tài nguyên AWS như bộ cân bằng tải, CloudFront hay bucket S3. Truy vấn tới alias trỏ vào dịch vụ AWS không bị tính phí.
# Tạo bản ghi A bằng AWS CLI
aws route53 change-resource-record-sets \
--hosted-zone-id Z123EXAMPLE \
--change-batch '{
"Changes": [{
"Action": "UPSERT",
"ResourceRecordSet": {
"Name": "www.example.com",
"Type": "A",
"TTL": 300,
"ResourceRecords": [{"Value": "203.0.113.10"}]
}
}]
}'
Giá trị TTL cho biết các bộ phân giải được lưu bản ghi trong bao lâu. TTL thấp giúp thay đổi có hiệu lực nhanh nhưng làm tăng số truy vấn. Nhiều người hạ TTL xuống vài phút trước một ngày khi chuyển máy chủ. Nhờ vậy việc chuyển đổi diễn ra suôn sẻ.
Routing policy: chọn cách trả lời truy vấn

Điểm mạnh của Route 53 là khả năng trả lời khác nhau tùy chính sách định tuyến. DNS thông thường không làm được điều này.
| Policy | Cách hoạt động | Dùng khi |
|---|---|---|
| Simple | Một tên, một hoặc nhiều giá trị, không kiểm tra gì thêm | Website đơn giản |
| Weighted | Chia lưu lượng theo trọng số, ví dụ 90/10 | Thử phiên bản mới cho một phần nhỏ người dùng |
| Latency | Trả về vùng AWS có độ trễ thấp nhất với người dùng | Ứng dụng triển khai nhiều vùng |
| Failover | Dùng máy chủ chính, tự chuyển sang dự phòng khi chính hỏng | Cần độ sẵn sàng cao |
| Geolocation | Định tuyến theo vị trí địa lý của người truy vấn | Nội dung hoặc quy định khác nhau theo quốc gia |
Ngoài ra còn có geoproximity, multivalue answer và IP-based routing cho các nhu cầu phức tạp hơn. Người mới thường bắt đầu với simple, sau đó chuyển sang weighted hoặc failover khi hệ thống lớn dần.
Health check và failover

Health check là các phép kiểm tra tự động do Route 53 thực hiện. Nó chạy từ nhiều địa điểm trên thế giới tới một địa chỉ, cổng hoặc đường dẫn. Nếu máy chủ chính không phản hồi, Route 53 ngừng trả về địa chỉ đó. Lúc này nó chuyển sang máy chủ dự phòng. Tính năng này chỉ hoạt động với bản ghi có gắn health check, nên đừng quên bước gắn.
Cần nhớ rằng failover phụ thuộc vào TTL. Nếu bạn đặt TTL một giờ, nhiều người dùng vẫn bị trỏ tới máy chủ hỏng. Họ chỉ được chuyển khi bản ghi cũ hết hạn trong bộ nhớ đệm.
Chi phí và những lưu ý
Route 53 tính phí theo từng hosted zone mỗi tháng và theo số truy vấn. Health check cũng tính thêm phí. Mức giá thay đổi theo thời điểm. Bạn nên xem trang giá chính thức của AWS thay vì dựa vào con số cũ. Hãy xóa hosted zone không dùng nữa để khỏi bị tính phí vô ích.
- Sau khi tạo zone, nhớ cập nhật name server ở nơi đăng ký tên miền.
- Dùng alias thay cho CNAME khi trỏ tên miền gốc vào tài nguyên AWS.
- Đặt TTL hợp lý; đừng để quá cao nếu bạn hay thay đổi bản ghi.
Route 53 thường đi cùng các dịch vụ khác. Nếu bạn xử lý dữ liệu theo thời gian thực, hãy đọc bài về Amazon Kinesis. Khi cần chia sẻ tệp giữa các máy chủ, hãy xem Amazon FSx. Danh sách đầy đủ tính năng nằm trong tài liệu chính thức của Route 53.
Bạn cũng có thể xem thêm lộ trình học của KungFuTech để biết nên học tiếp mảng nào. Cách tốt nhất để hiểu DNS là tự đăng ký một tên miền thử nghiệm và tạo vài bản ghi. Sau đó dùng lệnh dig hoặc nslookup để xem kết quả.


