如何为Google API Gateway配置托管实例组作为后端服务
将托管实例组配置为Google API Gateway后端服务的步骤
API Gateway本身不直接支持把托管实例组(MIG)作为后端,需要先将MIG关联到HTTP(S)负载均衡器,再把负载均衡的公网入口作为API Gateway的后端目标,同时配置认证规则。具体操作如下:
1. 关联托管实例组到HTTP(S)负载均衡器
- 进入Google Cloud控制台的负载均衡页面,创建「从互联网到我的VM」类型的HTTP(S)负载均衡器。
- 在后端配置阶段,选择你的托管实例组,配置对应端口的健康检查(确保实例组内的API服务能被正常探测)。
- 完成负载均衡器配置后,记录它的公网IP或已映射的自定义域名。
2. 编写带认证的OpenAPI配置
在你的OpenAPI YAML/JSON文件中,把负载均衡的地址填入x-google-backend的address字段,同时添加认证规则(以Google ID Token为例)。示例片段:
paths: /api/v1/your-endpoint: get: summary: 受保护的API接口 security: - google_id_token: [] # 启用ID Token认证 x-google-backend: address: http://[负载均衡公网IP] path_translation: APPEND_PATH_TO_ADDRESS responses: '200': description: 请求成功 components: securitySchemes: google_id_token: type: http scheme: bearer bearerFormat: JWT x-google-audiences: "[你的API Gateway客户端ID或自定义受众标识]"
3. 部署更新后的API Gateway
使用gcloud命令部署配置:
gcloud api-gateway apis deploy [部署名称] --api=[API名称] --openapi-spec=[你的配置文件路径]
4. 验证功能
- 生成有效的Google ID Token(通过OAuth 2.0流程获取)。
- 向API Gateway的端点发送带Token的请求,确认能正确转发到MIG内的API服务;不带Token时会返回认证失败的响应。
注意事项
- 配置VPC防火墙规则,允许API Gateway的服务账号访问负载均衡器的后端端口。
- 若使用HTTPS负载均衡,需配置SSL证书,且OpenAPI配置中的后端地址要以
https://开头。
内容的提问来源于stack exchange,提问作者mzafer
相关产品推荐
相关产品推荐

