Thursday, November 21, 2024

[AWS] CNAME vs Alias

-

1. CNAME và Alias là gì?

CNAME và Alias là hai loại bản ghi DNS khác nhau được sử dụng trong Amazon Route 53 để chỉ định tên miền của bạn đến các tài nguyên AWS khác nhau.

CNAME được sử dụng để chỉ định một tên miền của bạn đến một tên miền khác. Nó chỉ hoạt động cho các tên miền con và không hoạt động với tên miền gốc. CNAME thường được sử dụng cho các tên miền mà chỉ cần trỏ đến một tên miền khác mà không cần các tính năng khác như xác thực và kiểm tra tính khả dụng.

Alias được sử dụng để chỉ định một tên miền của bạn đến một tài nguyên AWS như Elastic Load Balancer, CloudFront, hoặc S3 bucket. Alias có thể được sử dụng cho tên miền gốc và tên miền con và được cung cấp miễn phí. Alias cung cấp tính năng kiểm tra tính khả dụng tự động cho các tài nguyên AWS mà nó trỏ đến.

2. Route 53 – Alias Records là gì?

Route 53 – Alias Records là một loại bản ghi DNS được sử dụng để chỉ định một tài nguyên AWS như một đích đến của tên miền. Nó cho phép tên miền được định tuyến trực tiếp đến tài nguyên AWS thay vì trỏ đến một tên miền trung gian thông qua một bản ghi CNAME. Alias Records có thể được sử dụng cho các tài nguyên như Elastic Load Balancers, CloudFront distributions, S3 buckets và các tài nguyên khác trong AWS. Alias Records cũng cung cấp kiểm tra sức khỏe và tính khả dụng cho tài nguyên AWS được đính kèm. Alias Records được hỗ trợ bởi Route 53 và không tính phí cho việc sử dụng.

Các thành phần của Alias Records trên Route 53:

  • Alias Records cho phép map một hostname của bạn tới một tài nguyên AWS, ví dụ như một Load Balancer hoặc một CloudFront distribution.
  • Alias Records là một phần mở rộng của chức năng DNS, cho phép Route 53 tự động nhận diện các thay đổi địa chỉ IP của tài nguyên AWS.
  • Khác với CNAME, Alias Records có thể được sử dụng cho top node của DNS namespace (Zone Apex), ví dụ như example.com.
  • Alias Record luôn có loại A/AAAA cho các tài nguyên AWS (IPv4 / IPv6).
  • Không thể thiết lập TTL cho Alias Record, TTL được quản lý tự động bởi Route 53 để đảm bảo tính khả dụng của tài nguyên.

3. Route 53 – Alias Records Targets là gì?

Trong Route 53, Alias Record Targets là mục tiêu của Alias Record, nơi mà bạn sử dụng Alias Record để định tuyến traffic đến. Các Alias Record Targets có thể là các tài nguyên AWS khác nhau như Elastic Load Balancer, CloudFront Distribution, S3 bucket hoặc tên miền khác trong Route 53.

Alias Record Targets được sử dụng để tạo các định tuyến dựa trên tài nguyên AWS, giúp tránh sử dụng các định tuyến dựa trên địa chỉ IP thủ công. Alias Record cũng tự động phát hiện các thay đổi trong địa chỉ IP của tài nguyên AWS đó và cập nhật các bản ghi tương ứng mà không cần can thiệp bằng tay.

Alias Records Targets trong Route 53 là các tài nguyên của AWS như Elastic Load Balancers, CloudFront Distributions, API Gateway, Elastic Beanstalk environments, S3 Websites, VPC Interface Endpoints, Global Accelerator accelerator, hoặc một Route 53 record trong cùng một hosted zone.

Khi bạn sử dụng Alias Records, bạn sẽ không phải lo lắng về việc phải thay đổi địa chỉ IP thủ công khi các tài nguyên của bạn thay đổi, vì Alias Records tự động nhận ra các thay đổi này và cập nhật các giá trị IP tương ứng.

Tuy nhiên, bạn không thể sử dụng Alias Records cho các tên miền EC2 DNS.

4. Thực hành.

Bây giờ hãy thử thực hành vào tạo 1 record mới nhé, bấm vào Create record.

Chọn Record type là NAME – Routes traffic to a…. và Value là enpoint của application load balancer.

Sau khi bấm Create records, bạn sẽ có 1 domain mới như dưới.

Hãy truy cập vào domain này và bạn có kết quả như dưới.

Giờ chúng ta hãy thử trường hợp sử dụng Alias Records cho các tên miền EC2 DNS bằng cách tạo 1 record mới theo cài đặt sau.

Chọn vùng cho record.

Chọn LBL và bấm Create records/

Ta có 1 Record mới như dưới.

Bây giờ hãy truy cập thử domain này và chúng ta có kết quả.

Giờ chúng ta hãy thử trường hợp tạo một bản ghi CNAME cho một tên miền chính bằng cách tạo 1 record mới theo cài đặt sau, vào Create record.

Lựa chọn Record type là NAME – Routes traffic to a… và Value là application load balancer có sẵn.

Bạn sẽ nhận được thông báo lỗi như dưới. Lỗi này xảy ra khi bạn cố gắng tạo một bản ghi CNAME cho một tên miền chính (apex domain) trên Route 53. Theo chuẩn DNS, không thể có bản ghi CNAME cho tên miền chính, vì tên miền chính phải có một bản ghi A hoặc AAAA để trỏ đến địa chỉ IP của máy chủ. Vì vậy, bạn không thể sử dụng bản ghi CNAME cho tên miền chính, như trong trường hợp này, tên miền stephanetheteacher.com đã có một bản ghi A hoặc AAAA rồi. Bạn có thể sử dụng bản ghi ALIAS thay thế cho bản ghi CNAME.

Giờ mình hãy thử tạo một bản ghi A hoặc AAAA cho một tên miền chính xem kết quả sao nhé. Ở Record type bạn chọn A – Routes traffic to an IPv4…, ở Route traffic to chọn Route traffic to Alias to Application and Classic Load Balancer.

Lựa chọn Region.

Và cuối cùng là 1 LBL có sẵn (ví dụ mình có application load balancer có sẵn).

Sau khi bấm tạo Create records bạn sẽ không thấy báo lỗi nữa vì Record type của mình đang để bản ghi A hoặc AAAA.

Hãy kiểm tra kết quả bằng cách truy cập domain vừa tạo nhé.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories