Terraform Cloud helps you collaborate on infrastructure. It combines a predictable and reliable shared run environment with tools to help you work with others on Terraform configurations and modules.
In this tutorial, you will learn about how Terraform Cloud enables collaboration. Then, you will sign up for a Terraform Cloud account and create an organization.
Over the course of these tutorials, you will learn Terraform Cloud's core workflows and UI by deploying and managing an AWS DynamoDB instance.
»What is Terraform Cloud?
Terraform Cloud is an application that helps teams use Terraform together. It manages Terraform runs in a consistent and reliable environment, and includes easy access to shared state and secret data, access controls for approving changes to infrastructure, a private registry for sharing Terraform modules, detailed policy controls for governing the contents of Terraform configurations, and more.
Terraform Cloud offers a team-oriented remote Terraform workflow.
Users are individual members of a Terraform Cloud organization. As a user, you manage, plan and apply collections of infrastructure in workspaces. These workspaces contain Terraform configuration files, environment variables, Terraform variables, and state files — everything Terraform needs to manage a given collection of infrastructure.
A common workflow is:
Author - Create or update the configuration file in HCL based on the scoped parameters
Select workspace - Create or select a workspace for your resources
Version Control - Check your configuration files into a version control system (VCS) as a central source of truth where your changes can be managed
Configure Variables - Define your workspace's Terraform variables and environment variables
Plan & Apply - Execute Terraform Cloud runs (plans and applies) to manage your infrastructure
Since Terraform Cloud supports multiple users, you can collaborate with your team on each of these steps. For instance, each time you plan a new change, your team can see and approve the plan before it is applied.
While Terraform can provision resources on many different providers and connect with several popular version control systems (VCSs), this tutorial requires:
For a more in-depth introduction to Terraform itself, refer first to one of the provider-specific tutorials in the Terraform Getting Started track
»Create your account
Create a Terraform Cloud account at https://app.terraform.io/signup/account.
When you sign up, you'll also receive an email asking you to confirm your email address. Confirm your email address before moving on.
For more information about account creation, refer to the Terraform Documentation: Creating an account.
For information about accessing Terraform Cloud with the CLI or API, refer to the Terraform Cloud API Documentation.
»Create your organization
Terraform Cloud will prompt you to create a new organization after you sign in for the first time.
Enter an organization name and email address. You can use the same email address that you used for your account.
Note: If you want to join an existing organization, give the organization's administrator the email address you used to create an account. They will be able to send you an invite.
For more information about organization creation, refer to the Terraform Documentation: Creating Organizations.
In this tutorial, you created a Terraform Cloud account and organization.
In the next tutorial, you will provide Terraform Cloud with versioned infrastructure configuration, by creating a workspace and connecting it to a GitHub repository.