docker 替换AWS Elastic BeanStalk上的特定示例?

ivqmmu1c  于 2023-01-20  发布在  Docker
关注(0)|答案(2)|浏览(150)

我们正在Elastic BeanStalk上使用多个Docker环境,运行2个示例,我们认为其中一个示例存在一些问题。替换该特定示例的正确方法是什么?
我想到的是以下其中一种:
1.只需通过EC2控制台终止该示例,并让Elastic BeanStalk启动一个新示例。
1.将Elastic BeanStalk中的最小示例数增加到3,在第三个示例启动后将其减少回2,并终止有问题的示例。
目标是最大限度地减少停机时间。

envsm3lx

envsm3lx1#

如果您的目标是最大限度地减少停机时间,则建议使用第二个选项-即,将最小示例数增加到3,等待其恢复正常,然后终止有问题的示例。在将其减少回2之前,终止有问题的示例。这是因为自动扩展将默认取决于EC2的健康状况,即使您的应用程序将处于不健康状态,你的EC2示例可能是健康的。2你可能会失去一个健康的示例。3所以把最小值增加到3,终止有问题的示例,然后再缩减到2。
此外,如果您还没有使用它,我建议您使用Elastic Beanstalk于2015年8月推出的增强型运行状况报告功能。有关增强型运行状况报告的详细信息,请访问here。通过增强型运行状况报告,您可以获得环境和每个示例的详细运行状况。您可以获得运行状况、颜色、系统指标(CPU、内存)、应用程序延迟、错误率、失败率和原因列表,为您提供环境和示例运行状况的详细描述。这些信息可以帮助您确定新启动的示例是否运行状况良好。阅读此功能here的快速介绍。
如果您计划将您的环境更新为增强型运行状况报告,请记住您环境中的示例将被替换,因此如果您对停机时间很敏感,则最好向上扩展1个示例,然后在将运行状况系统类型切换为“增强型”之前打开滚动更新。了解有关滚动更新here的详细信息。

eeq64g8w

eeq64g8w2#

一个故障保护选项是使用“托管更新”配置,让EB自动替换所有示例而不停机。打开您的环境配置,选择托管更新并选中Instance Replacement。然后选择更新时间到下一个整小时(确保考虑UTC/时区差异)
之后,AWS将自动安排所有示例的替换,就像系统更新可用一样。
专业
你不能做错任何事,AWS保证零停机时间。

对照品

将替换您的所有示例,而不仅仅是一个。

相关问题