在EC2中自动化AMI更新



我使用cloudformation模板在ELB后面创建4个EC2实例。这些实例将与启动配置和自动伸缩组相关联。我们每两个月更新一次ami。现在,如果我必须在不停机的情况下更新ami,最好的策略是什么呢?我正在使用jenkins进行编排。

我脑子里的计划是这样的模板#1-创建ASG和Launch配置tempate# 2创建/更新ELB,创建新的实例

第一次执行1. 创建由启动配置和自动缩放组组成的cloudformation堆栈。这将启动4个EC2实例并引导应用程序2. 创建第二个模板,该模板将创建ELB并将创建的4个实例绑定到ELB。它还将ELB绑定到ASG

AMI必须更新时1. 执行将创建新(ASG)的第一个模板。思路是创建新ASG而不更新ASG,因为ELB必须继续向旧ASG发送流量,直到所有实例都启动并运行。

  • 一旦服务器启动,第二个模板将使用新的实例更新ELB,并使用新的ELB更新新的自动伸缩组。

  • 删除旧栈

  • 还有什么更好的方法来实现这一点吗?

    Cloud formation本机支持此功能。请查看更新策略属性文档。

    最新更新