簡體   English   中英

Terraform 一個 EC2 實例,兩個子網

[英]Terraform one EC2 instance with two subnets

我需要創建一個 EC2 並將 2 個子網關聯到它。

變量.tf

variable "aws_subnet_id_this" {
  description = "Subnet ID"
  default = ["subnet-09df122a4faee8882", "subnet-2fcc756f02ddb4b62"]
}

主文件

resource "aws_instance" "test" {
  ami                         = var.ami_id
  instance_type               = var.ec2_instance_type
  subnet_id                   = var.aws_subnet_id_this
  key_name                    = var.pki_name
  vpc_security_group_ids      = [aws_security_group.Allow_SSH_in.id]
}

錯誤:

錯誤:屬性值類型不正確

在 main_count_data.tf 第 57 行,在資源“aws_instance”“test”中:57:subnet_id = var.aws_subnet_id_this |---------------- | var.aws_subnet_id_eks 是具有 2 個元素的元組

屬性“subnet_id”的值不合適:需要字符串。

所以我嘗試了這個:

主文件

resource "aws_instance" "prueba" {
  ami                         = var.ami_id
  instance_type               = var.ec2_instance_type
  #subnet_id                   = var.aws_subnet_id_this
  count = 2
  subnet_id = "${element(var.aws_subnet_id_this, count.index)}"
  key_name                    = var.pki_name
  vpc_security_group_ids      = [aws_security_group.Allow_SSH_in.id]
  }
}

但是這最后一部分代碼嘗試使用第二個子網創建一個新的 EC2 實例,這不是我所期望的。

總結一下:我需要 1 個 EC2,其中包含 variables.tf 文件中定義的 2 個子網。

我怎樣才能做到這一點?

下面是一個示例,說明如何在不同的子網中創建一個具有兩個 NIC 的實例。 NIC必須在同一個 AZ 中。 所以實例可以在不同的子網中有兩個網卡,只要它們在同一個 AZ 中:

variable "aws_subnet_id_this" {
  description = "Subnet ID"
  default = ["subnet-09df122a4faee8882", "subnet-2fcc756f02ddb4b62"]
}

resource "aws_network_interface" "nic1" {
  subnet_id       = var.aws_subnet_id_this[0]
}

resource "aws_network_interface" "nic2" {
  subnet_id       = var.aws_subnet_id_this[1]
}


resource "aws_instance" "prueba" {
  ami                         = var.ami_id
  instance_type               = var.ec2_instance_type
  key_name                    = var.pki_name

  network_interface {
      device_index = 0
      network_interface_id = aws_network_interface.nic1.id
  }
        
  network_interface {
      device_index = 1
      network_interface_id = aws_network_interface.nic2.id
  }  
  
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM