• HashiCorp Developer

  • HashiCorp Cloud Platform
  • Terraform
  • Packer
  • Consul
  • Vault
  • Boundary
  • Nomad
  • Waypoint
  • Vagrant
Terraform
  • Install
  • Tutorials
    • About the Docs
    • Configuration Language
    • Terraform CLI
    • Terraform Cloud
    • Terraform Enterprise
    • CDK for Terraform
    • Provider Use
    • Plugin Development
    • Registry Publishing
    • Integration Program
  • Registry(opens in new tab)
  • Try Cloud(opens in new tab)
  • Sign up
Terraform Home

Tutorials

Skip to main contentTutorials

Get Started

  • AWS
  • Azure
  • Docker
  • GCP
  • OCI
  • Terraform Cloud

Fundamentals

  • CLI
  • Configuration Language
  • Modules
  • Provision
  • State
  • Terraform Cloud

Use Cases

  • Applications
  • AWS Services
  • Azure Services
  • HashiCorp Products
  • IT/SaaS Providers
  • Kubernetes
  • Machine Images
  • Networking
  • Policy
  • Security

Certification Prep

  • Associate Prep (002)
  • Associate Prep (003)
  • Associate Tutorials (002)
  • Associate Tutorials (003)

Production

  • Automate Terraform
  • Enterprise Patterns
  • Terraform Enterprise

Integrations

  • CDK for Terraform
  • Community Providers
  • Custom Framework Providers
  • Custom SDK Providers
  • Secrets

  • Resources

  • Tutorial Library
  • Certifications
  • Community Forum
    (opens in new tab)
  • Support
    (opens in new tab)
  • GitHub
    (opens in new tab)
  • Terraform Registry
    (opens in new tab)
  1. Developer
  2. Terraform
  3. Tutorials
  4. Associate Tutorials (003)

Associate Tutorial List (003)

Study for the Terraform Associate (003) exam by following these tutorials. Login to Learn and bookmark them to track your progress. Study the complete list of study materials (including docs) in the Certification Prep guides.

Start
38 tutorials
  1.  
    3min
    What is Infrastructure as Code with Terraform?
    Learn how infrastructure as code lets you safely build, change, and manage infrastructure. Try Terraform.
    • Terraform
    • Interactive
    • Video
  2.  
    11min
    Lock and Upgrade Provider Versions
    Manage your provider versions using the dependency lock file. Use version constraints to filter provider versions compatible with your configuration. Update your lock file to use a new provider version.
    • Terraform
  3.  
    11min
    Build Infrastructure
    Authenticate to AWS and create an EC2 instance under the AWS free tier. Write and validate Terraform configuration, initialize a configuration directory, and plan and apply a configuration to create infrastructure.
    • Terraform
    • Video
  4.  
    4min
    Change Infrastructure
    Modify EC2-instance configuration to use a different Ubuntu version. Plan and apply the changes to re-provision a new instance that reflects the new configuration. Learn how Terraform handles infrastructure change management.
    • Terraform
    • Video
  5.  
    2min
    Destroy Infrastructure
    Destroy the AWS EC2 instance you created in the previous tutorials. Evaluate the plan and confirm the destruction.
    • Terraform
    • Video
  6.  
    8min
    Store Remote State
    Configure Terraform to store state in Terraform Cloud. Add a remote state block directly to configuration or set an environment variable to load remote state configuration when Terraform initializes.
    • Terraform
    • Video
  7.  
    12min
    Initialize Terraform Configuration
    Learn what Terraform does when you run `terraform init` in a working directory. Initialize the backend, install providers, download modules, and explore the lock file and .terraform directory.
    • Terraform
  8.  
    17min
    Create a Terraform Plan
    Learn how Terraform constructs an execution plan. Export a plan with the -out flag, review the plan contents, and apply a saved plan.
    • Terraform
  9.  
    15min
    Apply Terraform Configuration
    Learn how Terraform applies configuration to change your infrastructure. Provision a Docker container, introduce an apply error, note how Terraform handles errors, and perform basic troubleshooting.
    • Terraform
  10.  
    10min
    Manage Terraform Versions
    Update an existing configuration to work with a newer version of Terraform. Use the required_version setting to pin the Terraform versions for your projects. Manage different versions of Terraform across your team.
    • Terraform
  11.  
    15min
    Customize Terraform Configuration with Variables
    Customize infrastructure for a web application with Terraform. In this tutorial, you will use Terraform input variables, including lists, maps, strings, and booleans, to make the configuration for your infrastructure more flexible.
    • Terraform
  12.  
    13min
    Protect Sensitive Input Variables
    Protect sensitive values from accidental exposure using Terraform sensitive input variables. Provision a web application with Terraform, and mark input variables as sensitive to restrict when Terraform prints them out to the console.
    • Terraform
  13.  
    7min
    Output Data from Terraform
    Output data about infrastructure with Terraform outputs. Provision a web application with Terraform, and use output values to export data about your application's infrastructure. Hide sensitive output values.
    • Terraform
  14.  
    14min
    Query Data Sources
    Use a data source to configure an EC2 instance with an appropriate AMI for the current region. Use a remote state data source to share data between Terraform projects and to support multiple availability zones.
    • Terraform
  15.  
    10min
    Create Resource Dependencies
    Create an implicit dependency between an EC2 instance and its Elastic IP using variable interpolation. Create explicit dependencies on an S3 Bucket and SQS Queue with depends_on. Learn how Terraform creates independent resources in parallel.
    • Terraform
  16.  
    12min
    Perform Dynamic Operations with Functions
    Use templatefile and lookup functions to generate dynamic user data for an EC2 instance and find a region-specific AMI.
    • Terraform
  17.  
    11min
    Create Dynamic Expressions
    Make your Terraform configurations more dynamic and reusable with expressions. Use locals to assign expressions to variables for reuse, conditionals to declare if/then scenarios, and the splat expression to return attributes from complex value types.
    • Terraform
  18.  
    7min
    Modules Overview
    Read about how Terraform modules make configuration easier to organize, understand, reuse, and share. Learn about the directory structure of a module, and how to call them.
    • Terraform
  19.  
    12min
    Use Registry Modules in Configuration
    Use modules from the public Terraform Registry to define an Amazon VPC containing two EC2 instances. Select module and root input and output variables, install the modules, and apply the configuration.
    • Terraform
    • Interactive
  20.  
    15min
    Build and Use a Local Module
    Write a local module to create an Amazon S3 bucket hosting a static website. Create a module directory, write the module configuration, variables, and outputs, and call the module from a root configuration.
    • Terraform
    • Interactive
  21.  
    18min
    Refactor Monolithic Terraform Configuration
    Deploy development and production versions of an S3-hosted static website. Separate their configuration into files, directories, and workspaces, and explore the architectural trade-offs of each approach.
    • Terraform
    • Interactive
  22.  
    17min
    Module Creation - Recommended Pattern
    Learn the architectural recommendations for module creation distilled from engagements with large enterprises using Terraform. Use Terraform module best practices to scope, build, improve and consume Terraform modules.
    • Terraform
  23.  
    19min
    Manage Resources in Terraform State
    Create an EC2 instance and security group, and move a resource to another state file. Remove, replace, and re-import resources to manage state and reconcile drift in your infrastructure.
    • Terraform
  24.  
    25min
    Import Terraform Configuration
    Import existing infrastructure into Terraform. In this tutorial, you will use Terraform import to manage an existing Docker container and learn important considerations to keep in mind when importing infrastructure into Terraform.
    • Terraform
  25.  
    20min
    Target Resources
    Apply changes to an AWS S3 bucket and bucket objects using resource targeting. Target individual resources, modules, and collections of resources to change or destroy. Explore how Terraform handles upstream and downstream dependencies.
    • Terraform
  26.  
    12min
    Manage Resource Drift
    Create an AWS instance and security group. Manually change the instance to create drift in your Terraform state file. Reconcile your state drift and import your resources while avoiding downtime.
    • Terraform
  27.  
    9min
    Use Refresh-Only Mode to Sync Terraform State
    Use refresh-only plans and applies to update Terraform state to match real-world infrastructure. Understand the implicit refresh behavior in Terraform plan and apply operations.
    • Terraform
  28.  
    15min
    Troubleshoot Terraform
    Interpret and fix a Terraform configuration with common configuration language errors and deploy an EC2 instance with security groups in AWS. Learn best practices for logging application errors and reporting bugs.
    • Terraform
  29.  
    11min
    Inject Secrets into Terraform Using the Vault Provider
    Configure the AWS Secrets Engine to manage IAM credentials in Vault through Terraform. Then use the short-lived, Vault-generated, dynamic secrets to provision EC2 instances.
    • Terraform
    • Vault
  30.  
    3min
    Log in to Terraform Cloud from the CLI
    Log into Terraform Cloud or Enterprise with the Terraform CLI to migrate state, trigger remote runs, and interact with Terraform Cloud.
    • Terraform
  31.  
    9min
    Migrate State to Terraform Cloud
    Migrate a state file to Terraform Cloud for secure storage and easy collaboration.
    • Terraform
  32.  
    5min
    What is Terraform Cloud - Intro and Sign Up
    Sign up for Terraform Cloud, which provides free remote state storage, a stable run environment, version control system (VCS) driven plans and applies, a collaborative web GUI, and more. Create your first organization.
    • Terraform
  33.  
    3min
    Create a Credentials Variable Set
    Create a variable set for your AWS IAM credentials that you can reuse across workspaces. Apply the variable set to a workspace.
    • Terraform
  34.  
    4min
    Create a Workspace
    Create a CLI-driven Terraform Cloud workspace. Update configuration to enable integration with Terraform Cloud.
    • Terraform
  35.  
    4min
    Create Infrastructure
    Set EC2 instance attributes using Terraform Cloud workspace variables. Create the instance by planning and applying a run in Terraform Cloud.
    • Terraform
  36.  
    4min
    Change Infrastructure
    Use command line input variables to modify infrastructure managed by Terraform Cloud. Review workspace contents and interface.
    • Terraform
  37.  
    6min
    Use VCS-Driven Workflow
    Update a workspace to use the version control system-driven workflow with GitHub. Queue a speculative plan by opening a pull request.
    • Terraform
  38.  
    3min
    Destroy Resources and Workspaces
    Destroy the resources in a Terraform Cloud workspace, and delete the workspace via the web UI.
    • Terraform
Give Feedback(opens in new tab)
  • Certifications
  • System Status
  • Terms of Use
  • Security
  • Privacy
  • Trademark Policy
  • Trade Controls
  • Give Feedback(opens in new tab)