Terraform Course Content
Module 1: Introduction to Terraform
- Introduction to terraform
- Infrastructure Automation
- Install Terraform
- Providers
- Resources
- Basic Syntax
Module 2: Getting started with Terraform
- Terraform Plan, show, Apply, Destroy
- Exploring Terraform Registry
- Interpolation
- Tainting and Updating Resources
- Terraform Console and Output
- Terraform Variables
- Breaking Out Our Variables and Outputs
Module 3: Terraform Modules
- Introduction to Modules
- Module repositories
- First Basic Module
- The Module codes
- Main Terraform Code
- Using git repositories to save modules
Module 4: Terraform: Writing in a more organized way
- Maps and Lookups
- Terraform Workspaces
- Breaking Out Our Variable Definitions
- Null Resources and Local-Exec
- Terraform Console
Module 5: Terraform with AWS: lab Part 1
- Setting up the system for AWS
- AWS Storage: The S3 Bucket and Random ID
- AWS Storage: The Root Module
- AWS Compute: AMI Data, Key Pair, and the File Function
- AWS Compute: The EC2 Instance
- AWS Compute: User Data and Template Files
- AWS Compute: The Root Module
Module 6: Terraform
- Remote state
- Data Sources
- Templates
- Conditionals
- Built-in Functions
- Working with state files
- Outputs, count and Join Function
Module 7: Terraform Integration
- Adding S3 backend
- Integration with Git
- Packer introduction
- Terraform with Packer
- Terraform with Jenkins
- Terraform Formatting and Remote State
- Terraform RandomID and S3 Buckets
Module 8: Terraform with AWS: Lab Part 2
- AWS Networking: VPC, IGW, and Route Tables
- AWS Networking: Subnets, Security, and the Count Attribute
- AWS Networking: The Root Module
Module 9: Terraform Troubleshooting and Testing
- Terraform Plan revisited
- Debugging the script
- Terraform Testing
Module 10: Extending Terraform
- Terraform with Azure cloud
- Terraform with Google Cloud
- Terraform Templates
- Terraform plugins
- Integrating Go Plugins
Module 11: Terraform Best Practices
- Best practices in writing terraform scripts
- Terraform Workflow
- Terraform projects
- Other Hashicorp tools
- New features of Terraform