在 S3 中保存 Terraform 状态

发布: (2025年12月4日 GMT+8 20:55)
2 min read
原文: Dev.to

Source: Dev.to

将 S3 配置为 Terraform 后端

Terraform 可以将其状态存储在 S3 存储桶中。下面是一个最小化的配置示例,用于设置 S3 后端:

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = ">= 4.0"
    }
  }
  required_version = ">= 1.0"

  backend "s3" {
    bucket                  = "terraform-state-dev"
    key                     = "my-key"
    region                  = "us-east-1"
    shared_credentials_file = "~/.aws/credentials"
  }
}
  • 您可以使用 单个键key 参数)将所有 Terraform 状态存储在一个文件中,或者
  • 为每个 Terraform 工作区(或每个环境)分配 一个键,以实现状态的隔离。

将已有状态迁移到 S3

如果您已经有本地状态文件或正在使用其他后端,可以使用以下命令将其迁移到 S3 存储桶:

terraform init -migrate-state

警告: 丢失 Terraform 状态会导致严重问题,因为 Terraform 依赖该状态来跟踪资源。请确保 S3 存储桶已启用版本控制并进行备份,以防止意外丢失。

Back to Blog

相关文章

阅读更多 »

Terraform 项目:简单 EC2 + 安全组

项目结构 terraform-project/ │── main.tf │── variables.tf │── outputs.tf │── providers.tf │── terraform.tfvars │── modules/ │ └── ec2/ │ ├── main.tf │ …

AWS Terraform 生命周期规则

介绍 基础设施即代码(IaC)在您能够完全控制资源在更新、替换和删除过程中的行为时最为强大。Terr…