Terraform报告创建的aws_实例,即使用户_数据失败

Terraform报告创建的aws_实例,即使用户_数据失败,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,如何在运行terraform apply命令时控制用户数据返回代码(bash脚本) 我正在运行标准的terraformapply命令来创建一个aws\u实例。资源定义包括用户_数据(bash脚本)。地形日志内容告诉我 'aws_instance.xyz: Creation complete after 54s (ID: i-04de6d5dfd569cbd7)...', 'Apply complete! Resources......' 尽管bash脚本失败了。抓住这个问题的“最先进”程序是什

如何在运行
terraform apply
命令时控制用户数据返回代码(bash脚本)

我正在运行标准的
terraformapply
命令来创建一个aws\u实例。资源定义包括用户_数据(bash脚本)。地形日志内容告诉我

'aws_instance.xyz: Creation complete after 54s (ID: i-04de6d5dfd569cbd7)...',
'Apply complete! Resources......'

尽管bash脚本失败了。抓住这个问题的“最先进”程序是什么?我的意思是,只要用户数据脚本没有成功,实例就不能被认为是成功的“创建”并以绿色完成。

我相信一旦ec2实例开始启动,Terraform就会认为它的工作“完成”。。用户_数据在第一次引导后执行(实际上可以触发重新引导)。在需要监视的用户_数据中,您到底在做什么?(事实上,AWS本身将考虑EC2实例为“运行”,即使USER数据失败)“我的意思是,只要USER数据脚本不成功,该实例就不能被认为是成功的‘创建’并以绿色完成。”这是您的观点,但是AWS不是这样工作的。用户数据只是传递给操作系统的脚本。您必须检查操作系统内部的日志,看看它是否失败或成功。我相信一旦ec2实例开始启动,Terraform就会认为它的工作“完成”。。用户_数据在第一次引导后执行(实际上可以触发重新引导)。在需要监视的用户_数据中,您到底在做什么?(事实上,AWS本身将考虑EC2实例为“运行”,即使USER数据失败)“我的意思是,只要USER数据脚本不成功,该实例就不能被认为是成功的‘创建’并以绿色完成。”这是您的观点,但是AWS不是这样工作的。用户数据只是传递给操作系统的脚本。您必须检查操作系统内的日志,以查看它是否失败或成功。