Terraform state is a critical component of using Terraform. However, there are many risks involved when storing the state file locally on a computer. The state file can contain sensitive information about the infrastructure, such as keys and passwords. Saving them to an engineer's laptop is not a great long term solution. Also, as teams start utilizing Terraform and managing resources, they need a way to centrally store the state file so that everyone has access to run Terraform commands against the same infrastructure. Additionally, this centralized storage solution needs to have a system to prevent the same state file from being used simultaneously. This is why Terraform can be configured to use a remote state feature, where the state file is stored in a remote location, and a feature called state file locking is introduced. Remote state can be used with native AWS services like S3 and DynamoDB.
In this lab, you will create an S3 Bucket and DynamoDB Table and configure remote state for a Terraform Configuration.
Upon completion of this lab you will be able to:
This lab is intended for:
You should be familiar with:
The following course and lab can be used to fulfill the prerequisites:
Luke is a Site Reliability Engineer at Microsoft. His background is infrastructure development using Terraform and in 2021 he was awarded the HashiCorp Ambassador award. He is an Azure DevOps Engineer Expert, Azure Administrator Associate, and HashiCorp Certified - Terraform Associate.