You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terraform连接GCP Cloud Run与Filestore时遇网络问题求助

问题修复与排查方向

修复步骤

  1. 配置Cloud Run的VPC访问连接器
    169.254.8.1是Cloud Run默认的公共出站NAT地址,说明你的服务未配置VPC访问,无法直接访问Filestore的私有内部IP。需在Terraform中为Cloud Run服务关联VPC访问连接器,确保服务与Filestore处于同一VPC网络:
# 创建VPC访问连接器
resource "google_vpc_access_connector" "filestore_connector" {
  name          = "filestore-connector"
  region        = "你的GCP区域"
  ip_cidr_range = "10.8.0.0/28" # 选择不与Filestore子网重叠的IP段
  network       = "你的VPC网络名称"
}

# 为Cloud Run服务配置VPC访问
resource "google_cloud_run_service" "your_service" {
  # 已有配置...
  template {
    spec {
      # 容器配置...
      vpc_access_connector {
        name = google_vpc_access_connector.filestore_connector.name
        egress = "ALL_TRAFFIC" # 仅需访问私有网络时,可设为"PRIVATE_RANGES_ONLY"
      }
    }
  }
}
  1. 配置Filestore的防火墙规则
    确保Filestore所在VPC的防火墙允许来自VPC连接器子网的NFS流量:
  • 开放TCP/UDP端口111(RPC)和2049(NFS)的入站权限
  • 源地址指定为VPC连接器的子网IP段(如示例中的10.8.0.0/28)

排查方向

  • 验证VPC连接器状态:检查连接器是否处于RUNNING状态,若创建失败,通常是IP段与现有子网冲突,需调整ip_cidr_range。
  • 测试Filestore可用性:在同VPC内创建一台VM,使用相同的Filestore IP和挂载命令测试,确认Filestore本身可正常挂载,排除实例自身问题。
  • 检查挂载命令参数:确保挂载路径正确(Filestore默认共享路径为/fileshare),完整命令应为mount -t nfs 10.15.225.10:/fileshare /mnt/filestore,可尝试添加-o nfsvers=3指定NFS版本。
  • 确认环境变量传递:检查Terraform中是否正确将Filestore IP注入Cloud Run的环境变量,避免变量名拼写错误或值传递失败。
  • 验证Cloud Run出站IP:在服务中添加curl ifconfig.me命令查看出站地址,若VPC访问配置生效,地址应来自连接器子网,而非169.254.8.1。
  • 检查镜像依赖:确认Docker镜像已安装NFS客户端工具(Debian/Ubuntu用nfs-common,RHEL/CentOS用nfs-utils),否则mount命令无法执行。

内容的提问来源于stack exchange,提问作者Stereo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 11:57:31