2016-11-08 104 views
0

我正在使用cloudformation模板在ELB后面创建4个EC2实例。这些实例将与启动配置和自动缩放组相关联。 我们每2个月更新AMIs。现在,如果我必须在没有停机时间的情况下更新AMI,那么最好的策略是什么。我正在使用jenkins进行编排。自动化EC2中的AMI更新

我心目中的计划是这样 模板#1-创建ASG和启动配置 tempate#2创建/更新ELB与创建

首先执行 1.创建cloudformation堆,其包括新的实例启动配置和Autoscaling组。 这将启动4个EC2实例并引导应用程序 2.创建第二个模板,该模板将创建ELB并将创建的4个实例绑定到ELB。它还会将ELB绑定到ASG

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

  1. 服务器启动后,第二个模板将使用新实例更新ELB,并使用新ELB更新新的自动缩放组。

  2. 删除旧堆栈。

有什么更好的做到这一点?

回答