AWS Route 53 là gì? Hướng Dẫn Trỏ Tên Miền Về Máy Chủ AWS Từ A-Z
Danh Mục Bài Viết
Hồi mới học AWS, mình cũng từng deploy xong một EC2, copy cái IP public lên browser — web chạy ngon. Rồi ngồi tự hỏi: "Vậy làm sao để gõ mywebsite.com mà nó ra trang của mình?" Tìm Google thấy mọi người đề cập đến Route 53, cứ nghĩ chắc là thứ gì đó phức tạp lắm. Thực ra không phải vậy — Route 53 là DNS, nhưng là DNS của AWS, tức là nó tích hợp sâu với toàn bộ hệ sinh thái cloud và có những tính năng mà DNS thường không có.
AWS Route 53 là gì? Giải thích bình dân
DNS (Domain Name System) giống như danh bạ điện thoại của Internet. Khi bạn gõ google.com, máy tính không biết google.com ở đâu — nó cần tra DNS để biết địa chỉ IP thật (ví dụ 142.250.185.46) rồi mới kết nối được.
AWS Route 53 là dịch vụ DNS được quản lý hoàn toàn (fully managed) của AWS. Tên "53" đến từ port 53 — cổng mặc định của giao thức DNS. Ngoài việc phân giải tên miền, Route 53 còn làm được:
- Đăng ký tên miền trực tiếp từ AWS Console.
- Health Check: kiểm tra máy chủ còn sống không, tự động chuyển traffic nếu server chết.
- Routing Policy thông minh: định tuyến người dùng đến server gần nhất, khỏe nhất, hoặc theo tỉ lệ tùy chỉnh.
Đây là lý do Route 53 không chỉ là "DNS thường" — nó là một lớp điều phối traffic cực kỳ mạnh, đặc biệt khi bạn deploy hệ thống multi-region hoặc cần high availability.
Các khái niệm cần biết trước khi bắt đầu
Trước khi làm theo hướng dẫn, hãy nắm vài thuật ngữ này để không bị lạc:
- Hosted Zone: Vùng chứa toàn bộ record DNS của một tên miền. Ví dụ:
mywebsite.comsẽ có một Hosted Zone riêng. - Record Set: Từng bản ghi DNS cụ thể. Phổ biến nhất là:
- A record: Trỏ domain về địa chỉ IPv4 (ví dụ IP của EC2).
- CNAME record: Trỏ domain về một domain khác (ví dụ domain CloudFront).
- ALIAS record: Đặc biệt của Route 53 — giống CNAME nhưng dùng được ở root domain (
mywebsite.com, không phải chỉwww.mywebsite.com). - NS record: Chỉ định Nameserver của domain.
- TTL (Time To Live): Thời gian (giây) DNS cache giữ record trước khi hỏi lại. TTL thấp = cập nhật nhanh nhưng nhiều query hơn.
- Nameserver (NS): Máy chủ DNS thực sự trả lời truy vấn. Khi dùng Route 53, bạn sẽ trỏ NS của domain về 4 nameserver do AWS cấp.
Hướng dẫn trỏ tên miền về EC2/S3/CloudFront từng bước
Giả sử bạn đã mua domain ở một nhà cung cấp khác (GoDaddy, Namecheap, tenten.vn...) và muốn trỏ về EC2 trên AWS.
Bước 1 — Tạo Hosted Zone trên Route 53:
- Vào AWS Console → Route 53 → Hosted Zones → Create hosted zone.
- Nhập tên domain (
mywebsite.com), chọn Public hosted zone → Create. - AWS tự tạo 2 record mặc định: NS và SOA. Lưu lại 4 nameserver trong NS record (dạng
ns-xxx.awsdns-xx.com).
Bước 2 — Trỏ NS của domain về Route 53:
- Đăng nhập vào nơi bạn mua domain, vào phần quản lý DNS/Nameserver.
- Thay 4 NS record mặc định bằng 4 nameserver của Route 53 vừa lấy ở trên.
- Lưu lại. Thay đổi NS có thể mất từ vài phút đến 48 giờ để lan truyền toàn cầu (thực tế thường dưới 1 giờ).
Bước 3 — Tạo A record trỏ về EC2:
- Trong Hosted Zone vừa tạo, nhấn Create record.
- Record name: để trống (cho root domain) hoặc nhập
www. - Record type: A.
- Value: nhập Elastic IP của EC2 (dùng Elastic IP để IP không đổi khi restart).
- TTL: 300 giây là hợp lý cho môi trường production.
- Nhấn Create records.
Mẹo: Luôn gán Elastic IP cho EC2 trước khi trỏ DNS. EC2 không có Elastic IP sẽ đổi IP mỗi lần restart — domain trỏ đúng hôm nay, ngày mai có thể trỏ sai.
Trỏ về CloudFront (dùng ALIAS): Khi dùng CloudFront distribution, bạn không có IP tĩnh — chỉ có domain dạng xxxx.cloudfront.net. Thay vì CNAME (không dùng được ở root domain), dùng ALIAS record:
- Record type: A → bật toggle Alias.
- Route traffic to: chọn Alias to CloudFront distribution → chọn distribution của bạn.
Trỏ về S3 Static Website: Tương tự, dùng ALIAS → Alias to S3 website endpoint. Lưu ý: bucket name phải trùng với domain (bucket tên mywebsite.com nếu muốn trỏ mywebsite.com).
Routing Policy: Điểm mạnh thật sự của Route 53
Đây mới là lúc Route 53 vượt trội so với DNS thông thường. Khi tạo record, bạn có thể chọn Routing Policy:
- Simple: Mặc định. Một domain → một địa chỉ.
- Weighted: Chia traffic theo tỉ lệ. Ví dụ 80% vào server chính, 20% vào server test — dùng cho A/B testing hoặc canary deploy.
- Latency-based: Route 53 tự động gửi user đến region có latency thấp nhất. Bạn ở Việt Nam thì được trả về server Singapore, người Mỹ thì về US-East.
- Geolocation: Định tuyến theo quốc gia/châu lục. Dùng để GDPR compliance (user EU chỉ vào server EU) hoặc localization.
- Failover: Primary/Secondary. Nếu primary chết (health check fail), tự chuyển sang secondary. Đây là nền tảng của DR (Disaster Recovery).
- Multivalue Answer: Trả về nhiều IP, client chọn ngẫu nhiên — load balancing đơn giản ở tầng DNS.
Kinh nghiệm thực chiến và lỗi hay gặp
Mình đã thấy nhiều người mắc các lỗi sau khi mới dùng Route 53:
- Quên đổi Nameserver tại registrar: Tạo Hosted Zone xong nhưng không đổi NS ở GoDaddy/Namecheap → domain vẫn dùng DNS cũ → record trên Route 53 không có tác dụng. Kiểm tra bằng
nslookup -type=NS mywebsite.com 8.8.8.8— nếu thấy NS của AWS là đúng. - Dùng CNAME cho root domain:
CNAME mywebsite.com → xxxx.cloudfront.netlà sai theo chuẩn DNS và bị nhiều nhà cung cấp chặn. Route 53 có ALIAS record để giải quyết vấn đề này. - Không bật Health Check khi dùng Failover: Failover policy chỉ hoạt động khi primary có Health Check. Nếu không setup, Route 53 không biết primary chết để chuyển sang secondary.
- TTL quá cao khi cần migrate nhanh: Nếu đang cần chuyển server gấp, giảm TTL xuống 60 giây trước vài giờ. TTL 86400 (1 ngày) nghĩa là DNS cũ có thể cache tới 24 giờ sau khi bạn đã đổi.
FAQ
Q: Route 53 có thể dùng với domain mua ở nơi khác không, hay phải mua domain trên AWS?A: Hoàn toàn được. Bạn chỉ cần tạo Hosted Zone trên Route 53 rồi trỏ Nameserver của domain về 4 NS mà AWS cấp. Domain có thể mua ở bất kỳ đâu — GoDaddy, Namecheap, tenten.vn hay bất kỳ registrar nào.
Q: Route 53 tính phí như thế nào? Có tốn nhiều không?A: Mỗi Hosted Zone tốn $0.50/tháng. DNS query tính $0.40 per 1 triệu query đầu (giảm dần theo lượng). Với web vừa và nhỏ (dưới vài triệu user/tháng), chi phí Route 53 thường dưới $5/tháng — rất rẻ so với giá trị mang lại. Health Check thêm $0.50-$0.75/health check/tháng.
Q: Route 53 có thể thay thế hoàn toàn Cloudflare DNS không?A: Về tính năng DNS thuần túy thì Route 53 làm được mọi thứ Cloudflare làm. Tuy nhiên Cloudflare có thêm DDoS protection, WAF, CDN miễn phí ở free tier. Route 53 tích hợp tốt hơn với hệ sinh thái AWS (ALIAS record, tích hợp ELB/CloudFront/S3). Nhiều hệ thống production dùng cả hai: Cloudflare ở phía ngoài để DDoS protection, Route 53 ở phía trong để routing nội bộ AWS.
Route 53 — Cánh cổng kết nối domain với hạ tầng AWS
Route 53 không chỉ là "DNS để trỏ domain" — nó là lớp điều phối traffic thông minh, giúp hệ thống của bạn vừa nhanh (latency-based routing), vừa bền (failover tự động), vừa linh hoạt (weighted routing cho zero-downtime deploy). Một khi đã quen, bạn sẽ thấy việc không dùng Route 53 trong kiến trúc AWS production là thiếu sót nghiêm trọng. Bài tiếp theo sẽ đi sâu vào Amazon CloudFront — CDN giúp tăng tốc website toàn cầu và hay được dùng kết hợp với Route 53.
