更新或节点故障时的弹性beanstalk集群行为

时间:2015-10-09 07:09:48

标签: amazon-web-services elastic-beanstalk

我想知道是否有可能使用弹性豆茎做以下事情。

  1. 当节点发生故障时,自动添加一个实例,最多可达到最大定义的实例数。我有健康检查,报告节点是不健康的,弹性beanstalk将其从ELB中删除但不添加另一个实例以满足最小实例计数。我希望它会自动执行此操作,还是有配置?
  2. 执行滚动更新时,Automaticall添加一个实例,最多可达到最大定义的实例数。执行滚动更新时,节点在一段时间内不健康,因此不满足最小健康实例计数。我希望弹性beanstalk总是尊重最小的健康实例数。除了在进行更新之前更改最小计数之外,还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

对于(1)Elastic Beanstalk默认情况下将AutoScaling配置为使用EC2运行状况检查。如果您愿意,可以将自动缩放组配置为使用ELB运行状况检查。有关此配置的文档,请访问:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environmentconfig-autoscaling-healthchecktype.html

您基本上使用ebextension来修改环境中AutoScaling资源的运行状况检查类型。

尽管请注意文档中的警告:

  

如果Elastic Load Balancing运行状况检查在实例启动后很快失败,则启用此选项可能会导致您的环境不断终止并替换实例。如果发生这种情况,请在Auto Scaling管理控制台中将运行状况检查类型更改回EC2,或者反转配置更改并重新部署环境。

您可能需要使用ELB运行状况检查以确保其足够稳定以防止高速循环实例。

对于(2)当前可用的唯一选项是,如果要在更新期间保持相同的实例计数,请手动更新最小实例计数。否则,在滚动更新期间至少可以关闭一个实例。