# HashiCorp Terraform Associate Certification Study Guide

> A study plan for the HashiCorp Certified Terraform Associate exam: topics, what to practice, commands to know and links to hands-on tutorials with AWS.

- Source: https://www.itwonderlab.com/terraform-associate-certification-guide/
- Published: 2026-04-03
- Updated: 2026-04-03
- Author: Javier Ruiz Jiménez (https://www.javierruizjimenez.com/)
- Site: IT Wonder Lab (https://www.itwonderlab.com/)

---

## Preparing the Terraform Associate exam

The **HashiCorp Certified: Terraform Associate** exam checks that you know the basics of Infrastructure as Code with Terraform. It is a one-hour test of multiple-choice, true/false and short-answer questions taken online with proctoring. Exam versions and objectives change, so read the current exam content list at [developer.hashicorp.com](https://developer.hashicorp.com/certifications/infrastructure-automation) before you start and verify price and format there.

The best preparation is writing configurations. Use a free-tier AWS account ([create an AWS account for demos](https://www.itwonderlab.com/create-an-aws-account-for-demos/)) and destroy everything after each practice. Everything below also works with [OpenTofu](https://www.itwonderlab.com/what-is-opentofu/), although the exam is about Terraform.

### Exam objectives and where to study each

| Objective | What to know | Study |
|---|---|---|
| Infrastructure as Code | What IaC is, benefits, declarative model | [IaC](https://www.itwonderlab.com/iac/) |
| Terraform purpose | Providers, multi-cloud, state, plan | [Terraform basics](https://www.itwonderlab.com/aws-terraform-tutorial-terraform-basics/) |
| Terraform basics | Providers, resources, data sources, `init`/`plan`/`apply`/`destroy`, version constraints | [AWS provider](https://www.itwonderlab.com/aws-terraform-tutorial-terraform-aws-provider/), [cheat sheet](https://www.itwonderlab.com/terraform-cheat-sheet/) |
| Terraform CLI | `fmt`, `validate`, `taint`/`-replace`, `import`, `state`, `workspace`, logging | [cheat sheet](https://www.itwonderlab.com/terraform-cheat-sheet/), [replace and taint](https://www.itwonderlab.com/terraform-replace-taint-target/), [debug](https://www.itwonderlab.com/how-to-debug-terraform/) |
| Modules | Sources, inputs and outputs, versions, scope | [modules](https://www.itwonderlab.com/aws-terraform-tutorial-terraform-modules/), [registry modules](https://www.itwonderlab.com/terraform-aws-modules-vpc-eks/) |
| Core workflow | Write, plan, apply; saved plans; drift | [drift](https://www.itwonderlab.com/terraform-drift/), [CI/CD](https://www.itwonderlab.com/aws-terraform-tutorial-terraform-cicd/) |
| State | Local and remote backends, locking, sensitive data, `terraform_remote_state` | [state](https://www.itwonderlab.com/terraform-state/), [backends](https://www.itwonderlab.com/aws-terraform-tutorial-terraform-backends/), [data sources](https://www.itwonderlab.com/terraform-data-sources-remote-state/) |
| Configuration | Variables, outputs, locals, functions, expressions, `count`, `for_each`, `dynamic`, `depends_on`, lifecycle | see below |
| HCP Terraform | Workspaces, remote runs, policies, private registry | HashiCorp tutorials |

### Configuration topics to practice

- [Variables, outputs and locals](https://www.itwonderlab.com/terraform-variables-outputs-locals/), including types, validation, `sensitive` and the order of precedence of variable values.
- [`count` and `for_each`](https://www.itwonderlab.com/terraform-for-each-vs-count/).
- [Dynamic blocks](https://www.itwonderlab.com/terraform-dynamic-blocks/).
- [Implicit and explicit dependencies](https://www.itwonderlab.com/terraform-depends-on-dependencies/).
- [Lifecycle rules](https://www.itwonderlab.com/terraform-lifecycle-meta-argument/).
- [Conditionals and `for` expressions](https://www.itwonderlab.com/terraform-conditionals-for-expressions/) and [functions](https://www.itwonderlab.com/terraform-functions/).
- [Provisioners](https://www.itwonderlab.com/terraform-provisioners-user-data/) and why they are a last resort.
- [Secrets and the state](https://www.itwonderlab.com/terraform-secrets-management/).

### A 4-week plan

**Week 1: core workflow.** Install Terraform, create an S3 bucket and a VPC, and run `init`, `plan`, `apply` and `destroy` many times. Read the state with `terraform state list` and `show`.

**Week 2: language.** Rewrite the same project with variables, locals, outputs, `for_each`, conditionals and a data source. Add `validation` and sensitive variables.

**Week 3: state and modules.** Move the state to an S3 backend with locking, create a module, call it twice, use a registry module, and practice `import`, `moved`, workspaces and `-replace`.

**Week 4: review and mock exams.** Revisit the weak points, read the documentation of the CLI commands, and do practice questions (see the [interview questions](https://www.itwonderlab.com/terraform-interview-questions/) for scenario-style review).

### Tips for the exam

- Know the **exact behavior of commands**: what `terraform init`, `plan -out`, `refresh`, `fmt`, and `validate` do and do not do.
- Know the precedence of variable definitions: environment, `terraform.tfvars`, `*.auto.tfvars`, `-var` and `-var-file`.
- Understand what happens when the state is lost, locked or contains drift.
- Know the difference between a **resource** and a **data source**, a **provider** and a **module**.
- Remember the three main types of **version constraints** (`=`, `>=`, `~>`).
- Be careful with questions that include absolute words such as "always" or "never".

### After the exam

The Associate level proves the basics. To go further, build real projects: a [three-tier architecture](https://www.itwonderlab.com/aws-three-tier-architecture-terraform/), a [CI/CD pipeline](https://www.itwonderlab.com/terraform-github-actions-aws-oidc/), and [tests](https://www.itwonderlab.com/terraform-testing-opentofu-test/). The certificate is useful, but a repository of working infrastructure is worth more to employers.
