本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 API Gateway 中設定邊緣最佳化自訂網域名稱
當您為邊緣最佳化 建立自訂網域名稱時API,APIGateway 會設定 CloudFront 分佈和DNS記錄,以將API網域名稱對應至 CloudFront 分佈網域名稱。然後, 的請求API會透過映射 CloudFront 分佈路由至 API Gateway。此映射適用於透過映射 CloudFront 分佈路由至API閘道的自訂網域名稱繫結的API請求。
考量事項
以下是邊緣最佳化自訂網域名稱的考量事項。
-
若要設定邊緣最佳化自訂網域名稱或更新其憑證,您必須擁有更新 CloudFront 分佈的許可。
更新 CloudFront 分佈需要下列許可:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontUpdateDistribution", "Effect": "Allow", "Action": [ "cloudfront:updateDistribution" ], "Resource": [ "*" ] } ] }
-
您必須為美國東部 (維吉尼亞北部) –
us-east-1
區域中的邊緣最佳化自訂網域名稱請求或匯入憑證。 -
API Gateway 建立的 CloudFront 分佈由與 API Gateway 關聯的區域特定帳戶擁有。在 中追蹤操作以建立和更新此類 CloudFront 分佈時 CloudTrail,您必須使用此API閘道帳戶 ID。如需詳細資訊,請參閱在 中記錄自訂網域名稱建立 CloudTrail。
-
API Gateway 透過在 CloudFront 分佈上利用伺服器名稱指示 (SNI) 來支援邊緣最佳化的自訂網域名稱。如需在 CloudFront 分佈上使用自訂網域名稱的詳細資訊,包括所需的憑證格式和憑證金鑰長度的大小上限,請參閱使用替代網域名稱和 HTTPS Amazon CloudFront 開發人員指南中的
-
邊緣最佳化自訂網域名稱大約需要 40 分鐘才能準備就緒。
-
建立邊緣最佳化自訂網域名稱之後,您必須建立DNS記錄,以將自訂網域名稱對應至 CloudFront 分佈名稱。
建立邊緣最佳化自訂網域名稱
下列程序說明如何為 建立邊緣最佳化的自訂網域名稱API。
邊緣最佳化自訂網域名稱需要約 40 分鐘才能準備好,但主控台會立即以 的形式顯示關聯的 CloudFront 分佈網域名稱
,以及憑證 ARN。同時,您可以繼續下一個步驟,並設定DNS記錄別名,將自訂網域名稱映射至相關聯的 CloudFront分佈網域名稱。distribution-id
.cloudfront.net
為您的邊緣最佳化自訂網域名稱建立DNS記錄
開始建立邊緣最佳化自訂網域名稱後,請設定DNS記錄別名。
我們建議您使用 Route 53 為自訂網域名稱建立 A 記錄別名, CloudFront並將分佈網域名稱指定為別名目標。這表示 Route 53 可以路由自訂網域名稱,即使是 Zone Apex 也是一樣。如需詳細資訊,請參閱《Amazon Route 53 開發人員指南》中的在別名與非別名資源記錄集之間選擇。
如需 Amazon Route 53 的指示,請參閱 Amazon Route 53 開發人員指南 中的APIAPI使用您的網域名稱將流量路由至 Amazon Gateway。
在 中記錄自訂網域名稱建立 CloudTrail
當 CloudTrail 已啟用記錄您帳戶進行的 API Gateway 呼叫時,APIGateway 會在為 建立或更新自訂網域名稱時記錄相關聯的 CloudFront分佈更新API。這些日誌可在 中使用us-east-1
。由於這些 CloudFront分佈是 API Gateway 所擁有,因此每個報告的 CloudFront 分佈都會由下列其中一個區域特定的 API Gateway 帳戶 來識別IDs,而不是API擁有者的帳戶 ID。
區域 |
帳戶 ID |
---|---|
us-east-1 | 392220576650 |
us-east-2 | 718770453195 |
us-west-1 | 968246515281 |
us-west-2 | 109351309407 |
ca-central-1 | 796887884028 |
eu-west-1 | 631144002099 |
eu-west-2 | 544388816663 |
eu-west-3 | 061510835048 |
eu-central-1 | 474240146802 |
eu-central-2 | 166639821150 |
eu-north-1 | 394634713161 |
eu-south-1 | 753362059629 |
eu-south-2 | 359345898052 |
ap-northeast-1 | 969236854626 |
ap-northeast-2 | 020402002396 |
ap-northeast-3 | 360671645888 |
ap-southeast-1 | 195145609632 |
ap-southeast-2 | 798376113853 |
ap-southeast-3 | 652364314486 |
ap-southeast-4 | 849137399833 |
ap-south-1 | 507069717855 |
ap-south-2 | 644042651268 |
ap-east-1 | 174803364771 |
sa-east-1 | 287228555773 |
me-south-1 | 855739686837 |
me-central-1 | 614065512851 |
使用自訂網域名稱作為主機名稱API,設定 的基本路徑映射
您可以使用基本路徑映射,將單一自訂網域名稱用作多個 的主機名稱APIs。這可讓 可透過自訂網域名稱和相關聯基礎路徑的組合API存取。
例如,如果您在 API Gateway 中建立了API名為 的 PetStore
和另一個API名為 的 ,Dogs
然後設定 的自訂網域名稱api.example.com
,則可以將 PetStore
APIURL的 設定為 https://api.example.com
。
這會將 PetStore
API與空字串的基本路徑建立關聯。如果您將 PetStore
APIURL的 設定為 https://api.example.com/PetStore
,這會將 PetStore
API與 的基本路徑建立關聯PetStore
。您可以MyDogList
為 指派 Dogs
的基本路徑API。URL 的 https://api.example.com/MyDogList
是 Dogs
URL的根API。
若要在多個層級上設定API映射,您只能使用區域自訂網域名稱。不支援邊緣最佳化的自訂網域名稱。如需詳細資訊,請參閱將API階段映射至 的自訂網域名稱 REST APIs。
下列程序會設定API映射,將路徑從自訂網域名稱映射至API階段。
輪換匯入至 ACM 的憑證
ACM 會自動處理其發行的憑證續約。您不需要輪換自訂網域名稱的任何 ACM發行憑證。 會代表您 CloudFront 處理它。
不過,如果您將憑證匯入 ACM並用於自訂網域名稱,則必須在憑證過期之前輪換憑證。這包含匯入網域名稱的新第三方憑證,並將現有憑證輪換為新的憑證。新匯入的憑證過期時,您需要重複進行此程序。或者,您可以請求為網域名稱ACM發出新憑證,並將現有憑證輪換為新發行ACM的憑證。之後,您可以離開 ACM和 CloudFront 自動為您處理憑證輪換。若要建立新憑證或匯入新ACM憑證,請遵循 中的步驟若要建立或匯入 SSL/TLS 憑證至 ACM。
下列程序說明如何輪換網域名稱的憑證。
注意
輪換匯入 的憑證大約需要 40 分鐘ACM。
API 使用自訂網域名稱呼叫您的
API 使用自訂網域名稱呼叫 與API使用預設網域名稱呼叫 相同,前提是URL使用正確的 。
下列範例比較和對照指定區域 APIs(udxjef
qf3duz
) 中兩個 URLs ( 和 ) URLs和指定自訂網域名稱 (us-east-1
) 中的一組預設和對應的自訂api.example.com
。
API ID | 階段 | 預設 URL | 基本路徑 | 自訂 URL |
---|---|---|---|---|
udxjef | prod | https://udxjef.execute-api.us-east-1.amazonaws.com/prod | /petstore | https://api.example.com/petstore |
udxjef | tst | https://udxjef.execute-api.us-east-1.amazonaws.com/tst | /petdepot | https://api.example.com/petdepot |
qf3duz | dev | https://qf3duz.execute-api.us-east-1.amazonaws.com/dev | /bookstore | https://api.example.com/書店 |
qf3duz | tst | https://qf3duz.execute-api.us-east-1.amazonaws.com/tst | /bookstand | https://api.example.com/bookstand |
API Gateway API 使用伺服器名稱指示 (SNI)
API Gateway 會在 CloudFront 分佈SNI上強制執行 。如需 CloudFront 如何使用自訂網域名稱的資訊,請參閱 Amazon CloudFront Custom SSL