0% found this document useful (0 votes)
8 views3 pages

Terraform Learning Checklist

The Terraform Learning Checklist outlines essential topics and skills for mastering Terraform, including core concepts, language syntax, modules, state management, workspaces, AWS integration, advanced features, testing, CI/CD integration, troubleshooting, and infrastructure design patterns. Each section contains specific tasks and knowledge areas to focus on, ensuring a comprehensive understanding of Terraform's capabilities. This checklist serves as a structured guide for learners to track their progress and proficiency in using Terraform effectively.

Uploaded by

aurafacts99
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views3 pages

Terraform Learning Checklist

The Terraform Learning Checklist outlines essential topics and skills for mastering Terraform, including core concepts, language syntax, modules, state management, workspaces, AWS integration, advanced features, testing, CI/CD integration, troubleshooting, and infrastructure design patterns. Each section contains specific tasks and knowledge areas to focus on, ensuring a comprehensive understanding of Terraform's capabilities. This checklist serves as a structured guide for learners to track their progress and proficiency in using Terraform effectively.

Uploaded by

aurafacts99
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Terraform Learning Checklist

Core Concepts

[ ] Understand what Terraform is and when to use it

[ ] Install Terraform and set up CLI

[ ] Define and use providers

[ ] Create and manage resources

[ ] Declare and pass variables

[ ] Use outputs to expose resource values

[ ] Initialize and manage project with `init`, `plan`, `apply`, `destroy`

[ ] Understand and inspect Terraform state

[ ] Use `terraform fmt`, `validate`

Language & Syntax (HCL)

[ ] Use basic types (string, list, map, bool, number)

[ ] Write conditionals and ternary expressions

[ ] Use `count`, `for_each`, and `for` expressions

[ ] Use dynamic blocks

[ ] Create and use functions (e.g. `join`, `lookup`, `length`)

[ ] Write type constraints

[ ] Write variable validation

[ ] Define and use locals

Modules

[ ] Use public modules from Terraform Registry

[ ] Create custom modules

[ ] Pass inputs and outputs between modules

[ ] Organize nested modules

[ ] Version and source control modules

[ ] Share modules between environments/projects

State Management
Terraform Learning Checklist

[ ] Understand local vs remote state

[ ] Configure S3 remote state backend

[ ] Use DynamoDB for locking

[ ] Use `terraform state` commands (`list`, `mv`, `rm`)

[ ] Handle state drift and recovery

[ ] Use `terraform import`

Workspaces

[ ] Create and use workspaces

[ ] Separate environments using workspaces (`dev`, `prod`, etc.)

AWS Integration (Hands-on Practice)

[ ] Create EC2, S3, VPC, Subnets, SGs

[ ] Attach IAM roles and policies

[ ] Use data sources (`data "aws_*"`)

[ ] Create ALB + Auto Scaling Group

[ ] Manage RDS with parameter groups

[ ] Monitor with CloudWatch alarms

[ ] Log with CloudWatch Logs

Advanced Features

[ ] Use for_each and count in real cases

[ ] Manage complex IAM policies using `jsonencode`

[ ] Apply lifecycle rules like `prevent_destroy`

[ ] Use depends_on for ordering

[ ] Use templatefile() for dynamic scripts

[ ] Use sensitive outputs and variable security

Testing & Quality

[ ] Use terraform fmt, validate, and plan -detailed-exitcode


Terraform Learning Checklist

[ ] Integrate tflint or checkov for policy checks

[ ] Use terraform console for interactive debugging

CI/CD Integration

[ ] Automate Terraform plan/apply in GitHub Actions or GitLab CI

[ ] Use environment secrets and state in pipelines

[ ] Require manual approval for prod applies

[ ] Manage multiple workspaces and backends in CI

Troubleshooting

[ ] Use TF_LOG for debugging

[ ] Detect and resolve drift

[ ] Troubleshoot provider and plugin errors

[ ] Handle resource already exists, cycle, and dependency issues

Infrastructure Patterns & Design

[ ] Organize a production-grade Terraform repo

[ ] Separate layers: networking, compute, services

[ ] Manage multiple accounts and regions

[ ] DRY principles with modules and locals

[ ] Use tags for billing and cost analysis

[ ] Plan for rollbacks and change previews

You might also like