A terraform module to provide a VPC in AWS.
name
- vpc namecidr
- vpc cidrpublic_subnets
- list of public subnet cidrsprivate_subnets
- list of private subnet cidrsdatabase_subnets
- list of private RDS subnet cidrsazs
- list of AZs in which to distribute subnetsenable_dns_hostnames
- should be true if you want to use private DNS within the VPCenable_dns_support
- should be true if you want to use private DNS within the VPCenable_nat_gateway
- should be true if you want to provision NAT Gateways for each of your private networksmap_public_ip_on_launch
- should be false if you do not want to auto-assign public IP on launchprivate_propagating_vgws
- list of VGWs the private route table should propagatepublic_propagating_vgws
- list of VGWs the public route table should propagatetags
- dictionary of tags that will be added to resources created by the module
It's generally preferable to keep public_subnets
, private_subnets
, and
azs
to lists of the same length.
This module optionally creates NAT Gateways in each public subnet and sets them as the default gateways for the corresponding private subnets.
module "vpc" {
source = "github.com/terraform-community-modules/tf_aws_vpc"
name = "my-vpc"
cidr = "10.0.0.0/16"
private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"]
public_subnets = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"]
enable_nat_gateway = "true"
azs = ["us-west-2a", "us-west-2b", "us-west-2c"]
tags {
"Terraform" = "true"
"Environment" = "${var.environment}"
}
}
For Terraform version older than 0.7.0 use ref=v1.0.0
:
source = "github.com/terraform-community-modules/tf_aws_vpc?ref=v1.0.0"
vpc_id
- does what it says on the tinprivate_subnets
- list of private subnet idspublic_subnets
- list of public subnet idsdatabase_subnets
- list of database subnets idsdatabase_subnet_group
- db subnet group namepublic_route_table_ids
- list of public route table idsprivate_route_table_ids
- list of private route table idsdefault_security_group_id
- VPC default security group id stringnat_eips
- list of Elastic IP ids (if any are provisioned)nat_eips_public_ips
- list of NAT gateways' public Elastic IP's (if any are provisioned)natgw_ids
- list of NAT gateway idsigw_id
- Internet Gateway id string
NOTE: previous versions of this module returned a single string as a route table ID, while this version returns a list.
Originally created and maintained by Casey Ransom Hijacked by Paul Hinze
Apache 2 Licensed. See LICENSE for full details.