跳至內容

如何為 API Gateway API 設定公有自訂網域名稱?

2 分的閱讀內容
0

我想要讓我的 Amazon API Gateway API 使用自訂網域名稱,而非預設基本 URL。

簡短描述

您可以為 API Gateway API 建立兩種類型的自訂網域名稱: 區域型或 (僅適用於 REST API) 邊緣最佳化

**注意:**API Gateway 支援私有 API 的自訂網域名稱

若要為您的 API Gateway API 設定自訂網域名稱,請執行以下步驟:

若要成功設定自訂網域,您必須了解各種類型自訂網域名稱的差異。以下是區域型與邊緣最佳化自訂網域名稱之間的一些主要差異:

  • 對於目標端點,區域型自訂網域名稱使用區域 API 端點。邊緣最佳化自訂網域名稱使用 Amazon CloudFront 發佈項目
  • 對於 SSL/TLS 憑證,區域型自訂網域名稱必須使用與 API 位於同一個 AWS 區域的 SSL/TLS 憑證。邊緣最佳化自訂網域名稱必須使用下列區域中的憑證: 美國東部 (維吉尼亞北部) (us-east-1)
  • 對於自訂網域名稱,您可以跨不同 AWS 區域共用區域型自訂網域名稱。邊緣最佳化自訂網域名稱則是唯一的。您無法將自訂網域名稱與多個 CloudFront 發佈項目建立關聯。
  • 對於網域名稱,您無法將 WebSocket API 的區域型自訂網域名稱對應至 REST API 或 HTTP API。但是,您可以將區域型自訂網域關聯至 REST API 和 HTTP API。對於 REST API,邊緣最佳化和區域自訂網域名稱都可以具有邊緣最佳化 API 端點區域型 API 端點或這兩者的映射。對於 WebSocket API 和 HTTP API,TLS 1.2 是唯一支援的 TLS 版本。

解決方法

申請或匯入 SSL/TLS 憑證

在您為 API 建立自訂網域名稱之前,必須執行以下其中一項操作:

  • 從 AWS Certificate Manager (ACM) 申請 SSL/TLS 憑證。
  • 將 SSL/TLS 憑證匯入 ACM。

**注意:**如需詳細資訊,請參閱在 AWS Certificate Manager 中準備好憑證

當您申請或匯入憑證時,必須符合以下要求:

  • 為了通過網域驗證檢查,憑證必須包含自訂網域名稱作為替代網域名稱。
    **注意:**如需使用 CloudFront 發佈項目進行驗證檢查 (適用於邊緣最佳化自訂網域名稱) 的詳細資訊,請參閱持續增強 Amazon CloudFront 上的網域安全性。區域型自訂網域名稱也有類似的驗證檢查。
  • 對於區域型自訂網域名稱,ACM 憑證必須與 API 位於同一個區域。

為 REST API、HTTP API 或 WebSocket API 建立自訂網域名稱

對於 REST API,請依照 API Gateway 中公有 REST API 的自訂網域名稱中的指示進行。

對於 HTTP API,請依照 API Gateway 中 HTTP API 的自訂網域名稱中的指示進行。

對於 WebSocket API,請依照 API 中 WebSocket API 的自訂網域名稱中的指示進行。

將流量路由至 API Gateway API

若要將流量路由至您的自訂網域,請使用 Amazon Route 53。

若要將流量路由到您的 API Gateway API,請依照設定 Route 53 以將流量路由至 API Gateway 端點中的指示進行操作。

設定 Route 53 時,您必須建立公有託管區域或私有託管區域。如果網際網路對向應用程式具有您想要提供給使用者的資源,請選擇公有託管區域。如需詳細資訊,請參閱使用託管區域

若要判斷您的網域流量路由位置,Route 53 會使用記錄。別名記錄可讓您更輕鬆地進行 AWS 資源的 DNS 查詢,而 CNAME (非別名) 記錄可以重新導向 AWS 資源以外的 DNS 查詢。如需詳細資訊,請參閱在別名與非別名記錄之間選擇

測試組態

若要測試組態,您可以使用新的自訂網域名稱呼叫 API:

  1. 使用您在建立自訂網域名稱時指定的基本路徑映射,在網域名稱上執行 curl 命令。
    **注意:**如需有關 curl 的詳細資訊,請參閱 curl 專案網站
  2. 確認對自訂網域名稱的回應與您調用 API 階段 URL 時收到的回應相同。

相關資訊

將自訂網域名稱遷移至 API Gateway 中的不同 API 端點類型

在 AWS Certificate Manager 中申請公有憑證