我想要將 Amazon API Gateway REST API 與 Application Load Balancer 整合。
簡短描述
若要將 Gateway REST API 與公有 Application Load Balancer 整合,請使用 API Gateway HTTP 整合。
對於私有 Application Load Balancer,請使用 API Gateway 虛擬私有雲端 (VPC) 連結來連線至私有 Network Load Balancer。然後,使用 Network Load Balancer 將 API Gateway 請求轉送至私有 Application Load Balancer。
注意: 雖然您無法直接將 REST API 與私有 Application Load Balancer 整合,但您可以設定與 HTTP API 和 WebSocket API 的私有整合。
解決方法
將 API Gateway REST API 與公有 Application Load Balancer 整合
先決條件:
- 存取公有 Application Load Balancer 及其 DNS 名稱
- 含有 HTTP 方法的 API Gateway REST API 資源
請完成下列步驟:
- 開啟 API Gateway 主控台。
- 選擇要與 Application Load Balancer 整合的 API。
- 在 Resources (資源) 中,針對 Methods (方法) 選擇 API 使用的 HTTP 方法。
- 選擇 Integration request (整合請求)。
- 針對 Integration type (整合類型),選擇 HTTP。
注意: 若要將整個 API 請求及其參數傳遞至後端 Application Load Balancer,請建立 HTTP 代理整合 或 HTTP 自訂整合。如需詳細資訊,請參閱在 API Gateway 中 REST API 的 HTTP 整合。
- 在 Endpoint URL (端點 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 接聽程式。如需詳細資訊,請參閱 Application Load Balancer 的接聽程式。對於設定了 HTTPS 接聽程式的 Application Load Balancer,支援 API Gateway 的憑證授權機構必須核發關聯的憑證。若要使用自我簽署的憑證或私人憑證授權機構所發行的憑證,請在整合的 tlsConfig 擴充中將 insecureSkipVerification 設定為 true。
- 選擇 Save (儲存)。
- 部署 API。
將 API Gateway REST API 與私有 Application Load Balancer 整合
請完成下列步驟:
- 使用 API Gateway VPC 將您的 API 與私有 Network Load Balancer 整合。
- 使用 Network Load Balancer 將 API 請求轉送至私有 Application Load Balancer。
僅允許從 API Gateway 存取 Application Load Balancer
請執行下列動作:
- 最佳實務是透過 VPC 連結使用與 Application Load Balancer 的私有整合,作為 Network Load Balancer 的目標。對於私有整合,請為 Application Load Balancer 設定安全群組規則,該規則僅將 Network Load Balancer 的 IP 位址列入允許清單。
- 如果整合和 Application Load Balancer 為公用,請為 API AWS 區域設定安全群組規則,該規則將 API Gateway IP 位址列入允許清單。