replaceAWS Elastic BeanStalk上的特定实例?

我们在运行2个实例的Elastic BeanStalk上使用多个Docker环境,我们认为其中一个实例存在一些问题。 什么是replace该特定实例的正确方法?

我正在考虑以下之一:

  1. 只需通过EC2控制台终止该实例,并让Elastic BeanStalk旋转一个新的。
  2. 将Elastic BeanStalk中的最小实例增加到3,并在第三个实例启动后将其减less到2,并终止有问题的实例。

目标是尽量减less停机时间。

如果您的目标是最大限度地减less停机时间,那么build议使用第二个选项 – 即将实例的最小数目增加到3,等待它是健康的,然后终止有问题的实例。 在将其减less到2之前,终止有问题的实例。 这是因为默认情况下自动缩放将取决于EC2健康状况,即使您的应用程序不健康,您的EC2实例也可能是健康的。 你可能最终失去一个健康的实例。 因此,将最小大小增加到3,终止有问题的实例,然后缩小到2。

另外,如果您还没有使用它,我build议您使用由Elastic Beanstalk在2015年8月发布的增强型健康报告function。有关增强型健康报告的详细信息,请参阅此处 。 通过增强的健康报告,您可以获得详细的健康状况和每个实例。 您可以获得运行状况,颜色,系统指标(CPU,内存),应用程序延迟,错误率,故障率和一系列原因,为您提供环境和实例运行状况的详细健康描述。 这可以是附加信息,以确定您新启动的实例是否健康。 在这里阅读这个function的快速介绍。

如果您打算将环境更新为增强的运行状况报告,请记住环境中的实例将被replace,因此如果您对停机时间敏感,则最好按比例放大1个实例,然后在切换健康之前打开滚动更新系统types为“增强”。 在这里阅读更多关于滚动更新。