Cloud Run无法连接VertexAI但本地正常,求解决方法
问题解决:Cloud Run访问Vertex AI出现503连接失败
问题概述
运行Flask项目的Cloud Run服务,已配置Vertex AI集成并使用具备Vertex AI Viewer和Vertex AI User角色的服务账号,本地(容器内外)运行正常,但部署到Cloud Run后持续出现以下503错误:
google.api_core.exceptions.ServiceUnavailable: 503 failed to connect to all addresses; last error: UNKNOWN: ipv4:<IP>:443: Failed to connect to remote host: FD Shutdown
核心原因
经排查,该问题由VPC网络配置限制导致。当Cloud Run关联VPC但未正确配置Vertex AI的访问规则时,服务无法建立到Vertex AI端点的连接,从而触发503错误。
解决方案
临时快速修复(已验证有效)
直接禁用Cloud Run的VPC网络关联,让服务通过公共网络访问Vertex AI,即可恢复正常连接。
长期VPC环境适配方案
若需保留VPC配置,需完成以下配置:
- 配置Vertex AI VPC访问
- 为VPC启用Private Service Connect(PSC),创建指向Vertex AI服务的端点,允许VPC内资源访问Vertex AI。
- 确保VPC已添加Vertex AI的服务地址范围,保证流量能正确路由到Vertex AI内部端点。
- 调整VPC防火墙规则
- 添加出站规则,允许Cloud Run服务的VPC流量访问443端口(Vertex AI的HTTPS端口),目标地址设置为Vertex AI服务IP段或PSC端点。
- 核对Cloud Run VPC连接器配置
- 确认Cloud Run使用的VPC连接器已正确关联目标VPC,且连接器具备访问Vertex AI资源的权限。
- 若使用VPC私有访问模式,需将Vertex AI的端点配置为VPC内部可访问。
已排除的非问题点
- 服务账号权限:当前配置的
Vertex AI Viewer和Vertex AI User角色已满足访问预测端点的权限要求,权限问题可排除。 - 代码与镜像:本地运行正常,说明代码逻辑、依赖安装(Dockerfile中的Poetry配置)无问题,无需修改代码或镜像。
内容的提问来源于stack exchange,提问作者Tuma
相关产品推荐
相关产品推荐

