我正在尝试使用Terraform作为我的持续部署管道的一部分。在执行任何其他管道任务之前,我正在使用Terraform创建生产EBS卷的快照(用于备份目的)。
我可以获取terraform来拍摄快照,但问题是Terraform不会在每次运行时创建新的快照。相反,它检测到已存在的快照并且什么都不做。
例如。
Terraform Apply Execution 1 - 成功拍摄快照。 Terraform Apply Execution 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快照?
如果您正在使用持续部署管道,要避免任何重复和手动任务,可以选择根据自动执行Amazon EBS快照的计划运行CloudWatch Events规则。您可以在其CloudWatch文档中查看AWS建议的here in this tutorial。
您可以使用Amazon Data Lifecycle Manager (Amazon DLM)自动创建,保留和删除用于备份Amazon EBS卷的快照,例如,通过aws_dlm_lifecycle_policy
resource使用terraform。