Description
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
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
PART II – 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
PART III – MOCK TESTS
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.
Requirements
AWS Basic Knowldege.
A computer with Internet Connection.
Last Updated 1/2021