停止流向不健康的实例而不通过自动缩放替换它们

时间:2015-10-15 17:27:41

标签: amazon-web-services amazon-ec2 load-balancing amazon-elb autoscaling

使用 ELB 进行TCP协议和 AWS Auto Scaling 我在向外扩展时遇到以下问题。

  • 三个EC2实例,每个实例有2,000个连接
  • 缩小,因为这是我指定的阈值
  • Auto Scaling添加了一个新实例

如何阻止现在流量进入连接过多的三个EC2实例?

  1. 从ELB中删除它意味着它将在连接耗尽后最多1小时后终止。 错误:TCP连接将关闭。

  2. 使用CloudWatch将EC2实例标记为运行状况不佳。 错误:Auto Scaling将检测并替换不健康的实例

  3. 通过AWS CLI手动从Auto Scaling组中分离EC2实例。 错误:将其从Auto Scaling中删除也会将其从ELB中删除,请参阅1.

  4. 我能在这里看到的唯一可能的解决方案,我不确定它是否可行:

    使用CloudWatch将EC2实例标记为不健康。 ELB将停止向其分配流量。同时手动更新Auto Scaling的EC2运行状况:

    aws autoscaling set-instance-health --instance-id i-123abc45d –-health-status healthy
    

    这应该以ELB将继续忽略EC2实例的方式覆盖运行状况,并且AWS Auto Scaling不会尝试替换该实例。这会有用还是有更好的解决方案?

0 个答案:

没有答案