我想要為 Amazon API Gateway HTTP API 建立與內部 Application Load Balancer 搭配使用的私有整合。
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
建立 VPC 連結
先決條件:建立 Application Load Balancer。
您可以使用 API Gateway 主控台或 AWS CLI 來建立 VPC 連結。
API Gateway 主控台
請完成以下步驟:
- 開啟 API Gateway console (API Gateway 主控台)。
- 在導覽窗格中,選擇 VPC links (VPC 連結),然後選擇 Create (建立)。
- 在 Choose a VPC link version (選擇 VPC 連結版本) 中,選擇 VPC link for HTTP APIs (HTTP API 的 VPC 連結)。
- 在 Name (名稱) 中,輸入 VPC 連結的名稱。
- 在 VPC 下拉式清單中,選取要連線的 Application Load Balancer 的 VPC。
- 在 Subnets (子網路) 中,選取要包含在 VPC 連結中的子網路。
- 在 Security groups (安全群組) 中,選取 VPC 連結的安全群組,然後選擇 Create (建立)。
AWS CLI
執行下列 create-vpc-link 命令:
aws apigatewayv2 create-vpc-link --name MyVpcLink \ --subnet-ids subnet-aaaa subnet-bbbb \
--security-group-ids sg1234 sg5678
建立 HTTP API 和路由
請完成以下步驟:
- 開啟 API Gateway console (API Gateway 主控台)。
- 選擇 Create API (建立 API)。
- 在 HTTP API,選擇 Build (建置)。
- 在 API name (API 名稱),輸入名稱,然後選擇 Next (下一步)。
- 在 Configure routes (設定路由),選擇 Next (下一步)。
- 在 Configure stages (設定階段),選擇 Next (下一步),然後選擇 Create (建立)。
- 在導覽窗格中,選擇 Routes (路由),然後選擇 Create (建立)。
- 在 Method (方法),選擇 ANY (ANY)。
- 在路徑,輸入 /{proxy+},然後選擇 Create (建立)。
建立私有整合並部署 HTTP API
請完成以下步驟:
- 開啟 API Gateway console (API Gateway 主控台)。
- 選取您的 HTTP API。
- 在導覽窗格中,選擇 Integrations (整合)。
- 在 Integrations (整合),選擇 Manage integrations (管理整合),然後選擇 Create (建立)。
- 在 Attach this integration to a route (將此整合連結至路由),選擇 ANY /{proxy+}。
- 在 Integration target (整合目標),選擇 Private resource (私有資源)。
- 在 Integration details (整合詳細資訊),選擇 Select manually (手動選取)。
- 在 Target service (目標服務),選擇 ALB/NLB (ALB/NLB)。
- 在 Load balancer (負載平衡器),選取您的 Application Load Balancer。
- 在 Listener (接聽程式),選擇 HTTP 80。
- 在 VPC link (VPC 連結),選取您的 VPC,然後選擇 Create (建立)。
- 如果您尚未啟用 Auto deploy (自動部署),請選擇 Deploy (部署)。
- 在 Invoke URL (調用網址),請記下該網址並在新的瀏覽器視窗中輸入。範例網址為 https://abcdef123.execute-api.us-east-1.amazonaws.com。
**注意:**私有整合流量使用 HTTP 通訊協定。如果您需要私有整合流量使用 HTTPS,請使用 AWS 管理主控台來指定 TlsConfig。建立私有整合時,選擇 Advanced settings (進階設定),然後輸入安全的伺服器名稱。如需更多資訊,請參閱在 API Gateway 中為 HTTP API 建立私有整合。
相關資訊
Amazon API Gateway HTTP API 教學課程
如何在 HTTP API 中,為 API Gateway 整合對應回應狀態碼?