首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Terraform向GCE虚拟机实例添加静态IP

如何使用Terraform向GCE虚拟机实例添加静态IP
EN

Stack Overflow用户
提问于 2020-01-14 21:41:46
回答 2查看 1.5K关注 0票数 1

我想部署一个使用Terraform 0.12的Google Cloud Compute Engine VM实例。我的问题是创建了2个IP地址。我有一个静态IP地址和一个临时IP地址。VM实例正在使用临时IP。区域是正确的。

这是我使用的代码:

代码语言:javascript
复制
resource "google_compute_address" "static-ip" {
  name = "static-ip"
  address_type = "EXTERNAL"
  region = var.location
}

google_compute_instance_template的计算引擎VM实例中,网络是这样配置的:

代码语言:javascript
复制
  network_interface {
    network = "default-net"
    access_config {
      nat_ip = google_compute_address.static-ip.address
    }
   }

之后,我用资源google_compute_instance_from_template实例化了VM实例。

我想知道,如何才能将外部IP附加到我的VM实例,而只有一个IP地址?

EN

回答 2

Stack Overflow用户

发布于 2020-01-14 22:13:08

您将拥有2个IP、一个内部IP和可选的外部IP (临时或静态),如GCP IP Addresses文章中所述

要使用Terraform创建具有静态IP的实例,请查看他们的google_compute_address示例

代码语言:javascript
复制
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部分,了解每个变量的预期内容

票数 4
EN

Stack Overflow用户

发布于 2020-01-15 03:44:25

感谢您的回复。我自己解决了这个问题。我认为问题在于我一开始就创建了一个带有内部IP的VM。然后我把我的地形文字改成了一个外在的临时IP。之后,我将所有内容都更改为静态外部。

Terraform未删除临时IP。所以我手动删除了ip。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59734977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档