In order to maintain your tfstate file properly, you MUST have versioning enabled on your S3 bucket.
Here is the code I used to create the backend.tf
file. You'll need to update it with the name of your S3 bucket and the path to your terraform.tfstate
file.
terraform { backend "s3" { bucket = "<Name of your S3 bucket>" key = "<Path To Your terraform.tfstate file>" region = "us-east-1" } }
Here is the code for terraform.tf used to create the S3 backend. You can model yours off my example, or be creative and create your own- just make sure you destroy any infrastructure you create!
provider "aws" { access_key = "<Your Access Key>" secret_key = "<Your Secret Key>" region = "us-east-1" } resource "aws_instance" "Backend" { count = "2" ami = "ami-0323c3dd2da7fb37d" instance_type = "t2.micro" }
Save your backend.tf file
with your terraform.tf
(or main.tf
file) in a working directory under your Terraform root directory.