管理 VPC 端點服務的 DNS 名稱 - Amazon Virtual Private Cloud

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

管理 VPC 端點服務的 DNS 名稱

服務提供者可以為其端點服務設定私有 DNS 名稱。當服務提供者使用現有的公有 DNS 名稱作為其端點服務的私有 DNS 名稱時,服務消費者不需要變更使用現有公有 DNS 名稱的任何應用程式。在為您的端點服務設定私有 DNS 名稱之前,您必須執行網域所有權驗證檢查,以證明您擁有該網域。

考量事項
  • 端點服務只能擁有一個私有 DNS 名稱。

  • 您不得為私有 DNS 名稱建立 A 記錄,以便只有服務消費者 VPC 中的伺服器才能解析私有 DNS 名稱。

  • Gateway Load Balancer 端點不支援私有 DNS 名稱。

  • 為了驗證網域,您必須擁有公有主機名稱或公有 DNS 提供者。

  • 您可以驗證子網域的網域。例如,您可以驗證 example.com,而非 a.example.com。每個 DNS 標籤最多可包含 63 個字元,而且整個網域名稱不得超過 255 個字元的總長度。

    如果您新增其他子網域,您必須驗證子網域或是網域。例如,假設您有一個 a.example.com 及已驗證的 example.com。您現在將 b.example.com 做為私有 DNS 名稱新增。您必須先驗證 example.comb.example.com,服務消費者才能使用該名稱。

網域所有權驗證

您的網域與一組網域名稱服務 (DNS) 記錄相關,而您透過 DNS 提供者來管理這些記錄。TXT 記錄是一種 DNS 記錄類型,可提供關於您的網域的更多資訊。由名稱和值組成。在驗證過程中,您必須將 TXT 記錄新增至公有網域的 DNS 伺服器。

當我們在網域的 DNS 設定中偵測到存在 TXT 記錄時,網域所有權驗證便已完成。

新增記錄後,您可以使用 Amazon VPC 主控台檢查網域驗證程序的狀態。在導覽窗格中,選擇 Endpoints Services (端點服務)。選取端點服務,並檢查 Details (詳細資訊) 標籤中 Domain verification status (網域驗證狀態) 的值。如果網域驗證處於擱置狀態,請等待幾分鐘並重新整理畫面。如果需要,您可以手動啟動驗證程序。選擇 Actions (動作)、Verify domain ownership for private DNS name (驗證私有 DNS 名稱的網域所有權)。

當驗證狀態為 verified (已驗證) 時,私有 DNS 名稱即可供服務消費者使用。如果驗證狀態變更,新的連線請求會遭到拒絕,但現有的連線不受影響。

如果驗證狀態為 failed (失敗),請參閱 對網域驗證問題進行疑難排解

獲取名稱和值

我們會提供您在 TXT 記錄中使用的名稱和值。例如,資訊在 AWS Management Console中可用。選取端點服務,然後參閱端點服務 Details (詳細資訊) 標籤中的 Domain verification name (網域驗證名稱) 和 Domain verification value (網域驗證值)。您也可以使用下列描述-vpc-端點服務組態 AWS CLI 命令,擷取有關指定端點服務之私人 DNS 名稱組態的資訊。

aws ec2 describe-vpc-endpoint-service-configurations \ --service-ids vpce-svc-071afff70666e61e0 \ --query ServiceConfigurations[*].PrivateDnsNameConfiguration

下列為範例輸出。您將在建立 TXT 記錄時將使用 ValueName

[ { "State": "pendingVerification", "Type": "TXT", "Value": "vpce:l6p0ERxlTt45jevFwOCp", "Name": "_6e86v84tqgqubxbwii1m" } ]

例如,假設您的網域名稱為 example.com,而 ValueName 如前面的範例輸出所示。下表是 TXT 記錄設定範例。

名稱 Type Value

_6e86v84tqgqubxbwii1m.example.com

TXT

VPCE: L6P0E 45 RxlTt 日元

我們建議您使用 Name 作為記錄子網域,因為基礎網域名稱可能已在使用中。不過,如果您的 DNS 提供者不允許 DNS 記錄名稱包含底線,您可以省略 "_6e86v84tqgqubxbwii1m",而在 TXT 記錄中僅使用 "example.com"。

在我們驗證 "_6e86v84tqgqubxbwii1m.example.com" 之後,服務消費者可以使用 "example.com" 或子網域 (例如,"service.example.com" 或 "my.service.example.com")。

新增 TXT 記錄到您網域的 DNS 伺服器

新增 TXT 記錄到您的網域的 DNS 伺服器之程序將根據您的 DNS 服務供應商而有不同。您的 DNS 供應商可能是 Amazon Route 53 或另一個網域名稱註冊商。

為您的公有託管區域建立記錄。使用下列的值:

  • 對於 Type (類型),選擇 TXT

  • 針對 TTL (Seconds) (TTL (秒)),輸入 1800

  • 對於 Routing policy (路由政策),請選擇 Simple routing (簡便路由)。

  • 針對 Record name (記錄名稱),請輸入網域或子網域。

  • 針對 Value/Route traffic to (值/將流量路由到),請輸入網域驗證值。

如需詳細資訊,請參閱《Amazon Route 53 開發人員指南》中的使用主控台建立記錄

前往您的 DNS 提供者的網站並登入您的帳戶。查找頁面以更新網域的 DNS 記錄。以我們提供的名稱和值來新增 TXT 紀錄。DNS 記錄更新可能需要多達 48 小時才可生效,但是生效時間通常會較快。

如需更具體的指示,請參閱 DNS 提供者的文件。下表提供幾個常見 DNS 提供者的文件連結。此清單並不全面,也不是對這些公司提供的產品或服務的建議。

檢查 TXT 記錄是否已發佈

您可以使用以下步驟,驗證您的私有 DNS 名稱網域所有權驗證 TXT 記錄已正確發佈到您的 DNS 伺服器。您將運行該nslookup命令,該命令可用於視窗和 Linux。

您將查詢為您的網域提供服務的 DNS 伺服器,因為這些伺服器包含您網域的最多 up-to-date 資訊。網域資訊傳播到其他 DNS 伺服器可能需要一些時間。

若要確認您的 TXT 記錄已發佈到您的 DNS 伺服器
  1. 使用以下命令來查找網域的名稱伺服器。

    nslookup -type=NS example.com

    輸出會列出提供您網域的名稱伺服器。您在下一步驟將查詢其中一個伺服器。

  2. 使用以下命令,確認 TXT 記錄已正確發佈,其中 name_server 是您在上一個步驟中找到的名稱伺服器之一。

    nslookup -type=TXT _6e86v84tqgqubxbwii1m.example.com name_server
  3. 在上一步輸出中,確認 text = 後面的字串與 TXT 值相符。

    在我們的範例中,如果記錄已正確發佈,輸出會包括以下內容。

    _6e86v84tqgqubxbwii1m.example.com text = "vpce:l6p0ERxlTt45jevFwOCp"

對網域驗證問題進行疑難排解

如果網域驗證程序失敗,下列資訊有助於對問題進行疑難排解。

  • 確認您的 DNS 提供者是否允許在 TXT 記錄名稱中使用底線。如果您的 DNS 提供者不允許使用底線,您可以省略 TXT 記錄中的網域驗證名稱 (例如,"_6e86v84tqgqubxbwii1m")。

  • 確認您的 DNS 提供者是否已將網域名稱附加到 TXT 記錄的結尾。有些 DNS 提供者會自動將您網域的名稱附加到 TXT 記錄的屬性名稱。為了避免重複的網域名稱,請在建立 TXT 記錄時於網域名稱結尾處加上句號。這會告知您的 DNS 提供者,無需將網域名稱附加到 TXT 記錄。

  • 確認您的 DNS 提供者是否已將 DNS 記錄值修改為僅使用小寫字母。只有當驗證記錄的屬性值與我們提供的值完全相符時,我們才會驗證您的網域。如果 DNS 提供者將 TXT 記錄值變更為只使用小寫字母,請聯絡他們以尋求協助。

  • 您可能需要多次驗證您的網域,因為您支援多個區域或多個 AWS 帳戶。如果您的 DNS 提供者不允許您擁有多個含相同屬性名稱的 TXT 記錄,請確認您的 DNS 提供者是否允許您將多個屬性值指派給相同的 TXT 記錄。例如,如果您的 DNS 由 Amazon Route 53 受管,您可以使用下列程序。

    1. 在 Route 53 主控台中,選擇您在第一個區域中驗證網域時所建立的 TXT 記錄。

    2. 針對 Value (值),移至現有屬性值的結尾,然後按 Enter 鍵。

    3. 新增其他區域的屬性值,然後儲存記錄集。

    如果您的 DNS 提供者不允許您將多個值指派給相同的 TXT 記錄,您可以使用 TXT 記錄屬性名稱中的值驗證一次網域,並在另一次驗證中從屬性名稱中移除該值。不過,您只能驗證相同的網域兩次。