我在建立介面 VPC 端點時收到了 DNS 網域衝突錯誤。我要如何修正此問題?

上次更新日期:2022 年 4 月 15 日

我在為 VPC 中的 AWS 服務、端點服務或核准的 AWS Marketplace 服務建立新介面 Amazon Virtual Private Cloud (Amazon VPC) 端點 (AWS PrivateLink)。在此過程中收到了以下錯誤訊息:

private-dns-enabled cannot be set because there is already a conflicting DNS domain. (無法設定 private-dns-enabled,因為已經有一個衝突的 DNS 網域。)

如何對此問題進行疑難排解?

簡短描述

以下是在建立介面 VPC 端點時收到 DNS 網域衝突錯誤的常見原因:

  • 您的 VPC 中已經有一個用於相同服務的介面 VPC 端點。
  • 您的 VPC 已與涵蓋想要的服務名稱的私有託管區域相關聯。

解決方案

您的 VPC 中已經有一個用於相同服務的介面 VPC 端點

如果您在建立介面端點時啟用 PrivateDNS,則會自動建立一個私有託管區域並與您的 VPC 關聯。AWS 服務和 AWS Marketplace 合作夥伴服務預設啟用 PrivateDNS。因此,在啟用 PrivateDNS 的情況下為同一服務建立第二個介面 VPC 端點會導致 DNS 網域衝突錯誤。若要解決此問題,請在建立介面端點時關閉 PrivateDNS 選項。為相關服務的第二個 VPC 介面端點使用端點特定的 DNS 主機名稱。

注意:對於端點服務,您在建立端點後啟用其上的 PrivateDNS 功能時會看到此錯誤。

您的 VPC 已與涵蓋想要的服務名稱的私有託管區域相關聯

您無法為已連接現有私有託管區域的 VPC 建立具有相同命名空間的新私有託管區域。當您建立啟用 PrivateDNS 的端點時,介面端點將無法建立。這是因為端點無法建立相關服務名稱的私有託管區域。若要檢查您的 VPC 是否與現有私有託管區域相關聯,請執行以下操作之一:

  • 導覽到 Amazon Route 53 主控台,並檢查是否已經有一個具有想要的服務名稱的私有託管區域連接到您的 VPC。如果您的 VPC 與某個現有私有託管區域相關聯,則請在建立介面端點時關閉 PrivateDNS 選項。使用介面端點的端點特定 DNS 主機名稱來存取它。
  • 對於中央樞紐架構,您組織中的另一個帳戶可能會為相關服務名稱建立一個私有託管區域,並將其連接到您的 VPC。在這種情況下,您不會在 Route 53 主控台中看到相關私有託管區域,因為它由另一個帳戶擁有。使用 list-hosted-zones-by-vpc API 呼叫列出您的 VPC 所屬的所有託管區域,包括來自其他帳戶的託管區域。如果您的 VPC 與另一個帳戶中的私有託管區域相關聯,請執行以下操作:
    確認 A、別名或 CNAME 記錄指向作用中 VPC 介面端點。
    然後,如果路由存在,則使用相關服務的介面端點。如果您不能使用它,請關閉 PrivateDNS 選項並建立一個新的介面端點。

注意:從 VPC 執行 nslookupdig 以執行服務名稱的 DNS 解析。確定服務名稱是解析到私有 IP 還是公有 IP。如果它解析到私有 IP,則有一個具有該服務名稱的私有託管區域接到您的 VPC。


此文章是否有幫助?


您是否需要帳單或技術支援?