使用Auto Scaling管理Amazon EC2中应用程序的代码更改的最佳方法

Adi*_*tya 18 scalability amazon-ec2 amazon-web-services autoscaling amazon-ami

我在AWS中使用Auto Scaling在Load balancer后面运行了多个实例.

现在,如果我必须将一些代码更改推送到这些实例以及由于自动扩展策略而可能启动的任何新实例,那么最好的方法是什么?

我所知道的是唯一的方法,来创建一个新的AMI与最新的代码,修改使用这个新的AMI,然后终止现有的情况下,自动缩放政策.但这可能涉及更长的停机时间,我不确定整个过程是否可以自动化.

任何指向这个方向的人都将受到高度赞赏.

Dav*_*vid 5

我更改代码的方法是拥有一个主服务器,我可以在该服务器上编辑代码。所有可扩展的从属服务器然后通过 cron 作业通过 ssh 进行 rsync,以使所有文件保持最新。所有服务器每 30 分钟 +- 几秒随机同步一次,以防止在同一秒访问它。(请注意,我将主服务器保留在负载均衡器之外,因此用户始终会向他们发送相同的代码。同样,当我决定发布代码更改时,我会从测试服务器到主服务器进行 rsync。

使用这种方法,您只需在启动时放置同步命令,而不必担心从属映像上的代码状态,因为它在启动后将是最新的。

编辑:我们现在已停止使用此方法,并开始使用新服务 AWS CodeDeploy,该服务正是为此目的而制作的:

http://aws.amazon.com/codedeploy/

希望这可以帮助。