Elastic Beanstalk 滚动环境配置更新

滚动环境配置更新

配置更改要求替换实例时,Elastic Beanstalk 可以批量执行更新以避免在传播更改时停机。在滚动更新期间,容量只按单批次大小减少,而您可以配置这个大小。Elastic Beanstalk 停止一批实例,终止这些实例,然后启动一批具有新配置的实例。在新批次开始处理请求后,Elastic Beanstalk 将移至下一个批次。

滚动配置更新批次可以基于时间定期处理 (每个批次之间有延迟) 或根据运行状况来处理。对于基于时间的滚动更新,您可以配置 Elastic Beanstalk 在启动完一批实例后和移至下一个批次前所等待的时间。此暂停时间可让您的应用程序引导并开始处理请求。

不可变的环境更新

不可变环境更新是滚动更新的替代方法。不可变环境更新可确保安全高效地应用需要替换实例的配置更改。如果不可变环境更新失败,则回滚过程仅需要终止 Auto Scaling 组。另一方面,一次失败的滚动更新需要执行额外的滚动更新来回滚更改。

为了执行不可变环境更新,Elastic Beanstalk 在您环境的负载均衡器后面创建第二个临时 Auto Scaling 组以包含新实例。首先,Elastic Beanstalk 在新组中使用新配置启动单个实例。此实例与在之前配置中运行的原始 Auto Scaling 组中的所有实例一起,为流量提供服务。

第一个实例通过了运行状况检查后,Elastic Beanstalk 使用新配置启动额外的实例,这些实例与在原始 Auto Scaling 组中运行的实例数相匹配。当所有新实例均通过运行状况检查后,Elastic Beanstalk 会将这些实例传输到原始 Auto Scaling 组,并终止临时 Auto Scaling 组和旧实例。

原文地址:https://www.cnblogs.com/cloudrivers/p/11628131.html