

init
– Init. Initialize the (local) Terraform environment. Usually executed only once per session.plan
– Plan. Compare the Terraform state with the as-is state in the cloud, build and display an execution plan. This does not change change the deployment (read-only).apply
– Apply the plan from the plan phase. This potentially changes the deployment (read and write).destroy
– Destroy all resources that are governed by this specific terraform environment.
Terraform workflow

Step – 1 – Install terraform
Step – 2 – Decide a providers name which you want to work with?
- Create one directory under your workspace
- Inside directory, create one file called “providers.tf”
- Content of the providers.tf are as follow
- run init command to download aws providers. $ terraform init
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "4.61.0"
}
github = {
source = "integrations/github"
version = "5.18.3"
}
}
}
provider "aws" {
region = "us-east-1"
access_key = ""
secret_key = ""
}
provider "github" {
# Configuration options
}
Step – 3 – Create 1 AWS ec2 instance using Terraform
- Create aws.tf file in the same directory where providers.tf is located
- Put the following content. Modify AMI id as per your region
resource "aws_instance" "web" {
ami = "ami-007855ac798b5175e"
instance_type = "t2.micro"
tags = {
Name = "HelloWorld-DevOpsSchool"
}
}
Step – 4 – PLAN (DRY RUN) using terraform plan
- RUN a Dry run command $ terraform plan

Step – 5 – APPLY (Create a Resoureces) using terraform apply
- Run apply command to create resources $ terraform apply


Step – 6 – Verify a AWS ec2 instance at AWS

Step – 7 – APPLY (Update a Resoureces) using terraform apply
- Update tag info in your aws.tf code
- Run $ terraform apply
resource "aws_instance" "web" {
ami = "ami-007855ac798b5175e"
instance_type = "t2.micro"
tags = {
Name = "HelloWorld-Terraform"
}
}

Step – 8 – Terraform show

Check Statefile in the same directory

Step – 9 – Terraform destroy

Check AWS Account if AWS ec2-instance is destroyed or not


Terraform Basic Tutorial with Demo by Piyush 2020

Terraform Fundamental Tutorials by Harish in 2020

Terraform Fundamental Tutorial By Guru in 2020 Part-1

Terraform Fundamental Tutorial By Guru in 2020 Part-2

Terraform Fundamental Tutorial By Guru in 2020 Part-3

Terraform Fundamental Tutorial By Guru in 2020 Part-4

Terraform Fundamental Tutorial By Guru in 2020 Part-5

Terraform Advance Tutorial for Beginners with Demo 2020 — By DevOpsSchool

Latest posts by Rajesh Kumar (see all)
- Top 20 Techniques to Optimize CPU and RAM Utilization and Improve Windows Performance - December 7, 2023
- AWS Tutorials: Working with Code Commit - December 6, 2023
- Strace Command: Increase CPU load - December 6, 2023