簡體   English   中英

使用計數與 terraform 在多個子網中啟動 EC2 服務器

[英]Launch EC2 servers in multiple subnets using count with terraform

我有一個用例,我設置了變量 instance_count = 3,我有 2 個 Private_subnets,這是一個列表 [“subnet-id-A”,“subnet-id-B”],我希望我的 terraform 代碼動態生成本地 map 或可以這樣的列表

subnets = {
01 = subnet-id-A
02 = subnet-id-B
03 = subnet-id-A
}
OR
subnets = ["subnet-id-A","subnet-id-B","subnet-id-A"]

如果實例數變為 4,則可能是這樣的

subnets = {
01 = subnet-id-A
02 = subnet-id-B
03 = subnet-id-A
04 = subnet-id-B
}
OR
subnets = ["subnet-id-A","subnet-id-B","subnet-id-A","subnet-id-B"]

如果實例數變為 2,則可能是這樣的

subnets = {
01 = subnet-id-A
02 = subnet-id-B
}
OR
subnets = ["subnet-id-A","subnet-id-B"]

Subnet_ids 是一個包含所有私有子網的列表。

這是代碼

locals {
 formatted_count = [for index in range(var.instance_count) : format("0%s", index + 1)]
 instances_count = toset(local.formatted_count)
}
   module "ec2" {
   for_each                    = local.instances_count
   source                      = "terraform-aws-modules/ec2-instance/aws"
   version                     = "3.2.0"
   name                        = var.name
   ami                         = var.ami
   instance_type               = var.instance_type
   key_name                    = var.key_name
   monitoring                  = var.monitoring
   tags                        = var.tags
   vpc_security_group_ids      = var.vpc_security_group_ids
   subnet_id                   = element(var.subnet_ids,each.value - 1)
   }

暫無
暫無

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

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