
Terraform – Deployment of Infrastructure with Terraform
Sep 15
2 min read
1
11
0
Infrastructure automation has become a crucial part of modern IT operations. Manual provisioning of servers, networks, and cloud services is time-consuming, error-prone, and difficult to scale. This is where Terraform, an Infrastructure as Code (IaC) tool, steps in to simplify and automate the entire process.
In this blog, we’ll cover the following:
Quick Introduction to Terraform
Setting up an AWS IAM User
Writing Terraform Code
Deploying AWS Resources
Destroying Infrastructure with Terraform
Quick Introduction to Terraform
Terraform is an open-source IaC tool that allows you to define and provision infrastructure in a declarative way using configuration files.Some key highlights:
Automates infrastructure provisioning.
Provides repeatability and consistency across environments.
Works with multiple cloud providers (AWS, Azure, GCP, and many others).
Enables version control for infrastructure through code.
Let’s walk through the practical steps to deploy infrastructure on AWS using Terraform:
Step 1: Create IAM User in AWS
Log in to the AWS Management Console.
Create an IAM user with programmatic access.
Attach policies (e.g., AmazonEC2FullAccess, AmazonVPCFullAccess).
Download the access keys (Access Key ID and Secret Access Key).
This credential will be used by Terraform to authenticate with AWS.
Step 2: Develop Terraform Code
We’ll write Terraform configuration files (.tf files) to define the infrastructure. In this blog we'll be creating an AWS VPC, Subnet and EC2 Instance:
AWS VPC – To create a virtual network.
Subnet – To logically divide the VPC.
EC2 Instance – To launch a virtual server in AWS.
💡 Example File/Code Structure:For a detailed walkthrough, kindly refer to my video tutorial at the link below. It covers everything step-by-step to help you get started with confidence.
YouTube link: Terraform – Deployment of Infrastructure with Terraform
Step 3: Run Terraform Apply
Once your code is ready:
Initialize Terraform → # terraform init
Validate the code → # terraform validate
Preview the changes → # terraform plan
Deploy resources → # terraform apply
This will create the defined infrastructure on AWS.
Step 4: Run Terraform Destroy
When the infrastructure is no longer required, you can clean it up using:
Destroy resources → # terraform destroy
This ensures cost optimization by removing unused resources and maintaining a clean environment.
Conclusion
Terraform is a powerful tool for cloud automation and infrastructure provisioning. With just a few steps, you can define, deploy, and manage your cloud infrastructure on AWS and other providers like Azure, GCP etc.
By following this tutorial, you’ve learned how to:
Set up an AWS IAM user for Terraform.
Write Terraform code to create VPC, subnet, and EC2 instances.
Deploy and destroy AWS infrastructure using Terraform commands.
Start experimenting with Terraform today to simplify your cloud deployments and embrace the full potential of Infrastructure as Code.






