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 组和旧实例。

猜你喜欢

转载自www.cnblogs.com/cloudrivers/p/11628131.html