本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理VPC端點服務的DNS名稱
服務提供者可以為其端點服務設定私人DNS名稱。當服務提供者使用現有的公用DNS名稱做為其端點服務的私人DNS名稱時,服務取用者不需要變更使用現有公用DNS名稱的任何應用程式。在為端點服務設定私人DNS名稱之前,您必須執行網域擁有權驗證檢查,以證明您擁有該網域。
考量事項
-
端點服務只能有一個私人DNS名稱。
-
您不得為私人DNS名稱建立 A 記錄,以便只有服務用戶中的伺服器才VPC能解析私人DNS名稱。
-
閘道 Load Balancer 端點不支援私人DNS名稱。
-
若要驗證網域,您必須擁有公用主機名稱或公用DNS提供者。
-
您可以驗證子網域的網域。例如,您可以驗證 example.com,而非 a.example.com。每個DNS標籤最多可包含 63 個字元,整個網域名稱不得超過 255 個字元的總長度。
如果您新增其他子網域,您必須驗證子網域或是網域。例如,假設您有一個 a.example.com 及已驗證的 example.com。您現在將 .example.com 新增為私人名稱。DNS您必須先驗證 example.com 或 b.example.com,服務消費者才能使用該名稱。
網域所有權驗證
您的網域與您透過供應商管理的一組網域名稱服務 (DNS) 記錄相關DNS聯。TXT記錄是一種記DNS錄類型,可提供有關您網域的其他資訊。由名稱和值組成。作為驗證過程的一部分,您必須將TXT記錄添加到您的公共域的DNS服務器。
當我們在您的網域DNS設定中偵測到TXT記錄是否存在時,網域擁有權驗證即完成。
新增記錄後,您可以使用 Amazon VPC 主控台檢查網域驗證程序的狀態。在導覽窗格中,選擇 Endpoints Services (端點服務)。選取端點服務,並檢查 Details (詳細資訊) 標籤中 Domain verification status (網域驗證狀態) 的值。如果網域驗證處於擱置狀態,請等待幾分鐘並重新整理畫面。如果需要,您可以手動啟動驗證程序。選擇 [動作]、[驗證私人DNS名稱的網域擁有權]
當驗證狀態已驗證時,私人DNS名稱即可供服務取用者使用。如果驗證狀態變更,新的連線請求會遭到拒絕,但現有的連線不受影響。
如果驗證狀態為 failed (失敗),請參閱 對網域驗證問題進行疑難排解。
獲取名稱和值
我們會為您提供您在TXT記錄中使用的名稱和價值。例如,資訊在 AWS Management Console中可用。選取端點服務,然後參閱端點服務 Details (詳細資訊) 標籤中的 Domain verification name (網域驗證名稱) 和 Domain verification value (網域驗證值)。您也可以使用下列 describe-vpc-endpoint-service- configuration AWS CLI 命令來擷取有關指定端點服務之私人DNS名稱組態的資訊。
aws ec2 describe-vpc-endpoint-service-configurations \ --service-ids
vpce-svc-071afff70666e61e0
\ --query ServiceConfigurations[*].PrivateDnsNameConfiguration
下列為範例輸出。您將在創建TXT記錄Name
時使用Value
並且。
[ { "State": "pendingVerification", "Type": "TXT", "Value": "vpce:l6p0ERxlTt45jevFwOCp", "Name": "_6e86v84tqgqubxbwii1m" } ]
例如,假設您的網域名稱為 example.com,而 Value
和 Name
如前面的範例輸出所示。下表是TXT記錄設定的範例。
名稱 | Type | Value |
---|---|---|
_6e86v84tqgqubxbwii1m.example.com |
TXT |
影像:L6 p0 ERxlTt45jevFwOCp |
我們建議您使用 Name
作為記錄子網域,因為基礎網域名稱可能已在使用中。不過,如果您的DNS提供者不允許DNS記錄名稱包含底線,您可以省略「_6e86v84tqgqubxbwii1m」,並在記錄中使用「example.com」。TXT
在我們驗證 "_6e86v84tqgqubxbwii1m.example.com" 之後,服務消費者可以使用 "example.com" 或子網域 (例如,"service.example.com" 或 "my.service.example.com")。
將TXT記錄新增至您網域的DNS伺服器
將TXT記錄新增至網域DNS伺服器的程序取決於誰提供您的DNS服務。您的DNS提供商可能是 Amazon Route 53 或其他域名註冊商。
為您的公有託管區域建立記錄。使用下列的值:
-
在「記錄類型」中,選擇TXT。
-
輸入 TTL(秒)
1800
。 -
對於 Routing policy (路由政策),請選擇 Simple routing (簡便路由)。
-
針對 Record name (記錄名稱),請輸入網域或子網域。
-
針對 Value/Route traffic to (值/將流量路由到),請輸入網域驗證值。
如需詳細資訊,請參閱《Amazon Route 53 開發人員指南》中的使用主控台建立記錄。
轉到您的DNS提供商的網站並登錄到您的帳戶。尋找更新您網域DNS記錄的頁面。使用我們提供的名稱和值新增TXT記錄。DNS記錄更新最多可能需要 48 小時才會生效,但通常會更快生效。
如需更具體的指示,請參閱DNS供應商提供的文件。下表提供數個常見提供DNS者的文件連結。此清單並不全面,也不是對這些公司提供的產品或服務的建議。
DNS/託管提供商 | 文件連結 |
---|---|
GoDaddy |
|
Dreamhost |
|
Cloudflare |
|
HostGator |
|
Namecheap |
|
Names.co.uk |
|
Wix |
檢查TXT記錄是否已公佈
您可以使用以下步驟驗證您的私人DNS名稱網域擁有權驗證TXT記錄正確發佈到您的DNS伺服器。您將運行該nslookup命令,該命令可用於視窗和 Linux。
您將查詢為您的網域提供DNS服務的伺服器,因為這些伺服器包含最多的網域 up-to-date 資訊。您的域信息傳播到其他DNS服務器需要時間。
確認您的TXT記錄已發佈至DNS伺服器
-
使用以下命令來查找網域的名稱伺服器。
nslookup -type=NS
example.com
輸出會列出提供您網域的名稱伺服器。您在下一步驟將查詢其中一個伺服器。
-
驗證記TXT錄使用下面的命令,其中正確發布
name_server
是您在上一個步驟中找到的其中一個名稱伺服器。nslookup -type=TXT
_6e86v84tqgqubxbwii1m.example.com
name_server
-
在上一個步驟的輸出中,確認後面的字串是否與TXT值
text =
相符。在我們的範例中,如果記錄已正確發佈,輸出會包括以下內容。
_6e86v84tqgqubxbwii1m.example.com text = "vpce:l6p0ERxlTt45jevFwOCp"
對網域驗證問題進行疑難排解
如果網域驗證程序失敗,下列資訊有助於對問題進行疑難排解。
-
檢查您的DNS提供者是否允許TXT記錄名稱中的底線。如果您的DNS提供者不允許使用底線,您可以省略記錄中的網域驗證名稱 (例如,「_6e86v84tqgqubxbwii1m」)。TXT
-
檢查您的DNS供應商是否將網域名稱附加到TXT記錄的末尾。有些DNS提供者會自動將您的網域名稱附加至TXT記錄的屬性名稱。若要避免網域名稱重複,請在建立TXT記錄時在網域名稱結尾加上句點。這會告訴您的DNS供應商,不需要將網域名稱附加至記TXT錄。
-
檢查您的DNS提供者是否將DNS記錄值修改為僅使用小寫字母。只有當驗證記錄的屬性值與我們提供的值完全相符時,我們才會驗證您的網域。如果DNS提供者將您的TXT記錄值變更為僅使用小寫字母,請聯絡他們以尋求協助。
-
您可能需要多次驗證您的網域,因為您支援多個區域或多個 AWS 帳戶。如果您的DNS提供者不允許您有多個具有相同屬性名稱的TXT記錄,請檢查您的DNS提供者是否允許您將多個屬性值分配給相同的TXT記錄。例如,如果您DNS是由 Amazon 路線 53 管理的,則可以使用以下程序。
-
在 Route 53 主控台中,選擇您在第一個區域驗證網域時建立的TXT記錄。
-
針對 Value (值),移至現有屬性值的結尾,然後按 Enter 鍵。
-
新增其他區域的屬性值,然後儲存記錄集。
如果您的DNS提供者不允許您將多個值指派給相同的TXT記錄,您可以使用記TXT錄屬性名稱中的值驗證網域一次,另一次驗證該值從屬性名稱中移除。不過,您只能驗證相同的網域兩次。
-