首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想使用terraform在GCP中创建公共和私有子网

我想使用terraform在GCP中创建公共和私有子网
EN

Stack Overflow用户
提问于 2019-08-16 07:32:30
回答 2查看 2.8K关注 0票数 1

我使用Terraform在GCP中创建了一个VPC,现在我想添加两个子网--公共和私有子网。在创建VM'S时,如果我通过公共子网,VM应该获得公共IP &如果我通过私有子网,VM应该得到唯一的私有内部IP地址

代码语言:javascript
复制
## Create VPC
resource "google_compute_network" "vpc" {
     name                    = "${var.name}-vpc"
     auto_create_subnetworks = "false"
    }


    ## Create Subnet
 ##  Create public subnet  

resource "google_compute_subnetwork" "pub-subnet" {
     name          = "${var.name}-public-subnet"
     ip_cidr_range = "${var.pub-subnet-cidr}"
     network       = "${var.name}-vpc"
     depends_on    = ["google_compute_network.vpc"]
     region        = "asia-south1"
    }

## Create private subnet

resource "google_compute_subnetwork" "private-subnet" {
     name          = "${var.name}-private-subnet"
     ip_cidr_range = "${var.private-subnet-cidr}"
     network       = "${var.name}-vpc"
     depends_on    = ["google_compute_network.vpc"]
     region        = "asia-south1"
     private_ip_google_access = "true"
    }

创建vm实例

代码语言:javascript
复制
  resource "google_compute_instance" "default" {
name = "qa7-web-linux-${count.index + 1}"
count = "${var.count}"
machine_type = "${var.machine_type}"

boot_disk {
     initialize_params {
         image = "${var.web-srv-image}"
         }
     }   
network_interface {
    subnetwork = "${var.subnet-private}"
    access_config {
         }
    }
metadata {
sshKeys = "indra:${file(".//modules//instances//key.pub")}"
    }
}
EN

回答 2

Stack Overflow用户

发布于 2020-11-21 02:10:46

我知道这是个老问题,但我最近遇到了同样的问题。代码的问题在于,您有一个

代码语言:javascript
复制
access_config { }

块在您的network_interface定义中。当出现此情况时,将向正在创建的网络接口分配外部IP。您需要在“私有”子网中有一个不同的network_interface块,而不需要VM的access_config参数。与AWS不同,子网并不是真正私有的,b/c您可以在任何时候指定外部IP。private_ip_google_access可能不是你所认为的意思。

票数 0
EN

Stack Overflow用户

发布于 2022-10-03 05:59:01

只需从代码中删除“access”部分,就不会将任何外部ip分配给vm。希望这能有所帮助。

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

https://stackoverflow.com/questions/57520555

复制
相关文章

相似问题

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