unix 在DeleteStack上运行AWS CloudFormation脚本

xqk2d5yq  于 2023-11-18  发布在  Unix
关注(0)|答案(1)|浏览(170)

在AWS CloudFormation中,我知道在我的EC2::Instance中使用UserData在创建时运行一些代码。有没有类似于UserData运行的功能,但在DeleteStack上?我发现了DeletionPolicy,但更多的看起来像“在删除时做什么,保留或实际删除”,而不是更开放的脚本空间。
我看到的唯一可能工作的是cfn-hup,但我不知道是否值得探索更多。

9udxz4iz

9udxz4iz1#

我最近遇到了这个问题,正如前面的评论中提到的,cloudformation没有支持,Sudharsan Sivasankaran建议将脚本保存在/usr/lib/systemd/system-shutdown/中对我不起作用,但我确实找到了解决方案,其中涉及创建一个Linux服务,以下是步骤:
这是一种变通方法,对我来说非常有效:让我们将在关机前运行的脚本称为the_script.sh
1.将脚本移动到/usr/lib/systemd/system-shutdown/ #这不是必需的,您可以将脚本保存在任何地方
1.使脚本可执行:chmod +x /usr/lib/systemd/system-shutdown/the_script.sh
1.在此创建服务:/etc/systemd/system/before-shutdown.service

[Unit]
Description=Execute delete awake user script

[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=/usr/lib/systemd/system-shutdown/the_script.sh

[Install]
WantedBy=multi-user.target

字符串
1.删除systemctl,使服务生效:systemctl daemon-reload
1.启用服务:systemctl enable before-shutdown.service
1.启动服务:systemctl start before-shutdown.service
您可以在用户数据中添加上面提到的步骤,以便它自动运行,并且您的脚本the_scrip.sh可以成为源代码的一部分,before-shutdown.service文件也是如此
以下资源帮助了我:Link1

相关问题