通过Terraform提供没有外部IP的GCP VM实例



尝试通过terraform在GCP中创建一个虚拟机,外部IP为None。

network_interface {
network = "projects/other-project-name/global/networks/network-name"
subnetwork = "projects/other-project-name/regions/us-central1/subnetworks/subnet-name"
access_config {
nat_ip = "None"
}
}  

但是nat_ip = "None"是该字段的无效值。如果我用nat_ip = "",它会自动分配外部IP。
他们的文档如下:https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_instance#nat_ip

要通过terraform在GCP中创建一个没有外部IP的VM,您可以省略network_interface块中的access_config部分,如下所示。所以你只需要:

network_interface {
network = "projects/other-project-name/global/networks/network-name"
subnetwork = "projects/other-project-name/regions/us-central1/subnetworks/subnet-name"
}

在最近的google提供商更新中发生了一些变化,我无法解决这个问题,直到我将网络层降级为标准,任何其他与网络层PREMIUM(默认)的组合或省略块导致虚拟机具有短暂的ip

access_config {
nat_ip = ""
network_tier = "STANDARD"
}

我确认上述行为,如LundinCast所述. 在我的例子中,我没有看到为我使用Terraform创建的VM配置的外部IP。我在network_interface部分下添加了空白的access_config块,并配置了外部ip。

network_interface {
network = "default"
access_config {}
}

最新更新