New Guides for Terraform Modules
Over the last few years, one of the most popular topics on our YouTube channel, in person at conferences, and in other discussions has been writing, using, refactoring, and collaborating on complex configurations using Terraform modules. Modules are a key part of writing maintainable, shareable Terraform configurations.
Use and create your first Terraform modules by following our new step-by-step command-line guides in the Learn modules track.
HashiCorp recommends using modules for almost any Terraform configuration. Modules allow you to organize, encapsulate, and re-use your configuration. Organizations can use modules to ensure consistent use of security features and other best practices.
» Understanding Modules
If you’re unfamiliar with Terraform modules, review the Modules Overview to learn what modules are, and when and why to use them.
» Using Modules
The Terraform Registry hosts hundreds of modules contributed by the Terraform community. Modules from the Registry and other locations can be used to enhance your Terraform configurations.
In this guide, you will use modules from the Terraform Registry to provision an example environment on AWS.
» Creating Modules
As your Terraform configurations become more complex, modules can be used to organize and simplify them. You can also share modules within your organization or with the Terraform community.
In this guide, you will create a module to manage AWS S3 buckets used to host static websites.
Sign up for the latest HashiCorp news
More blog posts like this one

How to enable developer self-service at scale with Terraform and Waypoint
Learn how to simplify Terraform self-service with HCP Waypoint’s features for building golden deployment workflows.

5 lessons from Moneybox’s Terraform journey
Learn about Moneybox’s infrastructure-scaling transformation, and how the transition to HCP Terraform supported it.

Terraform now supports assigning agent pools at the project level
HCP Terraform and Terraform Enterprise users can now assign default agent pools at the project level, offering a more scalable and secure approach to agent pool configuration.