Terraform创建GCP VPN Gateway时关联预留IP的问题
解决Terraform创建GCP VPN Gateway关联预留IP的问题
GCP的VPN Gateway本身并不直接支持在google_compute_vpn_gateway资源里绑定静态IP,控制台里选IP的操作,底层是通过VPN转发规则来关联预留IP的。你需要额外配置转发规则来实现这个需求,具体步骤如下:
第一步:引用或创建预留静态IP
如果是引用已有的预留IP,用data资源:data "google_compute_address" "reserved_vpn_ip" { name = "你的预留IP名称" region = var.gcp_region }如果需要新建预留IP,用resource资源:
resource "google_compute_address" "reserved_vpn_ip" { name = "vpn-reserved-ip" region = var.gcp_region }第二步:保留原有的VPN Gateway配置(可按需调整名称)
resource "google_compute_vpn_gateway" "target_gateway" { name = "vpn-network-gateway" network = google_compute_network.vpn.id region = var.gcp_region }第三步:创建VPN转发规则,关联预留IP和VPN Gateway
resource "google_compute_forwarding_rule" "vpn_forwarding_rule" { name = "vpn-forwarding-rule" region = var.gcp_region ip_address = data.google_compute_address.reserved_vpn_ip.address # 若新建IP则用google_compute_address.reserved_vpn_ip.address ip_protocol = "ESP" target = google_compute_vpn_gateway.target_gateway.self_link forwarding_rule_type = "VPN" }
说明:ESP是VPN通信的标准协议,转发规则类型设为VPN后,GCP会自动将该规则与VPN Gateway绑定,实现控制台里选IP的效果。
内容的提问来源于stack exchange,提问作者Elazar
相关产品推荐
相关产品推荐

