Follow Us
logo
Terraform & AWS

Master Infrastructure as Code with Terraform

Learn how to design, automate and manage production-ready AWS infrastructure using Terraform and Infrastructure as Code practices.

Terraform & Infrastructure as Code

Introduction to Terraform and IaC architecture
Topics Covered
  • Infrastructure as Code (IaC)
  • Terraform introduction
  • Terraform architecture
  • Terraform workflow
  • Providers
  • Resources
  • Data Sources
Demo

Install Terraform and create your first AWS EC2 instance using Terraform.

Terraform Fundamentals

Terraform CLI, variables, outputs and configuration
Topics Covered
  • Terraform installation
  • Terraform CLI
  • terraform init
  • terraform plan
  • terraform apply
  • terraform destroy
  • Variables
  • Outputs
  • Locals
  • Comments
  • Terraform files (.tf)
  • .tfvars files
Demo

Create an EC2 infrastructure using variables and outputs.

Terraform State

State management, locking, security and drift
Topics Covered
  • Terraform state
  • Local state
  • Remote state
  • State locking
  • State security
  • State commands
  • State drift
  • Importing resources
Demo

Move Terraform state from local storage to an S3-based remote backend with locking.

AWS VPC with Terraform

Build secure and scalable AWS networking
Topics Covered
  • VPC CIDR
  • Subnets
  • Internet Gateway
  • NAT Gateway
  • Route Tables
  • Security Groups
  • Availability Zones
  • Public / Private Architecture
Demo

Create a complete multi-AZ VPC using Terraform.

EC2 Automation

Automate application server provisioning
  • AMIs
  • EC2 Resources
  • Key Pairs
  • Security Groups
  • User Data
  • EBS
  • Launch Templates
  • Auto Scaling
Demo

Automatically provision application servers using Terraform.

ALB Automation

Application Load Balancer infrastructure automation
  • Application Load Balancer
  • Target Groups
  • Listeners
  • Listener Rules
  • Health Checks
  • Security Groups
Demo

Create an ALB and automatically register EC2 instances.

RDS Automation

Production-ready database infrastructure
  • RDS DB Subnet Groups
  • Security Groups
  • Database Parameters
  • Backup Configuration
  • Multi-AZ
  • Secrets Management
Demo

Provision a private production database using Terraform.

IAM & Security Automation

Secure AWS access with Terraform
  • IAM Users
  • IAM Roles
  • Policies
  • Instance Profiles
  • Least Privilege
  • Secrets
  • KMS
Demo

Create an EC2 role that securely accesses S3 without hard-coded credentials.

Terraform Modules

Build reusable infrastructure components
  • Why Modules?
  • Module Structure
  • Input Variables
  • Outputs
  • Reusable Modules
  • Module Versioning
  • Public Modules
  • Enterprise Module Structure
Demo

Create reusable modules for VPC, EC2, ALB and RDS.

Multiple Environments

Dev, QA and Production infrastructure
  • Development Environment
  • QA Environment
  • Production Environment
  • Terraform Workspaces
  • Environment Variables
  • Environment-Specific Configuration
  • Remote State
Project Structure
terraform/
├── modules/
│   ├── vpc/
│   ├── ec2/
│   ├── alb/
│   └── rds/
│
├── dev/
├── qa/
└── prod/

Terraform Production Practices

Industry standards and best practices
  • Terraform Validation
  • Terraform Formatting
  • Plan Review
  • Drift Detection
  • Dependency Management
  • Lifecycle Rules
  • prevent_destroy
  • Sensitive Variables
  • Secrets
  • State Security
  • Code Organization
  • Terraform Best Practices
FINAL INDUSTRY PROJECT

AWS Infrastructure From One Terraform Project

Students build a complete production-style AWS infrastructure where networking, compute, database, security and monitoring are provisioned entirely using Terraform.

Route 53
   |
   v
ALB
 /  \
EC2  EC2
 \  /
Auto Scaling
   |
   v
  RDS

VPC
├── Public Subnets
│
├── Private Subnets
│
├── NAT Gateway
│
├── Internet Gateway
│
├── IAM
│
├── Security Groups
│
└── CloudWatch
Students Will Provision
Route 53
ALB
EC2
Auto Scaling
RDS
VPC
Public Subnets
Private Subnets
IAM
Security Groups
CloudWatch
NAT Gateway
Internet Gateway
Everything is provisioned using Terraform