CIDR = 10.50.0.0/16
variable "region" {
default = "us-east-1"
description = "AWS region"
}
data "aws_availability_zones" "available" {}美东一号有6个阿兹。
["us-east-1a", "us-east-1b", "us-east-1c", "us-east-1d", "us-east-1e", "us-east-1f"]我想要创建每个AZ配置的一个公共子网和一个私有子网。
我有3个环境(开发/阶段/项目)
为
)上创建子网。
。
local.tf
locals {
selected_azs = map(data.avaialbility_zones.name[3])
}vpc.tf
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
name = var.vpc_name
cidr = var.vpc_cidr
azs = data.aws_availability_zones.available.names
private_subnets = var.ath_private_subnet_block
public_subnets = var.ath_public_subnet_block
enable_nat_gateway = local.natgw_states[var.natgw_configuration].enable_nat_gateway
single_nat_gateway = local.natgw_states[var.natgw_configuration].single_nat_gateway
one_nat_gateway_per_az = local.natgw_states[var.natgw_configuration].one_nat_gateway_per_az
tags = var.resource_tags
}variable.tf
variable "az_throttle_limit" {
type = number
default = 0
description = "number of AZs to limit to, 0 for all"
}关于读取可用性区域的任何建议,我如何从本地状态控制.
默认值将为当前区域上的所有可用性区域创建子网。
摘要:
(美-东-1a,美-东-1b,美-东-1c,美-东-1D,美-东-1-e,美-东-1-1 f)
获得
中)
发布于 2022-10-12 07:32:21
您可以有一个名为env的新变量,每个env都有不同的AZs局部变量。
variable "env" {
type = string
default = "dev"
}
locals {
selected_azs = {
"dev" = [for i in range(3): data.aws_availability_zones.available.names[i]]
"stage" = [for i in range(4): data.aws_availability_zones.available.names[i]]
"prod" = data.aws_availability_zones.available.names
}
}然后使用它:
azs = locals.selected_azs[var.env]https://stackoverflow.com/questions/74037034
复制相似问题