Description
In this course, you will :
- learn to master Terraform in a real-world context through 25 demos on Azure Cloud, including 20+ Azure Services and 30+ Terraform Concepts.
- Create a 4-tier Azure Virtual Network design using Subnets and Network Security Groups.
- Build infrastructure incrementally on Azure Cloud, starting with simple VMs and progressing to more complex designs such as load balancing across regions with Azure Traffic Manager.
- Using Terraform, you will create a Standard Load Balancer External and Internal with Inbound NAT Rules.
- With Terraform, you will learn and build Virtual Machine Scale Sets Manual and Autoscaling Profile concepts such as default, recurrence, and Fixed Time profiles.
- Terraform will be used to create Azure Public and Private DNS Zones.
- You will use Azure DevOps Build and Release Pipleines for your Terraform Configurations to implement the IaC DevOps usecase.
- Context Path Routing, Multisite Hosting, SSL, HTTP to HTTPS Redirect, and AG Error Pages are examples of Azure Application Gateway usecases.
- Create a DNS to DB usecase in Azure using Azure MySQL Single Server, Virtual Network Rules, and Service Endpoint concepts.
- learn everything there is to know about Terrafrom's State, Local, and Remote Backends.
- All Terraform Provisioners will be taught to you and implemented.
- learn and implement two types of Terraform Modules (Public Modules and Local Modules), as well as publish a module to the Terraform Public Registry.
- Use Azure Traffic Manager and Azure Standard Load Balancer to implement the Terraform Remote State Datasource concept for load balancing across regions.
Syllabus :
1. Terraform Command Basics
- Introduction to Terraform Workflow using Terraform Commands
- Review Terraform manifests
- Execute Terraform core commands
2. Terraform Language Basics
- Step-01: Terraform Configuration Syntax
- Step-02: Terraform Arguments, Meta-Arguments and Attributes
- Step-03: Understand about Terraform Top Level Blocks
3. Terraform Settings & Providers Block
- Terraform Settings Block Introduction
- Understand required_version in Terraform Block
- Terraform Provider Introduction
- Understand required_providers in Terraform Block and Provider Block
- Terraform Apply and Destroy Commands Auto Approve Option
4. Terraform Multiple Providers
- Terraform Multiple Providers Introduction
- Implement Terraform Multiple Providers & Clean-Up
5. Terraform Dependency Lock File
- Terraform Dependency Lock File Introduction
- Review c1-versions.tf, Create RG and Random String Resource
- Create Terraform Storage Account Resource
- Dependency Lock File Demo and CleanUp
6. Terraform Resource Syntax, Behaviour and State
- Terraform Resource Syntax Introduction
- Create TF Config for Virtual Network
- Create TF Config for Subnet, Public IP and Network Interface
- Terraform Resource Behavior Introduction
- Resource Behavior: Create Resource Demo
- Understand Terraform State in detail
- Resource Behavior: Update-In-Place, Destroy-Recreate and Destroy Demo's
- Understand Terraform Desired and Current States and CleanUp
7. Azure Virtual Network, Subnets and Network Security Groups
- Introduction to Azure Virtual Network 4-Tier Design using Terraform
- Implement Terraform Settings and Provider Blocks
- Define Generic Input Variables
- Define Terraform Local Values and Understand its importance
- Create Random String and Resource Group
- Create VNET Input Variables and VNET Resource
- Create Web Subnet, NSG and NSG-Subnet Associate Resources
- Create NSG Rules, Implement for_each and depends_on Meta-Arguments
- Create VNET Output Values
- Create terraform.tfvars file
- Execute TF Commands, Verify 4Tier VNET and Destroy Resources
8. Azure Linux Virtual Machine using Terraform
- Introduction to Azure Linux Virtual Machine using Terraform
- Create SSH Keys and Public IP for Linux VM
- Create Network Interface for Linux VM
- Review VM NIC Network Security Group
- Create Linux Virtual Machine Resource, learn file function
- Create VM Custom Data using Locals Block, learn filebase64, base64encod
- Review Output Values for Linux VM
- Execute TF Commands, Verify all the Resources created in Azure Portal
- Connect via SSH to VM, Verify cloud-init-output log, httpd files and lo
- Comment VM NIC NSG and Destroy Resources
9. Azure Bastion Host Linux VM and Azure Bastion Service
- Introduction to Azure Bastion Host and Azure Bastion Service
- Review Input Variables and Bastion Host Public IP, VM NIC and Linux VM
- Understand TF Concepts - Null Resource, Connection Block, File and Remo
- Create Null Resource, Connection Block, File and Remote Exec Provisione
- Create Azure Bastion Service Resources using Terraform
- Execute TF Commands, Verify Bastion Host VM to Web VM Connect using SSH
- Verify Bastion Service to Connect to Web Linux VM and Destroy Resources
10. Azure Standard Load Balancer using Portal
- Introduction to Standard Load Balancer using Portal
- Create RG, VNET, VM1 and VM2
- Create Load Balancer, Backend Pool, TCP Probe, LB Rule and NAT Rules
- Verify LB Inbound NAT Rules and Sample Application via Browser
11. Azure Standard Load Balancer Basics using Terraform
- Introduction to Standard Load Balancer using Terraform
- Create Public IP, LB, Backend Pool Resources
- Create LB Probe, LB Rule, LB Backend Pool and VM Nic Associate Resource
- Execute TF Commands, Verify LB Resurces and Destroy Resources
12. Azure Standard Load Balancer - Inbound NAT Rules
- Introduction to Load Balancer Inbound NAT Rules
- Create LB NAT Rule Resources
- Execute TF Commands, Verify Inbound NAT via LB and Destroy Resources
13. Terraform Meta-Argument Count with Azure LB and VMs
- Introduction to implementing multiple VMs using Meta-Argument Count
- Review changes to be performed and create variables
- Create VM NIC with Meta-Argument Count
- Create Linux VM with Meta-Argument Count with Element Function and Spla
- Create VM Outputs with Splat Expr and LBNICAssociate with Count Meta-Ar
- Craeate LB Inbound NAT Rules with Meta-Argument Count
- Execute TF Commands, Verify Resources and Destroy Resources
14. Terraform Meta-Argument for_each with Azure LB and VMs
- Introduction to implementing multiple VMs using Meta-Argument for_each
- Create Variables, VM NIC and Linux VM with Meta-Argument for_each
- Create Outputs with for loops
- Create LB Backend Associate with VMNIC, LB NAT Rules with MA for_each
- Execute TF Commands, Verify Outputs, Verify and Destroy Resources
15. Azure Virtual Machine Scale Sets Basics - Manual Scaling
- Introduction to implementing VMSS using Terraform
- Review Variables and VMSS NSG Basic Rule via Inline Security Rule Neste
- Create VMSS NSG with Terraform Dynamic Block and Inline Security Rules
- Create Web VMSS Resource and its outputs
- Execute TF Commands, Verify Resources and Destroy VMSS
16. Azure Virtual Machine Scale Sets Basics - Auto Scaling 4 Profiles
- Introduction to VMSS Autoscaling
- Understand about autoscaling usecase we are going to implement
- Learn Autoscaling Default Profile using Azure Portal
- Learn Autoscaling Recurrence and Fixed Profiles
- Review Bastion Host changes and create basic autoscale resource
- Create Default Profile Metric Rules CPU Usage, Available Memory and LB
- Test ScaleOut and ScaleIn Events for Autoscaling Default Profile
- Create and Test Autoscaling Recurrence Profiles
- Create Autoscaling Fixed Profile, Test and Delete Resources
17. Azure Internet LB + Web VMSS + Internal LB + App VMSS
- Introduction to Internal LB Implementation Usecase
- Create Storage Account and Container
- Understan app1.conf and create upload files resource to storage contain
- Create NAT Gateway Resources and associate to App Subnet
- Review App VMSS Resources TF Configs
- Review App Load Balancer Resources and Terraform TFVARS file
- Execute TF Commands, Verify Resources on Azure Portal
- Review Web VM Custom Data in detail
- Verify Resources using Bastion Host (Point to Point) and Clean-Up
18. Azure Private DNS Zones
- Introduction to Azure Private DNS Zones
- Create Private DNS Zone Resources and Update app1.conf
- Execute TF Commands, Verify Private DNS Zones functioning and Delete Re
19. Delegate DNS Domain to Azure DNS
- Introduction to Delegate DNS Zone to Azure DNS
- Create DNS Zone and Test
20. Azure Public DNS Zones
- Introduction to Azure Public DNS Zone
- Create Public DNS Records using DNS Zone Datasource
- Execute TF Commands, Verify Public DNS Records and Clean-Up
21. Terraform Remote State Storage using Azure Storage Account
- Introduction to Terraform Remote State Storage using Azure Storage Acco
- Create Storage Account, Container and TF Backend config
- Review remaining TF Configs which needs changes
- Execute TF Commands, Verify Storage Account TF State files
22. Azure Traffic Manager and Terraform Remote State Datasource
- Introduction to Azure Traffic Manager and Terraform Remote State Dataso
- Review TF Configs and Execute TFCommands eastus2 and westus2 regions
- Define Remote State Datasource TF Configs for Project-1 and 2 in Projec
- Create TFConfig for Traffic Manager Profile
- Create TFConfig for Traffic Manager Endpoints
- Execute Project-3 TF Command, Verify and Clean-Up 3 projects
23. Azure Application Gateway using Azure Portal
- Introduction to Azure Application Gateway
- Review TF Configs and Execute TF Commands to create VNET + VMSS + AG Su
- Create Application Gateway using Azure Portal
- Verif Application Gateway Features and Access Application using AG PIP
- Destroy Resources
24. Azure Application Gateway using Terraform
- Create Application Gateway TF Config
- Execute TF Commands, Verify AG Resources and Clean-Up
25. Azure Application Gateway Context Path Routing using Terraform
- Introduction to AG Context Path based Routing
- Review App1 and App2 VMSS TF Configs
- Create App2Backend and Routing Rule TF Configs in AG Resource
- Create Url Path Map, Redirect Config and VMSS-AG Integration TF Configs
- Execute TF Commands, Verify AG Path Routing and CleanUp
26. Azure Application Gateway Multisite Hosting using Terraform
- Introduction to AG Multisite Hosting
- Create TF Configs for Two Listeners and Two Routings for App1 and App2
- Execute TF Commands, Verify AG Multisite Hosting and CleanUp
27. Azure Application Gateway SSL + HTTP to HTTPS Redirect + AG Error Pages
- Introduction to AG SSL, HTTP to HTTPS Redirect and AG Error Pages
- Generate SSL Self-Signed Certificates and Convert to pfx
- Create Storage Account TF Configs for AG Error Pages
- Create TF Configs for AG HTTP Listener, FE Port, Rule and Redirect Conf
- Create TF Configs for AG HTTPS Listener, Rule and SSL Block
- Execute TF Commands, Verify 3 Usecases and CleanUp
28. Azure Application Gateway SSL from Azure Key Vault using Terraform
- Introduction to AG SSL Integration with Azure Key Vault
- Review TF Configs for UMID, KeyVault, KV Access Policy Resources and Li
- Review TF Configs for KV Access Policy for UMID, KV Cert Import Resourc
- Review Application Gateway TF Configs required for Key Vault Usecase
- Execute TF Commands, Verify keyVault Resources and CleanUp
29. Azure IaC DevOps for Terraform Projects
- Introduction to Azure IaC DevOps
- Review Terraform Configs
- Create Git Repo and Check-In Terraform Configs
- GIT SSH Connection Note
- Terraform Dependency Lock File check-in to Git Repo
- Create Azure DevOps Organization and Install TF Extension
- Azure DevOps Build Pipelines Introduction
- Create Azure Build Pipeline
- Azure DevOps Release Pipelines Introduction
- Create Service Connection and Storage Account for TFState Files
- Create Releaes Pipeline, Artificats, Dev Stage Install and Init Tasks
- Create Validate, Plan, Apply Tasks for Dev Stage
- Run end to end pipelines and verify dev resources
- Create QA, Stage and Prod stages and Verify Resources
- Make changes to prod.tfvars, verify and clean-up
30. Azure MySQL Single Server with Terraform
- Introduction to Azure MySQL Single Server using Terraform
- Create MySQL Server Input Variables TF Configs
- Create MySQL Server TF Configs
- Create MySQL DB, FW Rule, Vnet Rule and Web Subnet Service Endpoint TF
- Review VMSS Custom Data for Java App and VMSS Resource TF Configs
- Review Application Gateway and Bastion Host TF Configs
- Execute TF Commands and Verify Resources
31. Terraform Modules - Use Public Registry Module
- Understand Terraform Modules and its features
- Create VNET Module and reference it in VMNIC Resource
- Execute TF Commands, Verify VNET, Subnet and Access Sample App
- Taint Child Module Resources and Clean-Up
32. Terraform Azure Static Website
- Create Static Website manually using Azure Storage Account
- Create TF Configs for Static Website Automation
- Execute TF Commands, Verify Static Website and CleanUp
33. Terraform Modules - Build Local Terraform Module
- Understand about Child Modules and Create it
- Create Root Module TF Configs
- Execute TF Commands, Verify and CleanUp Static Website created
- Understand Terraform get command
34. Terraform Modules - Publish to Terraform Public Registry
- Create Git Repo and Commit Static Website TF Module Files and Create 1.
- Publish the Module to Terraform Public Registry and Verify
- Create Root Module and call public registy module newly published and t
- Learn Module Management in Public Registry and Module Versioning