Step By Step Guide For Terraform Associate Certification Preparation Guide 2021
In this course you will learn following Topics

PART I – Terraform Core Concepts

Step 1 : Infrastructure As Code

1. Understand Infrastructure As Code

2. Understand Benefits of Infrastructure as Code

3. How Infrastructure as Code Works

4. Types of Infrastructure as Code

Step 2 : Required Tools For Terraform LAB Environment
1. Install Terraform

2. Install Visual Studio Code

3. Install Visual Studio Code Extension for terraform

4. Setup AWS Account

Step 3 : Setup Authentication

Step 4 : Create an EC2 instance Using Terraform

Step 5 : Understand Provider Block

Step 6 : Understand Resource Block

Step 1 : What is Resources in Terraform ?

Step 2 : Syntax To Write Resource Block

Step 3 : Resource Dependency

Step 7 : Terraform State File

1 : What is Terraform State File ?

2 : What is the Significance of tfstate file

3 : How terraform statefile works ?

Step 8 : Provider Architecture And Versioning

1 : Understand Provider Architecture

2 : Provider Versioning


1) Write a terraform program to create an ec2-instance with provider version 3.0 provider

Step 9 : Terraform Attribute

1: Demo to understand Attribute

2 : What is Attribute ?

3 : How to Access Resources Attributes


1. Create an aws s3 bucket using terraform and understand the attribute block of tfstate file

Step 10 : Terraform Output

1 : What is Output block

2 Demo : Add the terraform output block

3 : How to Access Resources Attributes at run time


1. Create an aws s3 bucket using terraform and access the s3 attributes at runtime

Step 11 : Terraform Variables

1 . What is Terraform Variables

2 : Why to use variables in terraform

3 : LAB : Demo Variable Usage


Create a Security group using terraform and allow inbound rule of 443 and 80 port with same cidr block using variable

Step 12 : Ways To Assign Terraform Variables

Demo To Understand Different Ways to Assign Variable

1. Variable Default

Understand how to Pass Explicit Value to Variable Default.

2. Command Line Flag

3. Using terraform.tfvar Files

4. Environment Variable


Write a program to create EC2 instance where each variable values will come from different ways of variable assignment.

Step 13 : Data Types In Terraform

1.Demo To Understand DataTypes in terraform

2. String

3. Number

4. List

5. Map


Create an EC2 Instance of t3.micro which has latest linux Ubuntu image.

Step 14 : Custom Validation Rule

1.Demo To Understand Custom Validation Rule

2. What is Custom Validation

3. How To Create Validation For Variable


Create the validation rule for EC2 instance which only accept t2.nano instance type as input

Step 15 : Count And Count Index

1.Demo To Understand Count And Count Index

2. Use Case to understand Count and Count index


Create 5 IAM User using Count and Count Index Concept

Step 16 : Conditional Expression

1.Demo To Understand Conditional Expression

2. Use Case to understand Conditional Expression


Write a tf program where user will specify “STAGE” keyword then an EC2 instance of type “t2.medium” will be created.

Step 17 : Terraform Locals

1.Demo To Understand Terraform Locals

2. Use Case to understand Terraform Locals


1. Apply the Below tags to all the EC2 Instance which you have created in previous session.

a. ProjectID

b. ProjectName

2. ProjectTeam

Step 18 : Terraform Functions

Step 19 : Data Sources In Terraform

Step 20 : Debugging In Terraform

Step 21 : Terraform Format

Step 22 : Terraform Validate

Step 23 : Load Order and Semantics

Step 24 : Dynamic Block

Step 25 : Resource Tainting

Step 26 : Splat Expression

Step 27 : Save Terraform Plan To File

Step 28 : Ways To Retrieve Output

Step 29 : Terraform Setting Block

Step 30 : Terraform Provisioners Overview

Step 31 : Terraform Module Overview

Step 32 : Terraform Workspace Overview

Step 33 : Remote State Management

How to Collaborate Terraform Code Within Team

Why it is required

How to do it



1. Setup the code repository for collaboration

Terraform Code Collaboration Challenges

What are the challenges

How do we mitigate it


1. Configure Password in separate file and map it.

Terraform Code Collaboration correct way

Discuss the challenges again

Solution for the issue

LAB : Implement the solution to mitigate the collaboration challanges

State File Locking

What is State File Locking

Challenges to keep State File in S3

How to mitigate the challenges to keep state File in S3

LAB : Let’s Implement the solution

State File Management Command

What it is

Why to use it

Commands List







LAB : Lets do the Demo

Terraform Import

What it is ?

Why to use it ?

How To Use it

LAB : Lets do the Demo


1. Create a Security Group Manually then write terraform code and use import utility to import the manual resource.

Step 34 : Understand Terraform Cloud and Enterprise capabilities

What is terraform cloud

Terrform Offerings

LAB:Setup Terraform Cloud

Step 1: Create the Terrform Free account

Step 2: Create an Organization

Step 3: Setup the version Control

Signup for github

verify the email

Create a repository

Setup the OAuth for application

Step 4: Upload your project file to github

Step 5: Create Workspace

Step 6: Configure the Terraform Environment Variables

Step 7: Use Queue Plan to Run Terraform Plan



Step 1 – Azure Setup

Laying Out Azure Network

One Resource Group

One vNet

A subnet for the virtual machines named subnet_1 and a subnet for the VPN tunnel with a mandatory name of GatewaySubnet

Setup Azure Virtual Gateway

Step 2 – AWS Setup

Create VPC

Create Subnet

Internet Gateway

Route Table & Route

Step 3 – Establishing the Connection

Step 4 – Test Multi-Cloud Setup


Who this course is for:
Students who are preparing for Terraform Associate Certification
Students who are looking for real type IaC project.
Student who are looking for Indepth knowledge about terraform eco-system.
AWS Basic Knowldege.
A computer with Internet Connection.
Last Updated 1/2021

Please wait you can get the course in 30 Seconds....

Add a Comment

Your email address will not be published. Required fields are marked *