我在我的Amazon EC2实例上有一个生产Rails应用程序,并设置了一个负载均衡器和自动扩展(我手动完成所有操作,而不是使用Elastic Beanstalk。我还使用Dokku来简化部署。)。我很困惑。当需要新实例并使用自动缩放构建时,似乎我需要构建AMI,然后设置新实例(通过自动缩放构建)以使用此AMI。
但必须有一个更简单的方法。我错过了什么吗?使用Heroku,你只需添加一个dyno和BAM,你就完成了。我是否真的需要复制我的AMI并将其设置为每次部署到生产时的自动缩放图像?是否有我应该使用的命令,工作流或部署后脚本?
答案 0 :(得分:0)
您需要指定一个AMI,其中包含生产节点的基本设置。通常最好的做法是使用用户数据脚本配置自动缩放。因此,当新的AMI在自动扩展期间启动时,它会读取用户数据(cloud init / upstart)。用户数据脚本可以从git或源代码控制中提取代码并运行必要的预部署命令。每次部署代码时,都无法将新的AMI配置复制到自动扩展配置。
我希望拥有一个主AMI以及某种类型的自动化是有意义的,例如用户数据脚本在启动生产节点后立即运行特定命令然后连接到ELB。
答案 1 :(得分:0)
有一篇博客文章介绍了使用Opsworks here进行基于dokku的部署。其他Dokku维护者之一(Michael Hobbs)在生产中使用此设置。
注意:我是Dokku维护者之一,josegonzalez。