Hashicorp Terraform Associate Certification Preparation Guide
Created by Mukesh Ranjan, Last Updated 07-Jan-2021, Language:English
Hashicorp Terraform Associate Certification Preparation Guide
Learn Cloud Automation From Scratch Step By Step
Created by Mukesh Ranjan, Last Updated 07-Jan-2021, Language:English
What Will I Get ?
- Prepare For Terraform Associate Certification
- Learn Infrastructure As Code
- Learn Terraform Step By Step
- Learn Cloud Automation
Requirements
- AWS Knowledge
- Internet Connection
Description
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
Exercise
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
Exercise
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
Exercise
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
Exercise
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
Exercise
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
Exercise
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
Exercise
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
Exercises
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
Exercise
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
Exercise
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
LAB
Exercise
1. Setup the code repository for collaboration
Terraform Code Collaboration Challenges
What are the challenges
How do we mitigate it
Exercise
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
list
mv
pull
push
rm
show
LAB : Lets do the Demo
Terraform Import
What it is ?
Why to use it ?
How To Use it
LAB : Lets do the Demo
Exercise
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
PROJECT
SITE-TO-SITE HIGHLY AVALIABLE VPN MULTI-CLOUD (AWS-AZURE)
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
Course Content
-
PART I - TERRAFORM CORE CONCEPTS
48 Lectures 06:39:23-
Course Introduction
Preview00:12:47 -
Understand Infrastructure As Code
00:10:32 -
LAB Environment Setup for Terraform
00:08:11 -
Setup Authentication
00:08:58 -
Write First IaC Code With Terraform
00:14:24 -
Understand Provider Block
00:17:22 -
Understand Resource Block
00:18:39 -
Terraform State File - tfstate
00:09:37 -
All About Desired State Vs Current State
00:08:23 -
Provider Architecture And Versions
00:08:08 -
Terraform Attributes
00:10:28 -
Terraform Output Values
00:06:18 -
Terraform Variables
00:10:01 -
Terraform Variable Assignment
00:13:45 -
Datatypes In Terraform
00:09:47 -
Custom Validation Rule For Variable
00:04:48 -
Count And Count Index
00:05:14 -
Conditional Expression
00:06:26 -
Terraform Locals
00:03:42 -
Functions In Terraform
00:13:01 -
Terraform Data Sources
00:08:21 -
Terraform Debugging
00:08:18 -
Terraform Format
00:02:44 -
Terraform Validate
00:03:43 -
Load Order Semantics
00:06:04 -
Dynamic Blocks
00:14:07 -
Resource Tainting
00:06:00 -
Splat Expression
00:04:57 -
Save Terraform Plan To File
00:04:44 -
Ways To Retrieve Terraform Output
00:03:23 -
Terraform Setting Block
00:06:05 -
Terraform Provisioners Overview
00:07:01 -
LAB-Terraform Provisioner-Remote-Exec
00:09:47 -
LAB-Terraform Provisioner-Local-Exec
00:02:57 -
Creation Time Vs Deletion Time Provisioner
00:05:10 -
Faliure Behaviour
00:05:25 -
Terraform Modules Overview
00:04:59 -
LAB-Terraform Modules
00:12:11 -
Terraform Workspace
00:07:56 -
How To Collaborate Terraform code within Team
00:08:17 -
Terraform Code Collaboration Challenges
00:07:15 -
Terraform Code Collabortion Correct Way
00:12:37 -
State File Locking
00:06:25 -
State file Locking In S3 Using Dynamo DB
00:05:32 -
State File Management Commands
00:07:17 -
Terraform Import
00:08:20 -
Terraform Cloud - Part1
00:10:05 -
Terraform Cloud - Part 2
00:09:12
-
-
PART II - PROJECT - SITE TO SITE HIGHLY AVAILABLE VPN MULTI-CLOUD ( AZURE - AWS )
5 Lectures 01:12:20-
Project-Site To Site Highly Avaliable VPN Multi-Cloud -Overview
00:05:00 -
Project-Site To Site Highly Available VPN Multi-Cloud -Step1-AzureSetup
00:12:47 -
Site To Site Highly Available VPN Multi-Cloud -Step2-AWSSetup
00:20:08 -
Project-Site To Site Highly Available VPN Multi-Cloud -Step3-Establishing The Connection
00:15:01 -
Project-Site To Site Highly Available VPN Multi-Cloud -Step4-Test
00:19:24
-

Mukesh Ranjan
Technical Consultant
I am Mukesh Ranjan. A Technical Consultant by Profession and Teacher By Choice. I have total 15+ Years of experience. In this 15 years of journey I have worked with Startup to IT Gaint. I have worked on various platform from open source to proprietary. My fields of expertise are Cloud Automation / Devops / Machine Learning / SharePoint. I am passionate about learning new technology and teaching. My courses focus on providing students with an interactive and hands-on experience in learning new te