Tổng quan về Amazon Route 53 – Bài 15

Khi bạn gõ facebook.com hay zalo.me trên trình duyệt, bạn có bao giờ thắc mắc làm sao mà nó biết phải truy cập đến đúng máy chủ không? Câu trả lời nằm ở hệ thống DNS (Domain Name System).

Trong bài viết này, mình sẽ cùng các bạn tìm hiểu về Route 53: nó là gì, hoạt động ra sao, và tại sao bạn nên dùng nó trong các hệ thống AWS – tất cả được trình bày một cách dễ hiểu nhất cho cả những bạn mới bắt đầu.

Xem thêm:

Application Load Balancer (ALB) trong AWS – Bài 10

Network Load Balancer (NLB) trong AWS – Bài 11

Auto Scaling Group trong AWS – Bài 12

1. Amazon Route 53 là gì?

Trước khi tìm hiểu Route 53, ta nói sơ qua về DNS. DNS (Domain Name System) là cái giúp ta chuyển tên miền như google.com thành địa chỉ IP như 142.250.200.238 để trình duyệt biết phải đi đâu. Nếu không có DNS, mỗi lần muốn truy cập một website là ta phải nhớ một dãy số – rất bất tiện.

Amazon Route 53 là dịch vụ DNS do AWS cung cấp. Nó cho phép bạn:

  • Tạo và quản lý bản ghi DNS cho tên miền.
  • Định tuyến lưu lượng người dùng tới các server hoặc dịch vụ AWS.
  • Theo dõi tình trạng của các máy chủ và tự động điều hướng khi có lỗi.

Cái tên “Route 53” là vì DNS dùng cổng 53 :))

2. Các loại bản ghi DNS phổ biến trong Route 53

  1. A record: Bản ghi A ánh xạ một tên miền tới địa chỉ IPv4, ví dụ example.com -> 1.2.3.4.
  2. AAAA record: Giống bản ghi A nhưng ánh xạ tới địa chỉ IPv6.
  3. CNAME record: CNAME cho phép bạn ánh xạ một hostname tới một hostname khác. Ví dụ, bạn có thể ánh xạ app.mydomain.com tới blabla.anything.com. Tuy nhiên, CNAME chỉ hoạt động cho tên miền con, chẳng hạn something.mydomain.com, và không thể sử dụng cho tên miền gốc (mydomain.com).
  4. NS record: Bản ghi NS xác định máy chủ tên miền, giúp kiểm soát cách thức định tuyến lưu lượng tới tên miền.
  5. Alias record: Alias là một bản ghi đặc biệt trong AWS Route 53 cho phép bạn ánh xạ một hostname đến một tài nguyên AWS. Điểm mạnh của Alias là nó hỗ trợ cả tên miền gốc (root domain) và tên miền con, giúp bạn có thể ánh xạ trực tiếp mydomain.com tới một tài nguyên AWS.

3. Hosted Zone là gì?

Hiểu nôm na thì Hosted Zone là nơi bạn định nghĩa tất cả bản ghi DNS cho một domain. Có 2 loại:

  • Public Hosted Zone: Cho domain công khai (ví dụ myapp.com). Ai trên Internet cũng có thể truy cập.
  • Private Hosted Zone: Chỉ dùng trong VPC – tức là chỉ có tài nguyên nội bộ trong hệ thống AWS mới thấy được domain này.

Hosted Zone trong Route 53

4. Routing Policy – Chính sách định tuyến

4.1. Routing Policy Simple

Đơn giản nhất: bạn chỉ định IP cho domain, Route 53 trả về IP đó.

  • Nếu bản ghi A chứa nhiều địa chỉ IP, Route 53 sẽ trả về tất cả các IP đó, và trình duyệt của người dùng (hoặc hệ điều hành) sẽ chọn ngẫu nhiên một trong số đó để kết nối.
  • Bạn cũng có thể sử dụng alias record cùng với Simple Routing để trỏ tên miền đến một tài nguyên cụ thể trong AWS (như một Load Balancer, CloudFront hoặc S3).

Routing Policy Simple

Lưu ý: Routing Policy Simple không hỗ trợ kiểm tra sức khỏe (Health Check). Vì vậy, nếu máy chủ bị lỗi, Route 53 vẫn tiếp tục trả về địa chỉ IP đó mà không biết nó đã ngừng hoạt động.

4.2. Weighted Routing Policy

  • Phân phối lưu lượng theo tỷ lệ phần trăm.
  • Ví dụ: 70% vào server A, 30% vào server B.
  • Dùng để kiểm thử A/B hoặc triển khai dần dần một phiên bản mới.

4.3. Latency-based Routing Policy

  • Định tuyến người dùng đến server gần nhất theo độ trễ mạng.
  • Route 53 sẽ tự đo độ trễ từ người dùng đến các Region → chọn server phản hồi nhanh nhất.
  • Dùng rất tốt cho hệ thống đa vùng (multi-region).

Latency-based Routing Policy

4.4. Geolocation Routing Policy

  • Định tuyến theo vị trí địa lý của người dùng (châu Á, châu Âu, Mỹ…).
  • Ví dụ: người Việt truy cập vào abc.com sẽ được đưa về server đặt ở Singapore.
  • Không quan tâm đến độ trễ, chỉ dựa vào vị trí địa lý.

Cách hoạt động:

Khi người dùng gửi truy vấn, Route 53 xác định vị trí của họ và trả về bản ghi phù hợp nhất bạn đã định nghĩa cho vị trí đó. Nếu không có bản ghi khớp, Route 53 sẽ dùng bản ghi mặc định (default record) nếu có.

4.5. Geoproximity Routing

Geoproximity Routing là chính sách định tuyến nâng cao trong Route 53, cho phép định tuyến lưu lượng dựa trên vị trí địa lý của người dùng và tài nguyên. Điểm nổi bật là bạn có thể tăng hoặc giảm phạm vi định tuyến bằng cách điều chỉnh giá trị bias.

Cách hoạt động:

  • Bias dương (+): Mở rộng vùng phủ của tài nguyên → thu hút thêm lưu lượng.
  • Bias âm (–): Thu hẹp vùng phủ → giảm lưu lượng đến tài nguyên đó.

Ví dụ:

Bạn có hai tài nguyên: us-west-1 (bias = 0) us-east-1 (bias = +50) → Ranh giới định tuyến sẽ lệch về phía Tây, nên nhiều người dùng hơn sẽ được định tuyến đến us-east-1.

Geoproximity Routing

4.6. IP-based Routing là gì?

IP-based Routing là chính sách định tuyến trong Route 53 cho phép điều hướng lưu lượng dựa trên địa chỉ IP của người dùng. Bạn có thể cấu hình các dải IP (CIDR) để định tuyến truy vấn DNS đến các điểm cuối khác nhau.

Ví dụ cấu hình Giả sử bạn có 2 nhóm IP:

CIDR Định tuyến tới IP
203.x.x.x/16 1.2.3.4 (EC2 A)
200.x.x.x/16 5.6.7.8 (EC2 B)

Khi người dùng truy cập example.com: Nếu IP nằm trong CIDR 203.x.x.x, họ sẽ được chuyển đến EC2 A. Nếu IP thuộc CIDR 200.x.x.x, họ sẽ được chuyển đến EC2 B.

4.7. Multi-Value Routing Policy

  • Trả về nhiều IP (tối đa 8) cho mỗi truy vấn DNS.
  • Có thể kết hợp với Health Check: IP nào lỗi thì không trả về.
  • Gần giống load balancer nhưng chạy phía client, không thay thế ELB.

Cách hoạt động:

Route 53 sẽ trả về tối đa 8 IP từ các tài nguyên “Healthy”. Nếu tài nguyên nào “Unhealthy”, nó sẽ không được trả về. Ví dụ: Tất cả tài nguyên hoạt động → Trả về 3 IP Nếu eu-central-1 lỗi → Trả về 2 IP còn lại

Lưu ý: Chức năng giống load balancer nhưng chỉ hoạt động phía client, không thay thế được Elastic Load Balancer (ELB).

5. Health Checks

Health Check trong Route 53 giúp theo dõi tình trạng hoạt động của tài nguyên (thường là endpoint công khai). Route 53 sẽ xác định tài nguyên nào đang hoạt động tốt và chỉ định tuyến DNS đến tài nguyên đó.

Trong hệ thống Multi-Region, Health Check giúp:

  • Giám sát Load Balancer ở các vùng (VD: us-east-1, eu-west-1)
  • Nếu một vùng mất kết nối, Route 53 tự động chuyển hướng người dùng sang vùng còn hoạt động.

Cách hoạt động:

  • Route 53 dùng ~15 điểm kiểm tra toàn cầu để gửi yêu cầu đến endpoint.
  • Endpoint được xem là “healthy” nếu phản hồi đúng (200 OK hoặc mã tự chọn).
  • Có thể cấu hình chu kỳ kiểm tra: 10s hoặc 30s.

Các loại Health Check:

Loại Mô tả
Public Endpoint Check Giám sát website, máy chủ công khai
Calculated Check Kết hợp nhiều Health Check con (AND, OR, NOT)
CloudWatch Alarm Check Theo dõi tài nguyên nội bộ thông qua CloudWatch Alarm

6. Failover Route 53

Failover là tính năng giúp tự động chuyển hướng lưu lượng từ máy chủ chính (Primary) sang máy chủ dự phòng (Secondary) nếu máy chủ chính bị lỗi, nhằm đảm bảo dịch vụ luôn sẵn sàng.

Cách hoạt động:

  • Route 53 theo dõi health check của máy chủ chính.
  • Khi máy chủ chính không khả dụng, lưu lượng sẽ được chuyển đến máy chủ dự phòng.
  • Khi máy chủ chính hoạt động trở lại, lưu lượng được tự động trả về.

Amazon Route 53 mang lại khả năng quản lý DNS mạnh mẽ và toàn diện cho người dùng, hỗ trợ cả tên miền công khai và riêng tư. Đây là công cụ quan trọng trong việc định tuyến và quản lý lưu lượng tới các tài nguyên trên AWS.

Bài viết cùng chủ đề:

AWS IPv4 Public – Cách tính phí mới nhất – Bài 7

EBS Volumes – EBS Snapshot – Lưu trữ cho EC2 Instances – Bài 8

Tìm hiểu Amazon EFS (Elastic File System) – Bài 9

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em