我有两个使用相同自动缩放组的Amazon ELB实例 .
我将自动缩放组的运行状况检查类型设置为ELB .
在ASG的每个EC2实例上,我有2个Web应用程序(它们托管在IIS中,但我认为它并不真正相关) .
一旦我启动并运行了所有东西,我就关闭其中一个实例上的IIS,以便两个ELB的运行状况检查对于特定的EC2实例失败 . (ASG仍然认为这些实例是 Health 的,但是ELB认为它们已经停止服务) .
我的ASG有
Desired instances: 2
Min: 2
Max: 4
我期待EC2实例被终止并且ASG创建一个新实例,但这不会发生 .
有任何想法吗 ?谢谢
PS:它适用于1个ELB实例和1个ASG,在IIS下只有一个Web应用程序 .
2 回答
来自documentation:
他们没有特别提到终止操作,但据我所知,这会将实例设置为特定ELB中的 Health 检查失败 - 但是当其他ELB将其标记为InService时,没有理由终止 .
当然,这是AWS,您总是可以使用API编写一些代码来检测这一点,并终止(设置不 Health )有问题的实例,该实例适用于一个ELB而不是另一个ELB .
或者更简洁的方法是将其拆分为单独的ASG,每个ASG具有一个ELB .
默认的ASG运行状况检查类型是EC2实例状态检查 . 只是尝试将其设置为ELB,以便它将考虑ELB运行状况检查结果以进行扩展/输入 . 请参考:http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-add-elb-healthcheck.html