選擇別名或非別名記錄 - Amazon Route 53

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

選擇別名或非別名記錄

Amazon Route 53 別名記錄為 DNS 功能提供 Route 53 特定延伸。別名記錄可讓您將流量路由到選定的 AWS 資源,包括但不限於CloudFront 分發和 Amazon S3 儲存貯體。也可讓您將流量從託管區域中的某個記錄路由至另一個記錄。

與 CNAME 記錄不同,您可以在 DNS 命名空間的頂端節點 (也稱為 Zone Apex) 上建立別名記錄。例如,如果您註冊 DNS 名稱 example.com,Zone Apex 就是 example.com。您不能為 example.com 建立 CNAME 記錄,但可以為會將流量路由至 www.example.com 的 example.com 建立別名記錄 (只要 www.example.com 的記錄類型並非 CNMAE 類型)。

當 Route 53 收到別名記錄的 DNS 查詢時,Route 53 會以適用於該資源的值來回應:

  • Amazon API Gateway 自訂區域 API 或邊緣最佳化 API – Route 53 會使用 API 的一或多個 IP 地址來回應。

  • Amazon VPC 介面端點 – Route 53 會使用介面端點的一或多個 IP 地址來回應。

  • 發 CloudFront 佈 — Route 53 會針對可提供內容的CloudFront 邊緣伺服器的一或多個 IP 位址進行回應。

  • Elastic Beanstalk 環境 – Route 53 會使用環境的一或多個 IP 地址來回應。

  • Elastic Load Balancing 負載平衡器:Route 53 會使用負載平衡器的一個或多個 IP 地址來回應。這包括 Application Load Balancer、Classic Load Balancer 和 Network Load Balancer。

  • 加 AWS Global Accelerator 速器 — Route 53 會回應加速器的 IP 位址。

  • 設定為靜態網站的 Amazon S3 儲存貯體 – Route 53 使用 Amazon S3 儲存貯體的一個 IP 地址回應每個請求。

  • 相同託管區域中的其他相同類型的 Route 53 記錄 - Route 53 會將查詢視為如同針對別名記錄所參考的記錄來回應 (請參閱 別名和 CNAME 記錄的比較)。

  • AWS AppSync 網域名稱 — Route 53 會針對您的介面端點使用一或多個 IP 位址進行回應。

當您使用別名記錄將流量路由到 AWS 資源時,Route 53 會自動識別資源中的變更。例如,假設 example.com 的別名記錄指向位於 lb1-1234.us-east-2.elb.amazonaws.com 的 Elastic Load Balancing 負載平衡器。如果負載平衡器的 IP 地址變更,Route 53 會使用新的 IP 地址,自動開始回應 DNS 查詢。

如果別名記錄指向 AWS 資源,則無法設定存留時間 (TTL);Route 53 會使用資源的預設 TTL。如果別名記錄指向相同託管區域中的另一個記錄,Route 53 會使用該別名記錄指向的記錄的 TTL。如需「Elastic Load Balancing」目前的 TTL 值的詳細資訊,請前往 Elastic Load Balancing 使用指南中的要求路由並搜尋「ttl」。

如需如何使用 Route 53 主控台建立記錄的資訊,請參閱 使用 Amazon Route 53 主控台來建立記錄。如需為別名記錄指定值的詳細資訊,請參閱您在建立或編輯 Amazon Route 53 記錄指定的值中適用的主題:

別名和 CNAME 記錄的比較

別名記錄與 CNAME 記錄類似,但有一些重要的差異。下列清單比較別名記錄和 CNAME 記錄。

您可將查詢重新引導到下列資源
別名記錄

別名記錄只能將查詢重新導向至選取的 AWS 資源,包括但不限於下列項目:

  • Amazon S3 儲存貯體

  • CloudFront 分佈

  • 同一個 Route 53 託管區域中的另一個記錄

例如,您可以建立名為 acme.example.com 的別名記錄,將查詢重新引導到也名為 acme.example.com 的 Amazon S3 儲存貯體。您也可以建立 acme.example.com 別名記錄,將查詢重新引導到 example.com 託管區域中名為 zenith.example.com 的記錄。

CNAME 記錄

CNAME 記錄可以將 DNS 查詢重新引導到任何 DNS 記錄。例如,您可以建立 CNAME 記錄,將來自 acme.example.com 的查詢重新引導到 zenith.example.com 或 acme.example.org。對於您將查詢重新引導到的網域,您不需要使用 Route 53 作為 DNS 服務。

建立與網域具有相同名稱的記錄 (Zone Apex 的記錄)
別名記錄

在大多數組態中,您可以建立與託管區域 (Zone Apex) 同名的別名記錄。但如果您想要將來自 Zone Apex (例如 example.com) 的查詢,重新引導到相同託管區域中類型為 CNAME 的記錄 (例如 zenith.example.com),則是例外。別名記錄必須與流量路由到的目標記錄具有相同的類型,而不支援為 Zone Apex 建立 CNAME 記錄的做法,即使對於別名記錄也是如此。

CNAME 記錄

您無法建立與託管區域 (Zone Apex) 同名的 CNAME 記錄。對於網域名稱的託管區域 (example.com) 和子網域的託管區域 (zenith.example.com),都是如此。

DNS 查詢的定價
別名記錄

Route 53 對 AWS 資源的別名查詢不收取費用。如需詳細資訊,請參閱 Amazon Route 53 定價

CNAME 記錄

Route 53 針對 CNAME 查詢收取費用。

注意

如果您建立重新引導到 Route 53 託管區域 (同一個託管區域或另一個託管區域) 中另一個記錄名稱的 CNAME 記錄,每個 DNS 查詢都會變更為兩個查詢:

  • Route 53 會以您要重新引導的目標記錄名稱回應第一個 DNS 查詢。

  • 接著,DNS 解析器必須為第一個回應中的記錄提交另一個查詢,以取得有關要將流量導向到哪個位置的資訊,例如 Web 伺服器的 IP 地址。

如果 CNAME 記錄重新引導到使用另一個 DNS 服務託管的記錄名稱,Route 53 收取一個查詢的費用。另一個 DNS 服務可能會針對第二個查詢收取費用。

DNS 查詢中指定的記錄類型
別名記錄

只在當別名記錄的名稱 (例如 acme.example.com) 和別名記錄的類型 (例如 A 或 AAAA) 符合 DNS 查詢中的名稱和類型時,Route 53 才會回應 DNS 查詢。

CNAME 記錄

無論 DNS 查詢中指定的記錄類型為何 (例如 A 或 AAAA),CNAME 記錄都會重新引導記錄名稱的 DNS 查詢。

dig 或 nslookup 查詢中的記錄列出方式
別名記錄

為回應 dig 或 nslookup 查詢,別名記錄會列為您在建立記錄時指定的記錄類型 (例如 A 或 AAAA) (您指定的別名記錄的記錄類型取決於接收路由流量的資源。例如,若要將流量路由到 S3 儲存貯體,則為該類型指定 A)。別名屬性只能在 Route 53 主控台或程式設計要求 (例如 AWS CLI list-resource-record-sets 命令) 的回應中看到。

CNAME 記錄

CNAME 記錄會列為 CNAME 記錄,以回應 dig 或 nslookup 查詢。