是否可以使用 AWS CLI 等到实例“在线”并完成 opsworks 的设置/配置步骤?

Posted

技术标签:

【中文标题】是否可以使用 AWS CLI 等到实例“在线”并完成 opsworks 的设置/配置步骤?【英文标题】:Is it possible to use the AWS CLI to wait until an instance is 'online' and finished with setup/configuration steps of opsworks? 【发布时间】:2015-06-12 08:16:31 【问题描述】:

我为我的 opsworks 堆栈创建了一个新实例,并希望等待它以“在线”状态完全启动,我认为

aws ec2 wait instance-running

会这样做,但它似乎只等待实例启动,而不是完全完成设置/配置。

是否可以等待它通过 AWS CLI 完全启动,而我可能忽略了一些东西?提前致谢。

【问题讨论】:

【参考方案1】:

不幸的是,OpsWorks 没有实际的 AWS CLI 命令允许此操作。不过,这不会让您不走运,您可以重复运行 describe 命令,直到状态处于在线状态。使用此方法可能遇到的唯一问题是运行 API 限制,因此您应该包含一个 sleep 函数来限制调用次数。

这已经接近你可以使用的了,我没有时间准确地测试它。

while [$STATUS != 'Status:Online'; do
    STATUS=`aws opsworks --region us-east-1 describe-instances --instance-id 8c2673b9-3fe5-420d-9cfa-78d875ee7687 | grep "Status" | sed 's/\"//g'`
    sleep -m 1
done

供您将来参考:

以下是所有 AWS OpsWorks CLI 命令: http://docs.aws.amazon.com/cli/latest/reference/opsworks/index.html

这是我所说的具体命令: http://docs.aws.amazon.com/cli/latest/reference/opsworks/describe-instances.html

如果我可以提供一些澄清,请告诉我!

【讨论】:

谢谢!这对我来说应该足够好了!

以上是关于是否可以使用 AWS CLI 等到实例“在线”并完成 opsworks 的设置/配置步骤?的主要内容,如果未能解决你的问题,请参考以下文章

AWS 以编程方式为其他人部署实例(AWS CLI OAuth?)

用于并行运行 AWS Cli 命令以减少时间的 Bash 脚本

带有 PHP SDK 的 AWS EC2 - 等到实例具有公共 DNS 名称

AWS CLI实例ID在变量中

AWS CLI EMR 获取主节点实例 ID 并标记它

描述 EC2 实例 使用 AWS cli 过滤实例名称