Sunday, January 19, 2025

[AWS] Amazon Route 53

-

1. Amazon Route 53 là gì?

Amazon Route 53 là một dịch vụ quản lý tên miền và DNS (Domain Name System) của Amazon Web Services (AWS). Nó cho phép quản lý tên miền (đăng ký, cập nhật, xoá tên miền) và DNS để kết nối các tên miền với các tài nguyên điện toán đám mây và các ứng dụng khác trên Internet. Route 53 cũng cung cấp các tính năng bảo mật và khả năng mở rộng để hỗ trợ cho việc triển khai ứng dụng web phức tạp.

Amazon Route 53 là một dịch vụ DNS toàn diện, được quản lý hoàn toàn và có khả năng mở rộng cao, giúp quản lý và cập nhật bản ghi DNS cho tên miền. Với Route 53, bạn có thể đăng ký tên miền mới, cập nhật bản ghi DNS, định tuyến lưu lượng và kiểm tra sức khỏe tài nguyên của bạn. Điểm nổi bật của Route 53 là tính sẵn sàng cao, giúp tránh được các sự cố có thể xảy ra khi mạng hoặc hệ thống gặp sự cố. Nó cũng được sử dụng để đăng ký tên miền và quản lý bản ghi DNS cho các tên miền. Tên “53” được lấy từ cổng DNS truyền thống, được sử dụng để truy vấn bản ghi DNS.

2. Route 53 – Records.

Trong Route 53, bạn có thể định tuyến lưu lượng cho một tên miền bằng cách tạo các bản ghi DNS. Mỗi bản ghi DNS chứa thông tin về tên miền hoặc tên miền phụ, loại bản ghi (A, AAAA, CNAME, NS, v.v.), giá trị thực tế của bản ghi (IP, tên miền, v.v.), chính sách định tuyến (cách Route 53 phản hồi các truy vấn DNS) và TTL (thời gian bản ghi được lưu trữ trong bộ đệm của Resolver DNS). Route 53 hỗ trợ nhiều loại bản ghi DNS, bao gồm các loại phổ biến như A, AAAA, CNAME, NS và các loại nâng cao hơn như CAA, DS, MX, NAPTR, PTR, SOA, TXT, SPF và SRV.

3. Route 53 – Record Types.

Các khái niệm sau liên quan đến các loại DNS Record Type được hỗ trợ bởi Route 53:

  • A: ánh xạ một tên miền sang địa chỉ IPv4.
  • AAAA: ánh xạ một tên miền sang địa chỉ IPv6.
  • CNAME: ánh xạ một tên miền sang một tên miền khác. Đích của CNAME là một tên miền khác phải có một bản ghi A hoặc AAAA.
  • Không thể tạo bản ghi CNAME cho top node của DNS namespace (Zone Apex), ví dụ: không thể tạo bản ghi CNAME cho example.com, nhưng có thể tạo cho www.example.com.
  • NS: Máy chủ tên cho Hosted Zone.
  • Điều khiển cách tài nguyên được định tuyến cho tên miền.

4. Route 53 – Hosted Zones.

Hosted Zone là một khái niệm trong Route 53, nó là một container chứa các bản ghi (records) định nghĩa cách để điều hướng traffic đến một tên miền và các tên miền con của nó. Có hai loại Hosted Zones: Public Hosted Zones và Private Hosted Zones.

Public Hosted Zones chứa các bản ghi định nghĩa cách điều hướng traffic trên Internet cho các tên miền công cộng như application1.mypublicdomain.com.

Private Hosted Zones chứa các bản ghi định nghĩa cách điều hướng traffic bên trong một hoặc nhiều VPC cho các tên miền riêng (private domain names) như application1.company.internal.

Mỗi Hosted Zone sẽ được tính phí $0.50 mỗi tháng.

5. Route 53 – Public vs. Private Hosted Zones.

Public Hosted Zones và Private Hosted Zones là hai loại hosted zones khác nhau trên Amazon Route 53.

Public Hosted Zones được sử dụng để quản lý các tên miền công khai trên internet. Nó chứa các bản ghi DNS để định tuyến lưu lượng đến các tài nguyên của bạn, chẳng hạn như máy chủ web hoặc load balancer.

Private Hosted Zones được sử dụng để quản lý tên miền riêng tư trong các mạng riêng ảo của bạn (VPCs). Chúng giúp định tuyến lưu lượng trong VPC của bạn bằng cách sử dụng tên miền riêng, giúp cho việc quản lý và định vị tài nguyên của bạn dễ dàng hơn. Private Hosted Zones cũng cung cấp tính năng định tuyến lưu lượng giữa các VPC khác nhau trong cùng một tài khoản AWS.

Cả hai loại Hosted Zones đều cung cấp các bản ghi DNS phổ biến như A, CNAME, NS, và MX, v.v.

6. Thực hành.

6.1. Thực hành mua 1 domain.

Vào Route 53.

Bấm vào Registered domains -> Register Domain.

Để tìm tên domain bạn điền tên domain của bạn muốn đăng ký vào Choose a domain name và bấm check. Bạn sẽ nhân được thông tin và giá của domain đó.

Nếu bạn đồng ý mua domain thì bấm vào Add to cart. Bạn sẽ có giá bảng Shopping cart, tại bảng Shopping cart bạn có thể lựa chọn số năm muốn gia hạn cho domain này.

Kéo xuống dưới cùng và bấm continue.

Phần Contact Details for Your 1 Domain bạn hãy nhập thông tin cá nhân của bạn theo yêu cầu.

Kéo xuống dưới cùng ta thấy có 1 tuỳ chọn Privacy Protection. Vậy Privacy Protection là gì? Privacy Protection là một tính năng của các nhà đăng ký tên miền mà cho phép che giấu thông tin liên lạc của chủ sở hữu tên miền trên các cơ sở dữ liệu WHOIS công khai. Thay vì thông tin liên hệ như tên, địa chỉ và số điện thoại của chủ sở hữu tên miền được công bố, các thông tin này sẽ được thay thế bằng thông tin liên hệ ẩn danh của nhà đăng ký dịch vụ Privacy Protection. Tính năng này giúp bảo vệ quyền riêng tư của chủ sở hữu tên miền và giảm thiểu lượng thông tin cá nhân có thể bị thu thập từ các bên thứ ba truy cập vào cơ sở dữ liệu WHOIS.

Phần Check your contact details cho phép bạn review lại thông tin liên lạc của mình.

Tại tuỳ chọn Do you want to automatically renew your domain bạn chọn Enable nếu muốn giữ tên miền của mình mãi mãi hoặc Disable nếu muốn gia hạn từng năm. Tích vào I have read and agree to the AWS Domain Name Registration Agreement để đồng ý các điều khoản của AWS và bấm Complete Order để đặt hàng.

Đây là hình ảnh tên miền đã đăng ký thành công, bạn sẽ có thông tin đơn hàng đã đặt mua và có thể mất vài phút hoặc vài giờ để quá trình đặt hàng thành công.

Tên miền của bạn sau khi mua sẽ nằm ở phần Hosted zones bao gồm thông tin các tên miền đã mua, loại tên miền public hay private, số lượng recod của mỗi tên miền,…

Nếu bạn click vào tên miền bất kỳ, bạn sẽ có các thông tin chi tiết hơn về các record.

6.2. Tạo record đầu tiên.

Để tạo record đầu tiên hãy vào Create record.

Amazon Route 53 hỗ trợ nhiều loại bản ghi (record) khác nhau để điều hướng DNS và cung cấp các dịch vụ khác nhau cho các tên miền. Dưới đây là các loại record chính được hỗ trợ bởi Route 53:

  1. A (Address): Map một tên miền (domain) đến một địa chỉ IPv4.
  2. AAAA (IPv6 Address): Map một tên miền (domain) đến một địa chỉ IPv6.
  3. CNAME (Canonical Name): Map một tên miền (domain) đến một tên miền khác (canonical name).
  4. MX (Mail Exchange): Xác định máy chủ thư điện tử để nhận thư đến cho một tên miền.
  5. NS (Name Server): Chỉ định tên các máy chủ DNS cung cấp thông tin về tên miền.
  6. SOA (Start of Authority): Chỉ định các thông tin cơ bản về tên miền, bao gồm tên miền chính, email của người quản trị, thời gian cập nhật, v.v.
  7. SRV (Service): Xác định máy chủ cung cấp một dịch vụ cụ thể cho một tên miền.
  8. TXT (Text): Cung cấp các thông tin bổ sung về tên miền, như chứng chỉ SSL, SPF (Sender Policy Framework), DKIM (DomainKeys Identified Mail), v.v.

Các loại record này được sử dụng để xác định cách điều hướng traffic, xác định máy chủ email, cung cấp thông tin bổ sung cho tên miền và nhiều hơn nữa. Các loại record này cùng nhau hỗ trợ các dịch vụ DNS toàn diện trên Route 53.

Amazon Route 53 hỗ trợ các routing policy sau:

  1. Simple Routing Policy: Sử dụng cho trường hợp chỉ có một endpoint hoặc bạn muốn sử dụng endpoint đầu tiên được trả về bởi Route 53.
  2. Weighted Routing Policy: Sử dụng để phân phối lưu lượng truy cập đến các endpoint khác nhau với tỷ lệ xác định trước. Các khối lượng truy cập được phân phối theo tỷ lệ trọng số đã thiết lập.
  3. Latency-based Routing Policy: Sử dụng để định tuyến các yêu cầu đến địa chỉ IP endpoint gần nhất cho người dùng dựa trên thời gian đáp ứng của mỗi endpoint.
  4. Failover Routing Policy: Sử dụng để định tuyến yêu cầu đến primary endpoint, nếu nó không khả dụng thì Route 53 sẽ định tuyến đến endpoint secondary.
  5. Geolocation Routing Policy: Sử dụng để định tuyến các yêu cầu đến các endpoint khác nhau dựa trên vị trí địa lý của người dùng.
  6. Geoproximity Routing Policy: Sử dụng để định tuyến yêu cầu đến endpoint gần nhất với vị trí địa lý của người dùng hoặc endpoint khác theo khu vực địa lý của người dùng.
  7. Multivalue Answer Policy: Sử dụng để cung cấp nhiều giá trị A hoặc AAAA với các IP khác nhau để phân tán tải cho các endpoint của bạn.

Mỗi policy sẽ phù hợp với một số trường hợp sử dụng khác nhau, tùy thuộc vào nhu cầu của bạn.

Sau khi tạo bạn sẽ có kết quả như vậy.

Hãy dùng 1 thiết bị có kết nối internet để kiểm tra, mình sử dụng luôn AWS CloudShell. Kiểm tra bằng lệnh nslookup.

Kiểm tra bằng lệnh dig.

6.3. EC2 kết với với Route53.

Route 53 – EC2 Setup là một quá trình để định tuyến lưu lượng truy cập tới các Amazon Elastic Compute Cloud (EC2) instances sử dụng Amazon Route 53. Quá trình này cho phép bạn cấu hình các bản ghi DNS để định tuyến yêu cầu đến các EC2 instances dựa trên loại yêu cầu, vị trí người dùng, độ trễ mạng và nhiều yếu tố khác.

Khi tạo bản ghi DNS, bạn có thể chọn một trong các chính sách định tuyến khác nhau, bao gồm chính sách định tuyến đơn giản, định tuyến dựa trên vị trí, định tuyến dựa trên độ trễ, định tuyến nhiều giá trị và nhiều chính sách định tuyến khác.

Việc cấu hình Route 53 – EC2 Setup là rất quan trọng trong việc tạo một môi trường độc lập, mở rộng, chịu lỗi tốt cho các ứng dụng chạy trên các EC2 instances.

Hãy tạo 3 EC2 với mỗi EC2 nằm ở 1 Region khác nhau, tất cả các EC2 hãy sử dụng user data này để tạo webserver cho nó.

#!/bin/bash
yum update -y
yum install -y httpd

systemctl start httpd
systemctl enable httpd
EC2_AVAIL_ZONE=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone)
echo "<h1>Hello World from $(hostname -f) in AZ $EC2_AVAIL_ZONE </h1>" > /var/www/html/index.html

Đây là kết quả EC2 tạo ở Frankfurt.

Đây là kết quả EC2 tạo ở N. Virginia.

Đây là kết quả EC2 tạo ở Singapore.

Giờ mình tạo 1 Application Load Balancers.

Chọn VPC và nhớ tích chọn 3 AZ của bạn.

Mình lựa chọn Security groups đã tạo từ trước. Bấm vào Create target group để tạo 1 target group mới.

Mình chọn kiểu kết nối là Instances.

Đặt tên cho target group, các thông số còn lại mình sẽ cài đặt như hình dưới.

Phần Health checks mình cài đặt như dưới và bấm Next.

Lựa chọn Instances muốn gắn target group và bấm Include as pending below.

Nếu không có gì thay đổi, bạn bấm Create target group.

Đây là kết quả tạo thành công 1 Target group.

Hãy quay lại phần Listeners and routing, bạn sẽ thấy Target group vừa tạo xong và bạn hãy chọn nó.

Phần cuối hệ thống sẽ cho bạn review tóm tắt lại các thành phần bạn đã thiết lập. Nếu không có gì thay đổi, hãy bấm Create load balancer để tạo Application Load Balancers.

Thông báo tạo Application Load Balancers thành công, bạn có thể bấm vào View load balancer để xem lại Application Load Balancers đã tạo.

Tại phần DNS name, bạn hãy lấy domain này và dán vào trình duyệt.

Và đây là kết quả.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories