本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 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 產生的網域名稱。不過,只有在您將自訂網域名稱映射到具有 CNAME 記錄的 VPC Lattice 產生的網域名稱,以將查詢路由到服務時,才會發生這種情況。如需詳細資訊,請參閱將自訂網域名稱與您的服務建立關聯。
先決條件
-
您必須具有服務的註冊網域名稱。如果您還沒有已註冊的網域名稱,您可以透過 Amazon Route 53 或任何其他商業註冊商註冊。
-
若要接收 HTTPS 請求,您必須在 中提供自己的憑證 AWS Certificate Manager。VPC Lattice 不支援預設憑證做為備用憑證。因此,如果您未提供與自訂網域名稱對應的 SSL/TLS 憑證,則與自訂網域名稱的所有 HTTPS 連線都會失敗。如需詳細資訊,請參閱為 VPC Lattice 攜帶自己的憑證 (BYOC)。
限制和考量事項
-
您無法為服務擁有多個自訂網域名稱。
-
建立服務之後,您無法修改自訂網域名稱。
-
自訂網域名稱對於服務網路必須是唯一的。這表示無法使用相同服務網路中已存在的自訂網域名稱 (針對另一個服務) 來建立服務。
使用 為您的服務設定自訂網域名稱 AWS Management Console
在 https://console.aws.amazon.com/vpc/
開啟 Amazon VPC 主控台。 -
在導覽窗格中的 VPC Lattice 下,選擇服務。
-
選擇建立服務。您已導覽至步驟 1:建立服務。
-
在自訂網域組態區段中,選擇指定自訂網域組態。
-
輸入您的自訂網域名稱。
-
若要提供 HTTPS 請求,請在自訂 SSL/TLS 憑證中選取符合您自訂網域名稱的 SSL/TLS 憑證。如果您還沒有憑證,或不想立即新增憑證,您可以在建立 HTTPS 接聽程式時新增憑證。不過,如果沒有憑證,您的自訂網域名稱將無法提供 HTTPS 請求。如需詳細資訊,請參閱新增 HTTPS 接聽程式。
-
完成新增所有其他資訊以建立服務後,請選擇建立。
使用 為您的服務設定自訂網域名稱 AWS CLI
使用 create-service
aws vpc-lattice create-service --name
service_name
--custom-domain-nameyour_custom_domain_name
--type https --certificate-arnarn: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。
如果您在 AWS Certificate Manager (ACM) 中沒有自己的 SSL/TLS 憑證,您可以在設定自訂網域名稱之前建立或匯入憑證。不過,只有在您想要使用自訂網域名稱提供 HTTPS 請求時,才需要憑證。如需詳細資訊,請參閱為 VPC Lattice 攜帶自己的憑證 (BYOC)。
將自訂網域名稱與您的服務建立關聯
首先,如果您尚未這樣做,請註冊您的自訂網域名稱。網際網路名稱和數字指派公司 (ICANN) 負責管理網際網路上的網域名稱。您可以使用網域名稱註冊商註冊網域名稱,這是一家 ICANN 認可的組織,專門管理網域名稱的註冊。您的網站註冊商網站將為註冊您的網域名稱提供詳細指示和定價資訊。如需詳細資訊,請參閱下列資源:
-
若要使用 Amazon Route 53 註冊網域名稱,請參閱 Amazon Route 53 開發人員指南中的使用 Route 53 註冊網域名稱。
-
如需這類註冊機構的清單,請參閱認可的註冊機構目錄
。
接著,使用您的 DNS 服務,例如網域註冊商,建立 CNAME 記錄以將查詢路由到您的服務。如需詳細資訊,請參閱您的 DNS 服務文件。或者,您可以使用 Route 53 做為您的 DNS 服務。
如果您使用的是 Route 53,您必須先建立託管區域,其中包含如何為網域路由網際網路流量的相關資訊。建立私有或公有託管區域之後,請建立 CNAME 記錄,以便您的自訂網域名稱,例如 parking.example.com
對應至 VPC Lattice 自動產生的網域名稱,例如 my-service-02031c045478f6ddf1.7d67968.vpc-lattice-svcs.us-west-2.on.aws
。如果沒有此映射,您的自訂網域名稱將無法在 VPC Lattice 中運作。如需詳細資訊,請參閱《Amazon Route 53 開發人員指南》中的使用 Amazon Route 53 主控台建立記錄。 此外,您可以參考以下步驟來建立託管區域和 CNAME 記錄,以將您的自訂網域名稱映射至 VPC Lattice 端點。
使用 Amazon Route 53 主控台建立具有 CNAME 記錄的私有或公有託管區域
請在 https://console.aws.amazon.com/route53/
開啟 Route 53 主控台。 -
在導覽窗格中,選擇託管區域,然後選擇建立託管區域。
-
針對網域名稱,選擇您要用來將流量路由至 VPC Lattice 服務的託管區域名稱。例如,如果您的自訂網域名稱是
parking.example.com
(http://parking.example.com/),則託管區域的網域名稱將是example.com
(http://example.com/),也稱為頂點網域名稱。然後,您可以為此託管區域建立 CNAME 記錄,將流量路由到您的 VPC Lattice 服務。注意:建立託管區域後,您無法變更託管區域的名稱。 -
針對類型,視需要選擇私有託管區域或公有託管區域。
-
選擇您的區域,並選取您要與此託管區域建立關聯的 VPC 的 VPC ID。
-
視需要新增標籤,然後選擇建立託管區域。建立後,您的託管區域會列在託管區域下。
-
若要在您剛建立的託管區域中建立 CNAME 記錄,請選取託管區域,然後選取建立記錄。
-
在建立記錄下指定下列值:
-
針對記錄名稱,輸入您要用作自訂網域名稱的名稱。如果您想要使用
parking.example.com
(http://acme.example.com/) 做為自訂網域名稱,請輸入parking
*。這表示您會輸入子網域名稱,parking
但沒有託管區域網域名稱example.com
(http://example.com/://)。 -
針對記錄類型,選擇 CNAME。
-
保持關閉別名。
-
針對值,輸入 VPC Lattice 為您的服務產生網域名稱 (例如
my-service-02031c045478f6ddf1.7d67968.vpc-lattice-svcs.us-west-2.on.aws
)。您可以在服務頁面上的 VPC Lattice 主控台中找到此自動產生的網域名稱。如果使用 AWS CLI,create-service
或list-services
命令的輸出將傳回此自動產生的網域名稱。 -
對於 TTL (秒),接受預設值 300。
-
針對路由政策,選擇適用的路由政策。如需詳細資訊,請參閱《Amazon Route 53 開發人員指南》中的選擇路由政策。
-
-
選擇建立記錄。
變更通常會在 60 秒內傳播至所有 Route 53 伺服器。傳播完成時,您將可以使用自訂網域名稱將流量路由到服務。
使用 在託管區域中建立別名記錄 AWS CLI
-
執行
get-service
命令,取得服務 (例如my-service-02031c045478f6ddf1.7d67968.vpc-lattice-svcs.us-west-2.on.aws
) 的 VPC Lattice 產生的網域名稱和託管區域 ID。 若要設定別名,請使用下列命令。
aws route53 change-resource-record-sets --hosted-zone-id
hosted-zone-id-for-your-service-domain
--change-batchfile://~/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 } } } ] }