本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
認識 Amazon DNS
身為 AWS 架構師或管理員,您會遇到的其中一個基礎聯網元件是 Amazon DNS 伺服器,也稱為 Route 53 Resolver。此 DNS 解析程式服務原生整合到您 AWS 區域內的每個可用區域,為虛擬私有雲端 (VPC) 中的網域名稱解析提供可靠且可擴展的解決方案。在本節中,您將了解 Amazon DNS 伺服器的 IP 位址、可以解析的私有 DNS 主機名稱,以及管理其用量的規則。
Amazon DNS 伺服器
Route 53 Resolver (也稱為「Amazon DNS 伺服器」或「AmazonProvidedDNS」) 是一種 DNS Resolver 服務,內建於 AWS 區域中的每個可用區域。Route 53 Resolver 位於 169.254.169.253
(IPv4)、fd00:ec2::253
(IPv6) 以及佈建至 VPC+2 的主要私有 IPV4 CIDR 範圍。例如,如果您的 VPC 具有 10.0.0.0/16
IPv4 CIDR 和 2001:db8::/32
IPv6 CIDR,則您可以連線位於 169.254.169.253
(IPv4)、fd00:ec2::253
(IPv6) 或 10.0.0.2
(IPv4) 的 Route 53 Resolver。VPC 內的資源會使用 DNS 查詢的連結本機地址。這些查詢會私下傳輸到 Route 53 Resolver,且不會顯示在網路上。在僅 IPv6 子網路中,只要「AmazonProvidedDNS」是 DHCP 選項集中的名稱伺服器,IPv4 連結本機地址 (169.254.169.253) 仍然可以連線。
當您在 VPC 中啟動執行個體時,我們會為該執行個體提供私有 DNS 主機名稱。如果該執行個體設定了公有 IPv4 地址,且 VPC DNS 屬性已啟用,我們也會提供公有 DNS 主機名稱。
私有 DNS 主機名稱的格式取決於您在啟動 EC2 執行個體時設定的方式。如需有關私有 DNS 主機名稱類型的詳細資訊,請參閱《Amazon EC2 使用者指南》中的 Amazon EC2 執行個體主機名稱類型。
在您 VPC 中的 Amazon DNS 伺服器,會用於解析您在 Route 53 中私有託管區域中指定的 DNS 網域名稱。如需私有託管區域的詳細資訊,請參閱 Amazon Route 53 開發人員指南中的使用私有託管區域。
規則和考量
使用 Amazon DNS 伺服器時,須遵循以下規則和考量。
-
您無法使用網路 ACL 或安全群組來篩選與 Amazon DNS 伺服器往來的流量。
-
使用 Hadoop 框架的服務 (如 Amazon EMR),會請求執行個體解析其完全合格的網域名稱 (FQDN)。在此情況下,如果
domain-name-servers
選項設定為自訂值,則 DNS 解析可能會失敗。若要確保正確解析 DNS,請考慮在您的 DNS 伺服器上新增條件式轉寄站,將針對
網域的查詢轉送至 Amazon DNS 伺服器。如需詳細資訊,請參閱 Amazon EMR 管理指南中的設定 VPC 以託管叢集。region-name
.compute.internal -
Amazon Route 53 Resolver 只支援遞迴 DNS 查詢。
EC2 執行個體的 DNS 主機名稱
當您啟動執行個體時,它始終會接收私有 IPv4 地址和對應至其私有 IPv4 地址的私有 DNS 主機名稱。如果您的執行個體具有公有 IPv4 地址,其 VPC 的 DNS 屬性會決定它是否接收對應於該公有 IPv4 地址的公有 DNS 主機名稱。如需詳細資訊,請參閱VPC 的 DNS 屬性。
啟用 Amazon 提供的 DNS 伺服器後,DNS 主機名稱會解析如下。
私有 IPv4 DNS 名稱
執行個體的私有 IPv4 DNS 主機名稱會解析為其私有 IPv4 地址。您可以使用私有 IPv4 DNS 主機名稱,在相同 VPC 或連線 VPCs中的執行個體之間進行通訊。如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的私有 IPv4 地址。
公有 IPv4 DNS 名稱
執行個體的公有 IPv4 DNS 主機名稱會解析為其公有 IPv4 地址 (執行個體網路外部) 或其私有 IPv4 地址 (執行個體網路內部)。如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的公有 IPv4 地址。
若要透過 VPC 對等互連將公有 IPv4 DNS 名稱解析為私有 IPv4 地址,您必須啟用對等互連的 DNS 解析。如需詳細資訊,請參閱啟用 VPC 對等互連的 DNS 解析。
私有資源 DNS 名稱
RBN 型 DNS 名稱,可解析為此執行個體選取的 A 和 AAAA DNS 記錄。此 DNS 主機名稱會顯示在雙堆疊和僅限 IPv6 子網中執行個體的執行個體詳細資訊中。如需 RBN 的詳細資訊,請參閱《Amazon EC2 使用者指南》中的 EC2 執行個體主機名稱類型。 Amazon EC2
VPC 的 DNS 屬性
下列 VPC 屬性會決定為您的 VPC 提供的 DNS 支援。如果啟用兩個屬性,則在 VPC 中啟動的執行個體會收到公有 DNS 主機名稱 (如果在建立時被指派公有 IPv4 地址或彈性 IP 地址)。如果您對 VPC 啟用兩個屬性 (原本並未啟用),則已在 VPC 中啟動的執行個體會收到公有 DNS 主機名稱 (如果其具備公有 IPv4 地址或彈性 IP 地址)。
若要確認您的 VPC 是否啟用這些屬性,請參閱 檢視和更新 VPC 的 DNS 屬性。
屬性 | 描述 |
---|---|
enableDnsHostnames |
判斷 VPC 是否支援將公有 DNS 主機名稱指派給具有公有 IP 地址的執行個體。 此屬性的預設值為 |
enableDnsSupport |
確定 VPC 是否支援透過 Amazon 提供的 DNS 伺服器進行 DNS 解析。 如果此屬性為 此屬性的預設值為 |
規則和考量
-
如果這兩個屬性都設定為
true
,會發生下列情況:-
具有公有 IP 地址的執行個體會收到對應的公有 DNS 主機名稱。
-
Amazon Route 53 Resolver 伺服器可以解析 Amazon 提供的私有 DNS 主機名稱。
-
-
如果至少一個屬性設定為
false
,將發生以下情況:-
具有公有 IP 地址的執行個體不會收到對應的公有 DNS 主機名稱。
-
Amazon Route 53 Resolver 無法解析 Amazon 提供的私有 DNS 主機名稱。
-
如果 DHCP 選項集中有自訂網域名稱,則執行個體會收到自訂私有 DNS 主機名稱。如果您未使用 Amazon Route 53 Resolver 伺服器,您的自訂網域名稱伺服器就必須視需要解析主機名稱。
-
-
如果您使用 Amazon Route 53 中私有託管區域中定義的自訂 DNS 網域名稱,或使用具有介面 VPC 端點的私有 DNS (AWS PrivateLink),則必須將
enableDnsHostnames
和enableDnsSupport
屬性皆設為true
。 -
Amazon Route 53 Resolver 可以將私有 DNS 主機名稱解析為所有地址空間的私有 IPv4 地址,包括 VPC 的 IPv4 地址範圍超出 RFC 1918
指定的私有 IPv4 地址範圍。但是,如果您的 VPC 是在 2016 年 10 月之前建立,當 VPC 的 IPv4 地址範圍超出這些範圍時, Amazon Route 53 Resolver 就無法解析私有 DNS 主機名稱。若要啟用這項支援,請聯絡 支援 。
DNS 配額
使用連結本機地址的服務有每秒 1024 個封包 (PPS) 限制。此限制包括 Route 53 Resolver DNS 查詢、執行個體中繼資料服務 (IMDS) 請求、Amazon Time Service Network Time Protocol (NTP) 請求和 Windows Licensing Service (適用於 Microsoft Windows 型執行個體)
依據查詢類型、回應大小以及使用的通訊協定而異,Route 53 Resolver 支援的每秒 DNS 查詢數目也不同。如需詳細資訊和可擴展的 DNS 架構建議,請參閱《AWS
混合 DNS 與 Active Directory
如果您達到配額限制,Route 53 Resolver 會拒絕流量。達到配額限制的一些原因可能是 DNS 調節問題,或使用 Route 53 Resolver 網路介面的執行個體中繼資料查詢。如需關於如何解決 VPC DNS 節流問題的資訊,請參閱如何判斷我向 Amazon 提供之 DNS 伺服器的 DNS 查詢是否會因 VPC DNS 節流而失敗
私有託管區域
若要使用自訂 DNS 網域名稱存取 VPC 中的資源,例如 example.com
,而不是使用私有 IPv4 地址或 AWS提供的私有 DNS 主機名稱,您可以在 Route 53 中建立私有託管區域。私有託管區域是一種容器,其中包含的資訊說明您可以如何在一或多個 VPC 中路由某個網域及其子網域的流量,而不用將資源公開至網際網路。接著,您可以建立 Route 53 資源紀錄集,以決定 Route 53 如何回應網域和子網域的查詢。舉例來說,如果您想將 example.com 的瀏覽器請求路由至 VPC 中的 Web 伺服器,您可以在私有託管區域中建立 A 記錄,然後指定該 Web 伺服器的 IP 地址。如需如何建立私有託管區域的詳細資訊,請參閱 Amazon Route 53 開發人員指南中的使用私有託管區域。
若要使用自訂 DNS 網域名稱來存取資源,您必須連線至 VPC 內的執行個體。您可以在執行個體中使用 ping
命令 (例如 ping mywebserver.example.com
),來測試私有託管區域中的資源是否可透過其自訂 DNS 名稱來存取。(您必須確認執行個體的安全群組允許傳入 ICMP 流量,ping
命令才能運作。)
私有託管區域將無法支援 VPC 之外的轉移關係;這樣一來,您就無法使用資源的自訂私有 DNS 名稱從 VPN 連線另一端存取資源。
重要
如果您使用在 Amazon Route 53 私有託管區域中定義的自訂 DNS 網域名稱,則必須將 enableDnsHostnames
和 enableDnsSupport
屬性設定為 true
。