【发布时间】:2018-05-06 01:07:02
【问题描述】:
我对 Terraform 还很陌生,所以我希望问题是我做错了什么。
我有一些实例需要附加单独的 EBS 卷。这些被定义为三个独立的 Terraform 资源:
aws_instance
aws_ebs_volume
aws_volume_attachment
当实例启动时,AWS 控制台中的卷会说它们具有“终止时删除”保护,但 Terraform 仍然会销毁它们:
如果您在 aws_instance 资源定义中使用“block_device”映射,则可以防止它被终止:
https://www.terraform.io/docs/providers/aws/r/instance.html#delete_on_termination-1
但是这个选项没有出现在 ebs_volume 资源中:
https://www.terraform.io/docs/providers/aws/r/ebs_volume.html
如何阻止 Terraform 删除我的 EBS 卷?
我试过这样做,但它只是停止运行 terraform destroy 作业:
lifecycle = {
prevent_destroy = true
}
谢谢
【问题讨论】:
-
请显示您的
terraform plan ...输出。 -
嗨 - 你想要创建或销毁的计划还是两者兼而有之?无论如何,它们都是相当大的输出并包含大量业务数据(标签、名称标识符),因此我试图从中编辑所有业务可识别数据。请多多包涵。谢谢 如果您只想要特定部分,请告诉我。
-
请显示 aws_instance 破坏计划输出。
-
给你 -> pastebin.com/4B9nf4Bq 谢谢
-
您是否将
lifecycle元参数放入aws_ebs_volume资源块中?
标签: amazon-web-services volume terraform terminate amazon-ebs