使用 ELB 进行TCP协议和 AWS Auto Scaling 我在向外扩展时遇到以下问题。
如何阻止现在流量进入连接过多的三个EC2实例?
从ELB中删除它意味着它将在连接耗尽后最多1小时后终止。 错误:TCP连接将关闭。
使用CloudWatch将EC2实例标记为运行状况不佳。 错误:Auto Scaling将检测并替换不健康的实例
通过AWS CLI手动从Auto Scaling组中分离EC2实例。 错误:将其从Auto Scaling中删除也会将其从ELB中删除,请参阅1.
我能在这里看到的唯一可能的解决方案,我不确定它是否可行:
使用CloudWatch将EC2实例标记为不健康。 ELB将停止向其分配流量。同时手动更新Auto Scaling的EC2运行状况:
aws autoscaling set-instance-health --instance-id i-123abc45d –-health-status healthy
这应该以ELB将继续忽略EC2实例的方式覆盖运行状况,并且AWS Auto Scaling不会尝试替换该实例。这会有用还是有更好的解决方案?