terraform minor aws user_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]
  }
}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...