mja*_*day 7 amazon-web-services autoscaling
我们为其中一个云形成堆栈设置了自动扩展组,这些堆栈具有基于CPU的警报,用于确定何时扩展实例.
这很好但我们最近将它从一个节点扩展到三个节点,其中一个节点无法通过cfn-init引导.一旦工作负载减少并且组缩小到一个节点,它就会杀死两个好的实例,并将部分自举节点作为唯一的剩余实例.这意味着我们停止处理工作,直到有人登录并重新启动引导程序.
显然这并不理想.当一个节点不在ELB后面时,通知自动扩展组节点不健康的最佳方法是什么?
由于这只是初始引导程序,我真正喜欢的是与自动扩展组通信,该节点发生故障并终止它并且新节点在其位置旋转.
一位同事刚给我看了http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-configure-healthcheck.html这看起来很方便.
如果您有自己的运行状况检查系统,则可以使用运行状况检查系统中的信息来设置Auto Scaling组中实例的运行状况.
更新 - 我设法在发布期间使其工作.
以下是ASG的UserData部分:
#!/bin/bash -v
set -x
export AWS_DEFAULT_REGION=us-west-1
cfn-init --region us-west-1 --stack bapi-prod --resource LaunchConfiguration -v
if [[ $? -ne 0 ]]; then
export INSTANCE=`curl http://169.254.169.254/latest/meta-data/instance-id`
aws autoscaling set-instance-health \
--instance-id $INSTANCE \
--health-status Unhealthy
fi
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1974 次 |
最近记录: |