我想部署一个使用Terraform 0.12的Google Cloud Compute Engine VM实例。我的问题是创建了2个IP地址。我有一个静态IP地址和一个临时IP地址。VM实例正在使用临时IP。区域是正确的。
这是我使用的代码:
resource "google_compute_address" "static-ip" {
name = "static-ip"
address_type = "EXTERNAL"
region = var.location
}在google_compute_instance_template的计算引擎VM实例中,网络是这样配置的:
network_interface {
network = "default-net"
access_config {
nat_ip = google_compute_address.static-ip.address
}
}之后,我用资源google_compute_instance_from_template实例化了VM实例。
我想知道,如何才能将外部IP附加到我的VM实例,而只有一个IP地址?
发布于 2020-01-14 22:13:08
您将拥有2个IP、一个内部IP和可选的外部IP (临时或静态),如GCP IP Addresses文章中所述
要使用Terraform创建具有静态IP的实例,请查看他们的google_compute_address示例
resource "google_compute_address" "static" {
name = "ipv4-address"
}
data "google_compute_image" "debian_image" {
family = "debian-9"
project = "debian-cloud"
}
resource "google_compute_instance" "instance_with_ip" {
name = "vm-instance"
machine_type = "f1-micro"
zone = "us-central1-a"
boot_disk {
initialize_params {
image = data.google_compute_image.debian_image.self_link
}
}
network_interface {
network = "default"
access_config {
nat_ip = google_compute_address.static.address
}
}
}阅读Argument Reference部分,了解每个变量的预期内容
发布于 2020-01-15 03:44:25
感谢您的回复。我自己解决了这个问题。我认为问题在于我一开始就创建了一个带有内部IP的VM。然后我把我的地形文字改成了一个外在的临时IP。之后,我将所有内容都更改为静态外部。
Terraform未删除临时IP。所以我手动删除了ip。
https://stackoverflow.com/questions/59734977
复制相似问题