我在生产模式下运行了几个基于ubuntu的ec2实例。我的问题是,当流量增加时,我手动启动实例更新github中的代码。
现在我必须配置自动缩放,这样每当API启动新实例时,它将启动最新的AMI并附加到负载均衡器,否则我必须手动提取代码。
这里说得更清楚我正计划做什么。
请帮助我
答案 0 :(得分:3)
不是重建AMI并定期更改它,而是构建一个AMI,它会在启动时自动从代码存储库中提取,并可能在此之后定期进行。这假设你的AMI的唯一区别就是代码。
例如,如果您使用SVN,则可以使用标记/ latest标记最新的生产版本,并始终从该路径中拉出。现在你有一个AMI,当它启动时总是有最新的代码。您甚至可以每隔5分钟运行一次cron作业,以查看已签出的标记和修订版本与您的SVN服务器报告的最新版本。如果这种情况发生变化,它会自行消失,并且自动缩放会启动替换;或者只是进行一次svn更新并获取最新的更改并继续进行。
有人担心构建会导致您的实例无法变得健康,但您应该能够在您的单元和集成测试中捕获它。
怎么做?许多选项,但使用您的操作系统启动脚本可能是最好的。有很多方法可以自动访问代码库。我确信还有其他StackOverflow问题。