Terraform Associate study materials
Terraform Associate study resources

Terraform Associate study plan

Terraform Associate · Give each week a clear focus.

8 weeks · About 7 hours per week

Week 1

Terraform fundamentals & Infrastructure as Code (IaC) with Terraform

  • Explain the five core IaC benefits (repeatability, versioning, collaboration, idempotency, auditability) in writing without notes

  • Install Terraform locally and verify the CLI version and autocomplete setup

  • Write a minimal configuration using one provider and one resource, then run init, validate, plan, apply, and destroy against it

  • Identify each HCL block type (terraform, provider, resource, variable, output, data) in a sample file

  • Map Terraform's declarative model and state file to the problems IaC solves

Your checkpoint

A git repository containing a working single-resource configuration that has been applied and cleanly destroyed, plus a one-page written summary contrasting declarative vs imperative provisioning and explaining what the state file records.

Week 2

Core Terraform workflow & Terraform configuration

  • Execute the full core workflow (init, fmt, validate, plan, apply, destroy) and distinguish what each command does and does not change

  • Read a plan output and classify each symbol (create, update in-place, replace, destroy) and predict the resulting action before applying

  • Parameterize a configuration with input variables (type, default, validation), locals, and outputs

  • Use count and for_each to create multiple similar resources and explain when for_each is preferred

  • Set a required_version and provider version constraint and explain why pinning matters

Your checkpoint

A configuration that provisions at least three resource instances via for_each, exposes two outputs, validates one variable with a validation block, and is accompanied by an annotated copy of the plan output labeling every action symbol.

Week 3

Terraform configuration & Terraform fundamentals

  • Consume a data source and use its attributes in a resource argument

  • Apply at least six built-in functions (for example lookup, merge, format, file, cidrsubnet, try) inside real expressions

  • Build a dynamic nested block driven by a variable list and explain the alternative explicit block form

  • Control ordering with implicit references and explicit depends_on, and observe the effect in a graph or plan

  • Configure a lifecycle block with create_before_destroy or prevent_destroy and demonstrate the behavior change

  • Describe when provisioners and the null_resource pattern are appropriate and why they are a last resort

Your checkpoint

A single configuration that uses a data source, at least six functions, one dynamic block, an explicit depends_on, and a lifecycle rule, plus a short write-up of the observed apply ordering and the lifecycle effect.

Week 4

Terraform modules & Terraform configuration

  • Refactor an existing flat configuration into a reusable child module with declared inputs and outputs

  • Consume the module twice from a root module with different input values and confirm both instances appear in state

  • Use module source addressing (local path and a registry-style address) and explain the difference in how versions are constrained

  • Pass outputs between modules and use the terraform output command to read a root output

  • Explain module composition boundaries and when a module is over-engineering

Your checkpoint

A repository with one child module instantiated twice from the root module using distinct inputs, state showing both module addresses, and a README documenting the module's input and output contract.

Week 5

Terraform state management & Core Terraform workflow

  • Configure a remote backend and migrate local state to it without destroying resources

  • Explain state locking, why local state is unsuitable for teams, and which backends support locking

  • Demonstrate importing an existing resource into state and reconciling the configuration to match

  • Use state list, state show, and state mv to inspect and restructure state addresses

  • Describe the risk of manual state edits and when terraform state rm is the correct tool

Your checkpoint

A lab log showing state migrated to a remote backend, one resource imported by hand, one resource re-addressed with state mv, with before/after state list output and a paragraph on locking behavior observed.

Week 6

Maintain infrastructure with Terraform & Infrastructure as Code (IaC) with Terraform

  • Detect configuration drift by modifying a resource out-of-band and observing the next plan

  • Replace a resource using taint or -replace and explain the difference from an in-place update

  • Apply terraform fmt and validate as part of a repeatable pre-commit or scripted workflow

  • Upgrade a provider version constraint and use the dependency lock file to keep installs reproducible

  • Review a plan for destructive changes and describe safeguards (prevent_destroy, targeted plans, manual approval)

Your checkpoint

A maintenance runbook in the repo covering drift detection, resource replacement, formatting/validation checks, and a provider upgrade, each backed by captured command output from a real run.

Week 7

HCP Terraform & Core Terraform workflow

  • Create an HCP Terraform organization and workspace and connect it to a VCS repository

  • Trigger a run from a commit and read the run timeline, plan, and apply stages in the UI

  • Configure workspace variables, including a sensitive variable and a variable set shared across workspaces

  • Distinguish remote runs from local runs and explain what the CLI-driven workflow adds

  • Describe how workspace permissions, teams, and run approvals support collaboration

Your checkpoint

An HCP Terraform workspace with a successful VCS-driven run whose variables come from a shared variable set plus one workspace-specific sensitive variable, plus a screenshot-free written walkthrough of the run lifecycle.

Week 8

Infrastructure as Code (IaC) with Terraform & Terraform fundamentals & Core Terraform workflow & Terraform configuration & Terraform modules & Terraform state management & Maintain infrastructure with Terraform & HCP Terraform

  • Complete two timed practice exams and log every missed question by domain

  • Re-derive the answer for each missed item from the docs or an experiment rather than memorizing it

  • Re-run the weakest two hands-on labs from weeks 3 through 7 without notes

  • State the eight exam domains and one key concept per domain from memory

Your checkpoint

A score report from two timed practice attempts with a per-domain remediation list, plus evidence that the two weakest labs were re-completed unaided.

Milestones

Week 2: Can run the full core workflow from memory on a fresh directory and correctly predict every plan action symbol before applying.

Week 4: A reusable module written this week is consumed twice from a root module, and both instances are visible in state without any copy-pasted resource blocks.

Week 6: State lives in a remote backend with locking verified, one resource has been imported, and drift was detected and reconciled through a plan rather than manual edits.

Week 8: Scoring at or above 80 percent on two timed practice exams with no domain below 70 percent, and all remediation items closed.