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

时间:2019-03-26 04:56:09

标签: terraform continuous-deployment

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

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

例如。

Terraform Apply执行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"
  }

}

有人知道我该如何强制Terraform每次运行时创建一个新的EBS快照吗?

1 个答案:

答案 0 :(得分:0)

要避免在连续部署管道上进行任何重复性和手动的任务,可以选择根据自动执行Amazon EBS快照的时间表运行CloudWatch Events规则。 您可以查看AWS在其CloudWatch文档中建议的here in this tutorial

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