VPC 的 DNS 屬性 - Amazon Virtual Private Cloud

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

VPC 的 DNS 屬性

網域名稱系統 (DNS) 是一種在網際網路上用於解析為對應 IP 地址的標準名稱。DNS 主機名稱是電腦的唯一絕對名稱;由主機名稱和網域名稱組成。DNS 伺服器會將 DNS 主機名稱解析為對應的 IP 地址。

公有 IPv4 地址可啟用透過網際網路的通訊,而私有 IPv4 地址可啟用執行個體網路內的通訊。如需詳細資訊,請參閱 您 VPC 和子網路的 IP 定址

Amazon 為您的 VPC 提供 DNS 伺服器 (Amazon Route 53 Resolver)。若要改用您自己的 DNS 伺服器,請為 VPC 建立一組新的 DHCP 選項。如需詳細資訊,請參閱 Amazon VPC 中的 DHCP 選項集

Amazon DNS 伺服器

Route 53 解析器(也稱為「Amazon DNS 服務器」或「AmazonProvidedDNS」)是內置在一個區域的每個可用區域中的 DNS 解析器服務。 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 和 fd00:ec2::253 IPv6 CIDR,則您可以連線位於 169.254.169.253 (IPv4)、fd00:ec2::253 (IPv6) 或 10.0.0.2 (IPv4) 的 Route 53 Resolver。VPC 內的資源會使用連結本機位址進行 DNS 查詢。這些查詢會私下傳送到 Route 53 解析器,並且在網路上看不到。在僅限 IPv4 的子網路中,只要「AmazonProvidedDNS」是 DHCP 選項集中的名稱伺服器,就可以存取 IPv4 連結本機位址 (169.254.169.253)。

當您在 VPC 中啟動執行個體時,我們會為該執行個體提供私有 DNS 主機名稱。如果該執行個體設定了公有 IPv4 地址,且 VPC DNS 屬性已啟用,我們也會提供公有 DNS 主機名稱。

私有 DNS 主機名稱的格式取決於您在啟動 EC2 執行個體時設定的方式。如需有關私有 DNS 主機名稱類型的詳細資訊,請參閱「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 伺服器上新增條件式轉寄站,將針對 region-name.compute.internal 網域的查詢轉送至 Amazon DNS 伺服器。如需詳細資訊,請參閱 Amazon EMR 管理指南中的設定 VPC 以託管叢集

  • Amazon Route 53 Resolver 只支援遞迴 DNS 查詢。

DNS 主機名稱

當您啟動執行個體時,它始終會接收私有 IPv4 地址和對應至其私有 IPv4 地址的私有 DNS 主機名稱。如果您的執行個體具有公有 IPv4 地址,其 VPC 的 DNS 屬性會決定它是否接收對應於該公有 IPv4 地址的公有 DNS 主機名稱。如需詳細資訊,請參閱 VPC 中的 DNS 屬性

啟用 Amazon 提供的 DNS 伺服器後,會指派 DNS 主機名稱並解析如下。

私有 IP DNS 名稱 (僅限 IPv4)

您可以使用私有 IP DNS 名稱 (僅限 IPv4) 主機名稱,在相同 VPC 的執行個體之間進行通訊。您可以解析其他 VPC 中其他執行個體的私有 IP DNS 名稱 (僅限 IPv4) 主機名稱,只要執行個體位於相同 AWS 區域,且其他執行個體的主機名稱位於 RFC 1918:、和所定義的私人位址空間範圍內。10.0.0.0 - 10.255.255.255 (10/8 prefix) 172.16.0.0 - 172.31.255.255 (172.16/12 prefix) 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)

私有資源 DNS 名稱

RBN 型 DNS 名稱,可解析為此執行個體選取的 A 和 AAAA DNS 記錄。此 DNS 主機名稱會顯示在雙堆疊和僅限 IPv6 子網中執行個體的執行個體詳細資訊中。如需有關 RBN 的詳細資訊,請參閱「EC2 執行個體主機名稱類型」。

公有 IPv4 DNS

公有 (外部) IPv4 DNS 主機名稱會對 us-east-1 區域採用 ec2-public-ipv4-address.compute-1.amazonaws.com 格式,對其他區域則採用 ec2-public-ipv4-address.region.compute.amazonaws.com 格式。Amazon DNS 伺服器可將公有 DNS 主機名稱解析為執行個體網路外部的執行個體公有 IPv4 地址,以及執行個體網路內部的執行個體私有 IPv4 地址。如需詳細資訊,請參閱 Amazon EC2 使用者指南中的公用 IPv4 地址和外部 DNS 主機名稱

VPC 中的 DNS 屬性

下列 VPC 屬性會決定為您的 VPC 提供的 DNS 支援。如果啟用兩個屬性,則在 VPC 中啟動的執行個體會收到公有 DNS 主機名稱 (如果在建立時被指派公有 IPv4 地址或彈性 IP 地址)。如果您對 VPC 啟用兩個屬性 (原本並未啟用),則已在 VPC 中啟動的執行個體會收到公有 DNS 主機名稱 (如果其具備公有 IPv4 地址或彈性 IP 地址)。

若要確認您的 VPC 是否啟用這些屬性,請參閱 檢視和更新 VPC 的 DNS 屬性

屬性 描述
enableDnsHostnames

判斷 VPC 是否支援將公有 DNS 主機名稱指派給具有公有 IP 地址的執行個體。

此屬性的預設值為 false,除非 VPC 為預設 VPC。請注意以下此屬性的規則和考量事項

enableDnsSupport

確定 VPC 是否支援透過 Amazon 提供的 DNS 伺服器進行 DNS 解析。

如果此屬性為 true,對 Amazon 提供的 DNS 伺服器的查詢成功。如需詳細資訊,請參閱 Amazon DNS 伺服器

此屬性的預設值為 true。請注意以下此屬性的規則和考量事項

規則和考量
  • 如果這兩個屬性都設定為 true,會發生下列情況:

    • 具有公有 IP 地址的執行個體會收到對應的公有 DNS 主機名稱。

    • Amazon Route 53 Resolver 服務器可以解析亞馬遜提供的私有 DNS 主機名。

  • 如果至少一個屬性設定為 false,將發生以下情況:

    • 具有公有 IP 地址的執行個體不會收到對應的公有 DNS 主機名稱。

    • Amazon Route 53 Resolver 無法解析亞馬遜提供的私有 DNS 主機名。

    • 如果 DHCP 選項集中有自訂網域名稱,則執行個體會收到自訂私有 DNS 主機名稱。如果您未使用 Amazon Route 53 Resolver 伺服器,您的自訂網域名稱伺服器就必須視需要解析主機名稱。

  • 如果您使用 Amazon Route 53 中私有託管區域中定義的自訂 DNS 網域名稱,或使用具有介面 VPC 端點的私有 DNS (AWS PrivateLink),則必須將 enableDnsHostnamesenableDnsSupport 屬性皆設為 true

  • Amazon Route 53 Resolver 可以將所有位址空間的私人 DNS 主機名稱解析為私有 IPv4 位址,包括 VPC 的 IPv4 位址範圍超出 RFC 1918 指定的私有 IPv4 位址範圍的位址。但是,如果您的 VPC 是在 2016 年 10 月之前建立,當 VPC 的 IPv4 地址範圍超出這些範圍時, Amazon Route 53 Resolver 就無法解析私有 DNS 主機名稱。若要啟用這項支援,請聯絡 AWS Support

  • 如果您使用 VPC 對等互連,則必須為兩個 VPC 來啟用這兩個屬性,並且必須為對等互連啟用 DNS 解析。如需詳細資訊,請參閱啟用 VPC 對等互連的 DNS 解析

DNS 配額

每個 EC2 執行個體會將每個網路介面每秒 1024 個封包傳送至 Route 53 Resolver (亦即 .2 地址,例如 10.0.0.2 和 169.254.169.253)。此配額無法增加。依據查詢類型、回應大小以及使用的通訊協定而異,Route 53 Resolver 支援的每秒 DNS 查詢數目也不同。如需詳細資訊和可擴展的 DNS 架構建議,請參閱《AWS 混合 DNS 與 Active Directory 技術指南》。

如果您達到配額限制,Route 53 Resolver 會拒絕流量。達到配額限制的一些原因可能是 DNS 調節問題,或使用 Route 53 Resolver 網路介面的執行個體中繼資料查詢。如需關於如何解決 VPC DNS 節流問題的資訊,請參閱如何判斷我向 Amazon 提供之 DNS 伺服器的 DNS 查詢是否會因 VPC DNS 節流而失敗。如需執行個體中繼資料擷取的相關資訊,請參閱 Amazon EC2 使用者指南中的擷取行個體中

檢視 EC2 執行個體的 DNS 主機名稱

您可以使用 Amazon EC2 主控台或命令列,檢視運作中執行個體或網路介面的 DNS 主機名稱。

與執行個體相關聯的 VPC 啟用 DNS 選項時,就可以使用 Public DNS (IPv4) (公有 DNS (IPv4))Private DNS (私有 DNS) 欄位。如需詳細資訊,請參閱 VPC 中的 DNS 屬性

執行個體

使用主控台檢視執行個體的 DNS 主機名稱
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇執行個體

  3. 從清單選取執行個體。

  4. 在詳細資訊窗格中,Public DNS (IPv4) (公有 DNS (IPv4))Private DNS (私有 DNS) 欄位會顯示 DNS 主機名稱 (如適用)。

使用命令列檢視執行個體的 DNS 主機名稱

您可以使用下列其中一個命令。如需關於這些命令列介面的詳細資訊,請參閱 使用 Amazon VPC

網路介面

使用主控台檢視網路介面的私有 DNS 主機名稱
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Network Interfaces (網路介面)。

  3. 從清單選取網路介面。

  4. 在詳細資訊窗格中,Private DNS (IPv4) (私有 DNS (IPv4)) 欄位會顯示私有 DNS 主機名稱。

使用命令列檢視網路介面的 DNS 主機名稱

您可以使用下列其中一個命令。如需關於這些命令列介面的詳細資訊,請參閱 使用 Amazon VPC

檢視和更新 VPC 的 DNS 屬性

您可以使用 Amazon VPC 主控台檢視和更新 VPC 的 DNS 支援屬性。

使用主控台來說明和更新 VPC 的 DNS 支援屬性
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Your VPCs (您的 VPC)。

  3. 選取 VPC 的核取方塊。

  4. 檢閱詳細資訊中的資訊。在此範例中,DNS 主機名稱DNS 解析均已啟用。

    DNS Settings (DNS 設定) 標籤
  5. 若要更新這些設定,請選擇 Actions (動作),然後選擇 Edit VPC settings (編輯 VPC 設定)。在適當的 DNS 屬性上選取或清除 Enable (啟用),然後選擇 Save changes (儲存變更)。

使用命令列說明 VPC 的 DNS 支援

您可以使用下列其中一個命令。如需關於這些命令列介面的詳細資訊,請參閱 使用 Amazon VPC

使用命令列更新 VPC 的 DNS 支援

您可以使用下列其中一個命令。如需關於這些命令列介面的詳細資訊,請參閱 使用 Amazon VPC

私有託管區域

若要使用自訂 DNS 網域名稱存取 VPC 中的資源,例如example.com,您可以在 Route 53 中建立私有託管區域,而不是使用私有 IPv4 位址或 AWS提供的私有 DNS 主機名稱。私有託管區域是一種容器,其中包含的資訊說明您可以如何在一或多個 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 網域名稱,則必須將 enableDnsHostnamesenableDnsSupport 屬性設定為 true