Free through lesson 3

Terraform Fundamentals Course

From installation to HCL, plan and apply, tfstate and remote backends, modules, VPC, EC2, and IAM, secrets, CI review, and import and drift. Over 20 lessons, you'll work up to writing infrastructure as code, reading a plan before applying it, and running it as a team with review in place. No AWS account is needed — every output shown was actually run against local files, Docker, and moto with Terraform 1.16.2.

Curriculum

The 20 lessons are split into 5 chapters. We recommend working through them in order starting from Chapter 1, but feel free to skip around to whatever interests you. * Terraform commands can't run in the browser, so install Terraform (1.14 or later) locally to try them. Lessons 5, 6, and 9 use local Docker, and lesson 8 and lessons 12–20 use moto (an AWS stand-in that runs on Docker), so no AWS account is required.

Chapter 1 — What Is IaC (lessons 1–4)

You'll pin down exactly what goes wrong when infrastructure is built by hand, then install Terraform and get a handle on init, fmt, validate, and reading HCL. You'll finish by learning to read plan's symbols and applying a plan exactly as saved.

Chapter 2 — Resources and State (lessons 5–8)

You'll see how resources connect to each other against local Docker, and make configuration adjustable from the outside with variables and outputs. You'll read what Terraform remembers as the "current state" — tfstate itself — and finish by storing it in S3 with a lock.

Chapter 3 — Structuring Things (lessons 9–12)

You'll bundle the same configuration into a module, and separate dev and prod with folders and workspaces. Handle quantity with for_each and count, finishing by reading values that live outside your configuration with data sources.

Chapter 4 — Building Out the Cloud (lessons 13–16)

Against moto, you'll build up a VPC and subnets, security groups, EC2, and IAM in order. You'll finish with ephemeral and write-only, which keep passwords out of the state file entirely.

Chapter 5 — Running It as a Team (lessons 17–20)

You'll post plans to pull requests for review with GitHub Actions, and bring things built through the console under management with import. The course wraps up with how to spot drift, and how lifecycle, moved, and removed prevent destructive changes.

Once you've finished all 20 lessons, move on to the Kubernetes Fundamentals Course to run apps on top of the foundation Terraform built, or the GitHub Actions Fundamentals Course to go deeper on the CI that backs your plan reviews. A membership unlocks every course.