terraform { required_version = ">= 1.5.0" required_providers { aws = { source = "hashicorp/aws" version = ">= 5.0" } } } locals { cluster_tag_key = "kubernetes.io/cluster/${var.cluster_name}" } module "vpc" { source = "terraform-aws-modules/vpc/aws" version = "~> 5.0" name = "${var.name}-vpc" cidr = var.cidr azs = var.azs private_subnets = var.private_subnets public_subnets = var.public_subnets enable_nat_gateway = true single_nat_gateway = var.single_nat_gateway one_nat_gateway_per_az = !var.single_nat_gateway enable_dns_hostnames = true enable_dns_support = true public_subnet_tags = { "kubernetes.io/role/elb" = "1" (local.cluster_tag_key) = "shared" } private_subnet_tags = { "kubernetes.io/role/internal-elb" = "1" (local.cluster_tag_key) = "shared" } tags = var.tags }