Sitemap

Building and Managing AWS VPC Infrastructure with Terraform.

3 min readFeb 24, 2022

Terraform is an “infrastructure as code” tool similar to AWS CloudFormation that allows you to create, update, and version your Amazon Web Services (AWS) infrastructure.

In this project, I am going to create a VPC network infrastructure using Terraform after which I will perform some operations to deploy my resource into the Cloud.

Terraform Initialize
Terraform Plan
Terraform Apply
Terraform DESTROY

Pre-Requisites

  1. You must have an AWS account to check if infrastructure resources was applied on AWS cloud.
  2. You have must Terraform install on your Visual Studio Code.

Pre-Deployment to make create a scalable VPC infrastructure with Terraform

  1. 1. Create a VPC
  2. 2. Internet Gateway — Associate to VPC
  3. 3. NAT Gateway — EIP, Associate to Public Subnet
  4. 4. Create a Public Subnet
  5. 5. Create a Private Subnet
  6. 6. Create a Private Route Table — Associate to Private Subnet
  7. 7. Create a Public Route Table — Associate to Public Subnet
  8. 8. Add Private Routes — Add route to route the traffic to NAT
  9. 9. Public Route — Add route to route to the traffic to Internet Gateway
  10. 10. Elastic IP

To Begin

1. Create a VPC

2. Internet Gateway — Associate to VPC

3. NAT Gateway — EIP, Associate to Public Subnet

4. Create a Public Subnet

5. Create a Private Subnet

6. Create a Private Route Table — Associate to Private Subnet

7. Create a Public Route Table — Associate to Public Subnet

8. Add Private Routes — Add route to route the traffic to NAT

9. Public Route — Add route to route to the traffic to Internet Gateway

10. Elastic IP

Terraform Init — The terraform init command is used to initialize a working directory containing Terraform configuration files.

Terraform Apply — The terraform apply command is used to apply the changes required to reach the desired state of the configuration, or the pre-determined set of actions generated by a terraform plan execution plan. After running the apply command about 12 resources were added

Terraform Destroy — Run terraform destroy — without — target argument. After successful destruction, import the target resources back in the state file. After running the delete command all 12 resources where deleted from the AWS Cloud.

In Conclusion — Terraform is a great way to manage Cloud resources in a single point of location for a faster and efficient way of managing and deploying resources within the shortest possible time.

--

--

Michael Mensah
Michael Mensah

Written by Michael Mensah

Cloud Systems Engineer | DevOps Engineer

No responses yet