Terraform 在每个 Terraform 应用上创建新的 EBS 快照

Jos*_*osh 5 continuous-deployment terraform

我正在尝试使用 Terraform 作为我的持续部署管道的一部分。在执行任何其他管道任务之前,我使用 Terraform 创建生产 EBS 卷的快照(用于备份目的)。

我可以让 terraform 拍摄快照,但问题是 Terraform 不会在每次运行时创建新快照。相反,它检测到已经存在快照并且不执行任何操作。

例如。

Terraform 应用执行 1 - 已成功拍摄快照。Terraform 应用执行 2 - 未拍摄快照。

下面提供了我用于 Terraform 的代码。

provider "aws" {
  access_key = "..."
  secret_key = "..."
  region     = "..."
}

resource "aws_ebs_snapshot" "example_snapshot" {

  volume_id = "vol-xyz"

  tags = {
    Name = "continuous_deployment_backup"
  }

}
Run Code Online (Sandbox Code Playgroud)

有谁知道如何强制 Terraform 在每次运行时创建新的 EBS 快照?

小智 0

如果您正在使用持续部署管道,为了避免任何重复的手动任务,可以选择根据自动化 Amazon EBS 快照的计划运行 CloudWatch Events 规则。您可以在AWS 在其 CloudWatch 文档中建议的本教程中查看它。

您还可以使用Amazon Data Lifecycle Manager (Amazon DLM)自动创建、保留和删除用于备份 Amazon EBS 卷的快照,例如始终通过资源使用terraform aws_dlm_lifecycle_policy