- Supply your own availability zones or create subnets in all available in a given region
- Optional public and private subnets with auto-calculated CIDR ranges
- Automatic NAT gateway creation in each AZ if both public and private subnets enabled.
- Optional ACLs for subnets separated by public/private and ingress/egress
- Optional global and resource-specific tags
- The given CIDR range will be split in two for private and public subnets
- The public and private ranges will be split into the minimum number of ranges to allow distinct CIDR ranges for each subnet
Variable | Description | Type | Required | Default |
---|---|---|---|---|
name_prefix | Prefix to attach to the name of every resource. | string | yes | |
vpc_cidr | CIDR range for the created VPC. | string | yes | |
dedicated_instances | Whether instances in the VPC are dedicated by default or not. | bool | no | false |
enable_dns_support | Flag to enable/disable an AWS-provided DNS server within the VPC. | bool | no | true |
enable_dns_hostnames | Flag to enable/disable public DNS hostnames for public IP addresses of instances in the VPC. | bool | no | false |
availability_zones | Availability zones for subnets. Defaults to all availability zones in the current region. | list(string) | no | See description |
create_public | Creates public subnets in the given availability zones. Will create a NAT gateway per availability zone if private subnets enabled. | bool | no | true |
map_public_subnet_public_ips | Maps public subnets with public IPv4 addresses on launch. | bool | no | false |
create_private | Creates private subnets in the given availability zones. Will connect to public NAT gateways if public subnets also enabled. | bool | no | true |
acl_ingress_private | Ingress ACL rules for all private subnets. | map | no | See below |
acl_egress_private | Egress ACL rules for all private subnets. | map | no | See below |
acl_ingress_public | Ingress ACL rules for all public subnets. | map | no | See below |
acl_egress_public | Egress ACL rules for all public subnets. | map | no | See below |
tags_default | Tags to apply to all resources. | map | no | {} |
tags_subnets | Tags to apply to all subnets. | map | no | {} |
tags_route_table | Tags to apply to all route tables. | map | no | {} |
tags_ngw | Tags to apply to all NAT gateways. | map | no | {} |
tags_igw | Tags to apply to the internet gateway. | map | no | {} |
tags_acl | Tags to apply to any ACL rules created. | map | no | {} |
Default ACL default rules allow all traffic:
[
{
rule_no = 100
from_port = 0
to_port = 0
cidr_block = "0.0.0.0/0"
action = "ALLOW"
protocol = -1
}
]
Variable | Description |
---|---|
vpc_id | ID of the created VPC |
private_subnet_ids | IDs of the created private subnets. Empty list if create_private = false |
public_subnet_ids | IDs of the created public subnets. Empty list if create_public = false |
private_cidr_blocks | CIDR blocks of the created private subnets. Empty list if create_private = false |
public_cidr_blocks | CIDR blocks of the created public subnets. Empty list if create_public = false |
availability_zone_ids | IDs of the availability zones in use. See availability_zones input for info. |
nat_gateway_public_eips | Public IPs of the EIPs associated with the NGW |
default_network_acl_id | Default network ACL ID of the created VPC |