為您的 VPC Lattice 服務設定自訂網域名稱 - Amazon VPC Lattice

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

為您的 VPC Lattice 服務設定自訂網域名稱

當您建立新的服務時,VPC Lattice 會使用下列語法為服務產生唯一的完整網域名稱 (FQDN)。

service_name-service_id.partition_id.vpc-lattice-svcs.region.on.aws

不過,VPC Lattice 提供的網域名稱不容易讓使用者記住。自訂網域名稱更簡單、更直覺URLs,您可以提供給使用者。如果您想要為您的服務使用自訂網域名稱,例如www.parking.example.com,而不是 VPC Lattice 產生的 DNS 名稱,您可以在建立 VPC Lattice 服務時對其進行設定。當用戶端使用您的自訂網域名稱提出請求時,DNS 伺服器會將其解析為 VPC Lattice 產生的網域名稱。

先決條件

  • 您必須擁有服務的已註冊網域名稱。如果您還沒有已註冊的網域名稱,您可以透過 Amazon Route 53 或任何其他商業註冊商註冊。

  • 若要接收 HTTPS 請求,您必須在 中提供自己的憑證 AWS Certificate Manager。VPC Lattice 不支援預設憑證做為備用憑證。因此,如果您未提供與自訂網域名稱對應的 SSL/TLS 憑證,則與自訂網域名稱的所有 HTTPS 連線都會失敗。如需詳細資訊,請參閱為 VPC Lattice 自備憑證 (BYOC)

限制和考量事項

  • 您無法為服務擁有多個自訂網域名稱。

  • 建立服務之後,您無法修改自訂網域名稱。

  • 自訂網域名稱對於服務網路必須是唯一的。這表示無法使用相同服務網路中已存在 (針對另一個服務) 的自訂網域名稱來建立服務。

下列程序說明如何為您的服務設定自訂網域名稱。

AWS Management Console
為您的服務設定自訂網域名稱
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中的 VPC Lattice 下,選擇服務

  3. 選擇建立服務。您已導覽至步驟 1:建立服務

  4. 自訂網域組態區段中,選擇指定自訂網域組態

  5. 輸入您的自訂網域名稱。

  6. 若要提供 HTTPS 請求,請在自訂 SSL/TLS 憑證中選取符合您自訂網域名稱的 SSL/TLS 憑證。如果您還沒有憑證,或不想立即新增憑證,您可以在建立 HTTPS 接聽程式時新增憑證。不過,如果沒有憑證,您的自訂網域名稱將無法提供 HTTPS 請求。如需詳細資訊,請參閱新增 HTTPS 接聽程式

  7. 當您完成為建立服務新增所有其他資訊後,請選擇建立

AWS CLI
為您的服務設定自訂網域名稱

使用 create-service 命令。

aws vpc-lattice create-service --name service_name --custom-domain-name your_custom_domain_name --type https --certificate-arn arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012

在上述命令中,針對 --name輸入服務的名稱。針對 --custom-domain-name,輸入服務的網域名稱,例如 parking.example.com。在 ACM --certificate-arn 中輸入憑證的 ARN。憑證 ARN 可在您的 帳戶中使用 AWS Certificate Manager。

將自訂網域名稱與您的服務建立關聯

首先,如果您尚未這麼做,請註冊您的自訂網域名稱。網際網路名稱和數字指派公司 (ICANN) 負責管理網際網路上的網域名稱。您可以使用網域名稱註冊商註冊網域名稱,這是一家 ICANN 認可的組織,專門管理網域名稱的註冊。您的網站註冊商網站將為註冊您的網域名稱提供詳細指示和定價資訊。如需詳細資訊,請參閱下列資源:

接著,使用您的 DNS 服務,例如您的網域註冊商,建立記錄以將查詢路由到您的服務。如需詳細資訊,請參閱您的 DNS 服務文件。或者,您可以使用 Route 53 做為您的 DNS 服務。

如果您使用的是 Route 53,則可以使用別名記錄或 CNAME 記錄,將查詢路由到您的服務。我們建議您使用別名記錄,因為您可以在 DNS 命名空間的頂端節點建立別名記錄,也稱為區域頂點。

如果您使用的是 Route 53,您必須先建立託管區域,其中包含如何在網際網路上為網域路由流量的相關資訊。建立私有或公有託管區域之後,請建立記錄,讓您的自訂網域名稱 例如 parking.example.com對應至 VPC Lattice 自動產生的網域名稱,例如 my-service-02031c045478f6ddf1.7d67968.vpc-lattice-svcs.us-west-2.on.aws。如果沒有此映射,您的自訂網域名稱將無法在 VPC Lattice 中運作。

下列程序說明如何使用 Route 53 建立私有或公有託管區域

AWS Management Console

若要建立別名記錄,以使用 Route 53 將查詢路由至您的服務,請參閱將流量路由至 Amazon VPC Lattice 服務網域端點

為您的服務使用 VPC Lattice 產生的網域名稱,例如 my-service-02031c045478f6ddf1.7d67968.vpc-lattice-svcs.us-west-2.on.aws 。您可以在服務頁面上的 VPC Lattice 主控台中找到此自動產生的網域名稱。

AWS CLI
在託管區域中建立別名記錄
  1. 執行 get-service命令,取得您服務的 VPC Lattice 產生的網域名稱 (例如 my-service-02031c045478f6ddf1.7d67968.vpc-lattice-svcs.us-west-2.on.aws) 和託管區域 ID。

  2. 若要設定別名,請使用下列命令。

    aws route53 change-resource-record-sets --hosted-zone-id hosted-zone-id-for-your-service-domain --change-batch file://~/Desktop/change-set.json

    針對 change-set.json 檔案,使用下列 JSON 範例中的內容建立 JSON 檔案,並將其儲存在本機電腦上。將上述命令中的 file://~/Desktop/change-set.json 取代為本機機器中儲存的 JSON 檔案路徑。請注意,下列 JSON 中的「類型」可以是 A 或 AAAA 記錄類型。

    { "Comment": "my-service-domain.com alias", "Changes": [ { "Action": "CREATE", "ResourceRecordSet": { "Name": "my-custom-domain-name.com", "Type": "alias-record-type", "AliasTarget": { "HostedZoneId": "hosted-zone-id-for-your-service-domain", "DNSName": "lattice-generated-domain-name", "EvaluateTargetHealth": true } } } ] }