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

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

選擇別名或非別名記錄

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

與 CNAME 記錄不同,您可以在 DNS 命名空間的頂端節點建立別名記錄,也稱為區域頂點。例如,如果您註冊 DNS 名稱 example.com,則區域 apex 為 example.com。您無法為 example.com 建立 CNAME 記錄,但您可以為 example.com 建立別名記錄,將流量路由至 www.example.com (只要 www.example.com 的記錄類型不是 CNAME)。

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

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

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

  • A CloudFront 分佈 – Route 53 會以一或多個 IP 地址回應,供內容使用的 CloudFront 邊緣伺服器。

  • 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) 同名的別名記錄。唯一的例外是,當您想要將查詢從區域頂點 (例如 example.com) 重新導向至相同託管區域中具有 CNAME 類型的記錄 (例如 zenith.example.com) 時。別名記錄必須與您路由流量的目標記錄具有相同的類型,而且即使別名記錄也不支援為區域頂點建立 CNAME 記錄。

CNAME 記錄

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

DNS 查詢的定價
別名記錄

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

CNAME 記錄

CNAME 查詢的 Route 53 費用。

注意

如果您建立的 CNAME 記錄會重新導向到 Route 53 託管區域中另一個記錄的名稱 (相同的託管區域或其他託管區域),則每個 DNS 查詢都會收費為兩個查詢:

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

  • 然後 DNS 解析程式必須針對第一個回應中的記錄提交另一個查詢,以取得有關在何處引導流量的資訊,例如 Web 伺服器的 IP 地址。

如果 CNAME 記錄重新導向至由另一個 DNS 服務託管的記錄名稱,Route 53 會針對一個查詢收費。其他 DNS 服務可能會針對第二個查詢收費。

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

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

CNAME 記錄

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

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

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

CNAME 記錄

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