目前,当我开发 AWS cloudformation 和 EC2 用户数据脚本时,我会编辑源代码,销毁任何现有堆栈并启动新堆栈。这是一个缓慢的过程。每次我都必须等待堆栈自行销毁并部署新堆栈。如果我的用户数据脚本不起作用,我必须加载日志并调试问题。
您使用什么开发工作流程,有没有更好的方法来实现这一点?
答案1
如果您更新 CloudFormation (CFN) 堆栈,则 UserData 也应相应更新 - 并在机器上可用。
然后您可以使用以下命令检索元数据:
cfn-获取元数据--堆栈$STACKNAME--资源$RESOURCE--区域$REGION
其中 $STACKNAME 是您的堆栈,$RESOURCE 是您的配置。$REGION 是您的区域。例如:
cfn-获取元数据--堆栈 WebserverStaging-EYMMJRF0BU01--资源 myLaunchConfiguration--区域 eu-west-1
如果您想尝试新的配置,您可以这样执行:
sudo cfn-init -v --stack $STACKNAME --resource $LAUNCHCONFIG --region $REGION
如果你使用的是 EC2 实例,通常可以直接从中检索命令/var/log/cloud-init-output.log