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

使用Terraform创建GCP私有Cloud NAT时type参数不支持的解决方案咨询

解决Terraform中google_compute_router_nat私有NAT配置问题(无type参数)

问题根源

你使用的Terraform Google Provider 6.4.0版本中,google_compute_router_nat资源并未引入type参数,该参数是在Provider 7.0.0及以上版本才新增的。你参考的是最新版文档,和当前使用的版本不兼容,所以报错。

适配6.4.0版本的私有NAT配置方案

要实现仅允许内部IP范围出站的私有Cloud NAT,通过以下参数组合配置即可,无需type参数:

  • 将nat_ip_allocate_option设为NO_NAT:阻止NAT分配公网IP,仅处理内部流量的地址转换
  • 通过rules的match字段限定目标为内部IP段(如RFC1918私有网段)
  • 配置source_subnetwork_ip_ranges_to_nat和子网内的source_ip_ranges_to_nat明确需要NAT的源IP范围

修改后的完整配置:

resource "google_compute_router_nat" "cloud_nat" {
  project                             = var.project_id
  name                                = var.cloud_nat_name
  router                              = google_compute_router.router.name
  region                              = google_compute_router.router.region
  # 核心设置:不分配公网NAT IP,仅处理内部流量
  nat_ip_allocate_option              = "NO_NAT"
  source_subnetwork_ip_ranges_to_nat  = var.source_subnetwork_ip_ranges_to_nat
  enable_endpoint_independent_mapping = var.enable_endpoint_independent_mapping
  min_ports_per_vm                    = var.min_ports_per_vm

  subnetwork {
    name                    = google_compute_subnetwork.subnet.id
    source_ip_ranges_to_nat = ["ALL_IP_RANGES"]
  }

  rules {
    rule_number = var.rule_number
    description = "private nat rule for internal traffic"
    # 匹配所有RFC1918私有网段目标流量
    match       = "destination.ipRange('10.0.0.0/8') || destination.ipRange('172.16.0.0/12') || destination.ipRange('192.168.0.0/16')"
    action {
      source_nat_active_ranges = [google_compute_subnetwork.subnet.id]
    }
  }
}

terraform {
  required_providers {
    google = {
      source  = "hashicorp/google"
      version = "6.4.0"
    }
  }
}

可选方案:升级Provider版本

如果想使用type = "PRIVATE"简化配置,可以将Terraform Google Provider升级到7.0.0及以上版本。升级后只需添加type = "PRIVATE"即可,无需配置复杂的规则,但需注意版本升级可能引发的其他资源兼容性问题,建议提前测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 23:30:58