【发布时间】:2020-06-08 09:17:09
【问题描述】:
在我正在部署的 CloudFormation 模板中,我正在 UserData 块中运行一个长时间运行的操作。
如下所示:
"UserData": {
"Fn::Base64" : {
"Fn::Join" : [
"",
[
"/usr/local/bin/mylongrunningscript.sh"
]
]
}
}
脚本的内容是:
echo "UserData starting!" > /var/log/mycustomlog.log
sleep 300
echo "UserData finished!" >> /var/log/mycustomlog.log
我看到的问题是,我相信 CloudFormation 模板正在完成它的部署在 UserData 脚本完成运行之前。我相信是这样,因为如果我足够快并通过 ssh 进入实例,我会看到如下内容:
$ cat /var/log/mycustomlog.log
UserData starting
这表明 UserData 没有完成运行
如何确保在堆栈处于“CreateComplete”状态之前完成 UserData 代码执行?
【问题讨论】:
-
@MariaInesParnisari 谢谢!是的,这行得通。因为另一个问题的答案不全面,所以我在这里添加一个答案。
标签: amazon-web-services amazon-ec2 amazon-cloudformation