我最近创建了一个部署EC2实例的Terraform模块,并在启动时运行用户数据脚本,该脚本从ECR下载一个docker映像并运行它。
我只是注意到,在更改基础架构时(将实例类型从t2更改为m5),之前运行的Docker应用程序会停止,并且不会重新触发用户数据脚本。
我想知道是否有可能,以及如何在更改基础架构更改时运行用户数据脚本。
此外,我还想知道是否有可能执行另一个脚本,而不是原来的用户数据脚本,因为我怀疑可能有必要首先杀死以前的docker容器。
谢谢你的帮助。
发布于 2018-12-15 01:01:35
您可能希望将其添加到您的ec2实例中,以便userdata更改不会触发新实例:
lifecycle {
# Prevent cross-platform terraform bug: https://github.com/terraform-providers/terraform-provider-aws/issues/4954
ignore_changes = ["user_data"]
}https://stackoverflow.com/questions/53782452
复制相似问题