如何将静态 IP 映射到地球化谷歌计算引擎实例?



我正在使用带有Google VM提供程序的terraform。我想将现有静态 IP 分配给 VM。

代码

resource "google_compute_instance" "test2" {
name         = "dns-proxy-nfs"
machine_type = "n1-standard-1"
zone         = "${var.region}"
disk {
image = "centos-7-v20170719"
}
metadata {
ssh-keys = "myuser:${file("~/.ssh/id_rsa.pub")}"
}
network_interface {
network = "default"
access_config {
address = "130.251.4.123"
}
}
}

但它因错误而失败:

google_compute_instance.test2:network_interface.0.access_config.0:无效或未知的键:地址

我该如何解决这个问题?

您还可以允许 terraform 为您创建静态 IP 地址,然后按对象名称将其分配给实例。

resource "google_compute_address" "test-static-ip-address" {
name = "my-test-static-ip-address"
}
resource "google_compute_instance" "test2" {
name         = "dns-proxy-nfs"
machine_type = "n1-standard-1"
zone         = "${var.region}"
disk {
image = "centos-7-v20170719"
}
metadata {
ssh-keys = "myuser:${file("~/.ssh/id_rsa.pub")}"
}
network_interface {
network = "default"
access_config {
nat_ip = "${google_compute_address.test-static-ip-address.address}"
}
}
}

它的工作原理是将address更改为nat_ipaccess_config.

resource "google_compute_instance" "test2" {
name         = "dns-proxy-nfs"
machine_type = "n1-standard-1"
zone         = "${var.region}"
disk {
image = "centos-7-v20170719"
}
metadata {
ssh-keys = "myuser:${file("~/.ssh/id_rsa.pub")}"
}
network_interface {
network = "default"
access_config {
nat_ip = "130.251.4.123" // this adds regional static ip to VM
}
}
}

最新更新