部署到弹性beanstalk后,AWS CLI获得部署状态

时间:2017-11-16 00:12:57

标签: amazon-web-services elastic-beanstalk aws-cli

使用AWS CLI的部署任务的最后一行是

aws elasticbeanstalk update-environment --application-name DevApi --environment-name Dev --version-label v2

如何检查v2的部署是否成功?目前我打开另一个浏览器窗口console.aws.amazon.com/elasticbeanstalk/并检查那里。但是,通过添加另一个步骤(cli命令?),必须有更好的方法将其作为部署的一部分进行自动化,所以我只需要检查部署输出吗?

编辑:我还应该提到我正在运行Windows Elastic Beanstalk实例。

1 个答案:

答案 0 :(得分:3)

我能想到的一种方法是检查 EBS健康报告

如果您使用基本监控,请使用以下cli:

aws elasticbeanstalk describe-environments --application-name DevApi  --environment-name Dev --query 'Environments[*].{Status: Status,Health: Health} --output json'

Sample output:

[
    {
        "Status": "Ready",
        "Health": "Green"
    }
]

有关每个指标的详细信息,请阅读Basic Health Reporting

如果您正在使用增强监控(需要额外费用),那么还有一个额外的参数可以让它更清晰。

aws elasticbeanstalk describe-environments --application-name DevApi  --environment-name Dev --query 'Environments[*].{Status: Status,Health: Health,HealthStatus: HealthStatus} --output json'

Sample Output:

[
    {
        "Status": "Ready",
        "HealthStatus": "Ok",
        "Health": "Green"
    }
]

达到上述状态后,您可以断定部署已完成并且运行正常。 如果 HealthStatus Info运行状况Green,则表示某个实例(或)正在进行多个实例上的操作正在进行中环境。 示例: 正在为正在运行的实例部署新的应用程序版本。

有关每个健康指标的详细信息,请阅读Enhanced Health reporting