如何使Amazon Cloudwatch监视特定的不健康实例并在Elastic Beanstalk部署中终止它们

时间:2016-02-10 01:46:57

标签: amazon-web-services amazon-ec2 elastic-beanstalk amazon-cloudwatch alerts

尝试创建Amazon Cloudwatch警报,以监控面向公众的网站的Elastic Beanstalk部署。 Elastic Beanstalk的警报选项似乎不允许监视未通过Beanstalk运行状况检查URL查询的特定实例。我需要识别特定的不健康的 INSTANCE 并终止它。从那里,我的自动调节策略将自动替换已终止的实例。

一些背景

设置:针对面向公众的站点运行LAMP的Elastic Beanstalk部署。

目的:为了提供额外的故障安全保护,我添加了一个守护进程来监控/ var / www中文件系统的状态。如果文件系统的时间戳或大小发生变化(即,不需要的文件引入或更改),监视器将触发一个脚本,该脚本删除位于elasticbeanstlak的运行状况检查URL的php文件(/ var / www目录中的随机URL)并强迫一个不健康的"在ELB监督层面陈述。

一切正常,但我似乎无法找到让Amazon识别导致运行状况检查失败的特定实例的方法,让我只终止该实例。

用于创建警报以处理此特定功能并启动实例终止的AWS文档尚不清楚。我已经尝试在Beanstalk级别设置运行状况监视,这可以识别不健康状态,但不能识别特定实例。不是AWS的新手,但对Cloudwatch指标来说相对较新。

感谢您的建议。

1 个答案:

答案 0 :(得分:0)

所以看起来你的基本用例是这样的:

  1. /var/www目录中出现问题,您的脚本删除了运行状况检查脚本。
  2. 实例未通过运行状况检查
  3. 实例终止,然后由Autoscaling替换
  4. 一种选择是使用Elastic Beanstalk的Scaling Triggers设置将Autoscaling Group配置为立即替换UnhealthyHostCount触发器测量上的主机。如果您使用的是API,则可以使用these选项设置来设置触发器。