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

2 分的閱讀內容
0

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

簡短描述

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

注意:私有 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 憑證必須位於下列區域: 美國東部 (維吉尼亞北部) (us-east-1)
  • 對於區域自訂網域名稱,ACM 憑證必須與 API 位於同一個區域。

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

對於 REST API,請遵循為 REST API 設定自訂網域名稱中的指示進行操作。

對於 HTTP API,請遵循為 HTTP API 設定自訂網域名稱中的指示進行操作。

對於 WebSocket API,請遵循為 WebSocket API 設定自訂網域名稱中的指示進行操作。

將流量路由至 API Gateway API

使用 Amazon Route 53 將流量路由至您的自訂網域。如此更能控制使用者造訪網域時可存取的資源。

請遵循設定 Route 53 以將流量路由至 API Gateway 端點中的指示進行操作。

  • 設定 Route 53 時,您必須建立公有託管區域或私有託管區域。如果網際網路對向應用程式具有您想要提供給使用者的資源,請選擇公有託管區域。如需詳細資訊,請參閱使用託管區域
  • Route 53 會使用記錄來判斷網域流量的路由位置。別名記錄可讓您更輕鬆地進行 AWS 資源的 DNS 查詢,而 CNAME (非別名) 記錄可以重新導向 AWS 資源以外的 DNS 查詢。如需詳細資訊,請參閱在別名與非別名記錄之間選擇

使用新的自訂網域名稱呼叫 API 來測試設定

1.    使用您在建立自訂網域名稱時指定的基本路徑映射,在網域名稱上執行 curl 命令。
**注意:**如需有關 curl 的詳細資訊,請參閱 curl 專案網站

2.    確認對自訂網域名稱的回應與您調用 API 階段 URL 時收到的回應相同。


相關資訊

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

請求公有憑證