我想要將 Amazon API Gateway REST API 與 Application Load Balancer 整合。
解決方法
將 API Gateway REST API 與公有 Application Load Balancer 整合
**先決條件:**確定您可以存取公用 Application Load Balancer 及其 DNS 名稱。您還必須擁有含有 HTTP 方法的 API Gateway REST API 資源。
若要將 API Gateway Rest API 與公用 Application Load Balancer 整合,請完成下列步驟:
- 開啟 API Gateway console (API Gateway 主控台)。
- 選取要與 Application Load Balancer 整合的 API。
- 在 Resources (資源) 中,於 Methods (方法) 中選取 API 使用的 HTTP 方法。
- 選擇 Integration request (整合請求)。
- 在 Integration type (整合類型) 中,選擇 HTTP。
**注意:**若要將 API 請求及其參數傳遞至後端 Application Load Balancer,請建立 HTTP Proxy 整合 或 HTTP 自訂整合。如需詳細資訊,請參閱在 API Gateway 中 REST API 的 HTTP 整合。
- 在 Endpoint URL (端點網址) 中,輸入 DNS 名稱。使用 Application Load Balancer 的預設 DNS 名稱或自訂 DNS 名稱。
- 新增 Application Load Balancer 接聽程式已設定的通訊協定。例如,在連接埠 8080 上設定了 HTTPS 接聽程式的 Application Load Balancer 需要 https://domain-name:8080/ 端點 URL 格式。
**重要:**選擇連接埠和接聽程式規則,為 Application Load Balancer 建立 HTTP 接聽程式或 HTTPS 接聽程式。對於設定了 HTTPS 接聽程式的 Application Load Balancer,支援 API Gateway 的憑證授權機構必須核發關聯的憑證。若要使用自我簽署的憑證或私人憑證授權機構所發行的憑證,請在整合的 tlsConfig 擴充中將 insecureSkipVerification 設定為 true。
- 選擇 Save (儲存)。
- 部署 API。
保護您的公用 Application Load Balancer
安全群組規則必須允許來自該 API 所在 AWS 區域中 API Gateway IP 位址的流量。
使用 HTTP 標頭條件來設定 Application Load Balancer 接聽程式規則,該規則要求 x-amzn-apigateway-api-id 請求標頭與您的 API ID 相符。
將 API Gateway REST API 與私有 Application Load Balancer 整合
使用 API Gateway 的 Amazon Virtual Private Cloud (Amazon VPC) 連結,將您的 API 與私有 Network Load Balancer 整合。此步驟可讓您存取位於 Amazon VPC 內的資源。
然後,使用 Network Load Balancer 將 API 請求轉送至私有 Application Load Balancer。
保護您的私有 Application Load Balancer
請確定為 Application Load Balancer 設定安全群組規則,該規則僅僅允 Network Load Balancer 的 IP 位址。
使用負載平衡器調用私有 REST API
使用負載平衡器來調用私有 REST API。如需更多資訊,請參閱如何使用 Application Load Balancer 或 Network Load Balancer 調用 API Gateway 私有 API?