Skip to content

piyushsachdeva/Terraform-Full-Course-Aws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Terraform with AWS - Complete Video Course πŸš€

Welcome to the comprehensive Terraform with AWS video course! This repository contains all code samples and documentation corresponding to each video lesson.

Star History

Star History Chart

🎯 Course Overview

This course consists of video lessons covering basic to advanced Terraform concepts with AWS cloud, including hands-on projects and real-world scenarios.

Note: If you found the content helpful, consider giving the repository a star ⭐

πŸ”— Join our community πŸ‘‡

πŸ“‹ Prerequisites

πŸ“š Course Curriculum

Module 1: Core Concepts

Day1: Introduction to Terraform

  • Understanding Infrastructure as Code (IaC)
  • Why we need IaC
  • What is Terraform and its benefits
  • Challenges with the traditional approach
  • Terraform Workflow
  • Installing Terraform
  • Code Sample

Day2: Terraform Provider

  • Terraform Providers
  • Provider version v/s Terraform core version
  • Why version matters
  • Version constraints
  • Operators for versions
  • Code Sample

Day3: VPC and S3 Bucket

  • Authentication and Authorization to AWS resources
  • Creating VPC
  • S3 bucket management
  • Understanding dependencies
  • Code Sample

Day4: State file management - Remote Backend

  • How Terraform updates Infra
  • Terraform state file
  • State file best practices
  • Remote backend setup
  • State management
  • Code Sample

Day5: Variables

  • Input variables
  • Output variables
  • Locals
  • Variable precedence
  • Variable files (tfvars)
  • Code Sample

Day6: File Structure

  • Terraform file organization
  • Sequence of file loading
  • Best practices for structure
  • Code Sample

Video 7: Type constraints in Terraform

  • String, number, bool
  • Map, set, list, Tuple, Objects
  • Code Sample

Video 8: Meta-arguments

  • Understanding count
  • for_each loop
  • for loop
  • Practical examples
  • Code Sample

Video 9: The Lifecycle meta-arguments

  • create before destroy
  • prevent destroy
  • ignore changes
  • replace triggered by
  • custom condition
  • Code Sample

Video 10: Dynamic Blocks and expressions

  • Dynamic blocks
  • Conditional expressions
  • Splat Expressions
  • practical examples
  • Code Sample

Video 11: Functions in Terraform

  • Built-in functions
  • Practical examples
  • tasks for practice
  • Code Sample

Video 12: Functions in Terraform(Continue..)

  • Built-in functions
  • Practical examples
  • tasks for practice
  • Code Sample

Video 13: Data Sources

Module 2: AWS resources using Terraform

Video 14: Static Website Hosting ( Mini Project 1 )

  • S3 static website hosting
  • CloudFront distribution
  • Code Sample

Video 15: VPC and Peering ( Mini Project 2 )

  • Virtual Private Cloud Creation
  • VPC peering setup
  • Code Sample

Video 16: IAM Authentication ( Mini Project 3 )

  • Authentication methods
  • IAM roles and policies
  • Service accounts
  • Code Sample

Video 17: AWS Web Apps ( Mini Project 4 )

  • Elastic Beanstalk creation
  • Configuration
  • Deployment
  • Code Sample

Video 18: AWS Lambda ( Mini Project 5 )

Video 19: Terraform Provisioners ( Mini Project 6 )

  • What are provisioners and their use case
  • Local vs remote vs file provisioners
  • Demo of all three provisioners
  • Code Sample

Video 20: EKS Cluster ( Real-time Project 1)

  • Kubernetes cluster setup
  • EKS cluster with managed node groups
  • Custom module usage
  • Custom module creation for EKS, Secrets Manager, IAM etc
  • Networking and security configuration
  • Code Sample

Video 21: AWS Policy and Governance ( Mini Project 7 )

Video 22: RDS Database ( Mini Project 8 )

Video 23: AWS Monitoring ( Mini Project 9 )

  • CloudWatch metrics alerts
  • SNS topics
  • CloudWatch logs
  • Log alerts
  • Code Sample

Video 24: High available/scalable Infrastructure Deployment ( Mini Project 10 )

  • Creating EC2 Instances
  • Auto Scaling Groups
  • Security Groups
  • Application Load Balancer, NAT Gateway, Elastic IP, Auto Scaling rules etc
  • Code Sample
Module 3: Advanced Concepts

Video 25: Terraform Import (Real-time project 2)

  • Different ways of importing AWS resource to Terraform
  • Terraform Import
  • Importing a live infrastructure to Terraform using Terraform Import
  • AWS Config
  • Importing a live infrastructure to Terraform using AWS Config
  • Terraformer
  • Code Sample

Video 26: Terraform Cloud and Workspaces

Video 27: AWS DevOps with Terraform (Real-time project 3)

Video 28: 3-Tier Architecture (Real-time project 5)

  • Complete architecture setup
  • Web tier, Application tier, Database tier
  • Load balancing and auto-scaling
  • Best practices
  • Code Sample

Video 29: GitOps with Terraform (Real-time project 4)

  • GitOps workflow implementation
  • ArgoCD setup with Terraform
  • Git-based infrastructure management
  • Automated deployments
  • Code Sample

Video 0: Terrafrom Drift Detection using Terraform Cloud

  • Drift detection setup
  • Monitoring infrastructure changes
  • Code Sample

πŸŽ“ Learning Path

  1. Follow videos in sequence
  2. Complete hands-on exercises in task.md
  3. Implement projects
  4. Practice with provided code samples

πŸ“ License

MIT License - see the LICENSE file for details.

πŸ”— Resources