You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.9 KiB
1.9 KiB
Amazon AWS VPC
This Terraform configuration creates:
- Amazon AWS VPC
- Internet Gateway
- Subnets in all configured availability zones and routing tables linking them to the Internet Gateway
Additionally, if variable private_subnets is set to true, it will create:
- NAT with Elastic IP address in each availability zone
- Private subnet in each availability zone with routing tables linking them to the NAT
This configuration uses my own module from Terraform Module Registry.
Prerequisites and dependencies
There are no other dependencies apart from Terraform.
Configuration
| Option | Explanation | Example |
|---|---|---|
aws_region |
AWS region which should be used | eu-central-1 |
aws_zones |
List of AWS availability zones which should be used | ["eu-central-1a", "eu-central-1b"] |
vpc_name |
Name of the VPC which should ve created | my-vpc |
vpc_cidr |
CIDR address which should be used | 10.0.0.0/16 |
tags |
Tags which should be applied to all resources | { Hello = "World" } |
private_subnets |
Create also private subnets with NAT in every avaialbility zone | false or true |
Creating the VPC
To create the VPC,
- Export AWS credentials into environment variables
AWS_ACCESS_KEY_IDandAWS_SECRET_ACCESS_KEY - Apply Terraform configuration:
terraform init
terraform apply --var-file example.tfvars
Deleting the VPC
To delete the VPC,
- Export AWS credentials into environment variables
AWS_ACCESS_KEY_IDandAWS_SECRET_ACCESS_KEY - Destroy Terraform configuration:
terraform destroy --var-file example.tfvars