terraformminorawsuser_data更改“强制替换”-最佳解决方案是什么?
我对我的 AWS EC2 user_data bootstrap bash 脚本做了一个小改动(仅限评论)。Terraform 已检测到这一点,现在想用新的 EC2 替换 EC2。但这是一项实时服务,我宁愿不必将其删除,备份所有数据,构建新服务器,然后恢复数据 - 只是为了让 terraform 开心!
有没有更简单的方法来解决这个问题,通过某种方式将代码/状态文件/aws 放在一起,这样我就可以使用 terraform 对环境进行其他更改,但不必担心会炸毁这台服务器?
我什至尝试从 AWS 控制台编辑用户数据,以使其符合我认为应该进行的更改,但这并没有奏效。
现在我正在使用-target特定的更改,但从长远来看这可能是不可持续的。
回答
您可以使用元参数指示提供程序忽略user_data对该资源的参数更改lifecycle:
resource "aws_instance" "this" {
# ...
lifecycle {
ignore_changes = [user_data]
}
}
THE END
二维码