首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在EC2s上运行在状态检查失败时回滚的更新

在EC2s上运行在状态检查失败时回滚的更新
EN

Stack Overflow用户
提问于 2017-08-16 18:25:29
回答 1查看 86关注 0票数 1

我正在为运行web应用程序的EC2服务器设置一个修补程序。

我需要构建一个自动的过程来安装系统更新,但是,如果web应用程序失败了状态检查,则返回到最后一个工作的ec2实例。

我一直试图使用EC2系统管理器中的自动化文档执行以下步骤:

  1. 停止EC2实例
  2. 从实例创建AMI
  3. 从新创建的AMI启动新实例
  4. 运行更新
  5. 在web应用程序上运行状态检查
  6. 如果检查失败,则停止新实例并重新启动原始实例。

自动化文档成功地运行了前5个步骤,但是我无法确定如何触发步骤6?我可以在自动化文档中这样做吗?我可以从第5步调用什么输出?如果它使用aws: runCommand,那么runCommand应该触发一个新的自动化文档还是另一个AWS工具?

EN

回答 1

Stack Overflow用户

发布于 2017-11-10 17:25:52

--我尝试了以下方法来解决这个问题,这个问题多少起作用了:

  • 在自动化文档中包含一个aws:runCommand操作
  • 它使用以下参数运行DocumentName“”:

从s3下载了脚本:

代码语言:javascript
复制
sudo aws s3 cp s3://path/to/s3/script.sh /tmp/script.sh

将文件设置为可执行文件:

代码语言:javascript
复制
chmod +x /tmp/script.sh

使用在其中设置的变量或由自动化文档生成的变量执行脚本。

代码语言:javascript
复制
bash /tmp/script.sh -o {{VAR1}} -n {{VAR2}} -i {{VAR3}} -l {{VAR4}} -w {{VAR5}}

脚本包含以下getopts命令来设置输入变量:

代码语言:javascript
复制
while getopts o:n:i:l:w: option
do
case "${option}"
in
n) VAR1=${OPTARG};;

o) VAR2=${OPTARG};;

i) VAR3=${OPTARG};;

l) VAR4=${OPTARG};;

w) VAR5=${OPTARG};;

esac

done

bash脚本使用变量运行状态检查,并在失败时回滚到最后一个工作实例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45720594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档