1

我在我的 Amazon EC2 实例上有一个生产 Rails 应用程序,并设置了负载均衡器和自动扩展(我手动完成了这一切,没有使用 Elastic Beanstalk。我还使用了 Dokku 来简化部署。)。不过我很困惑。当需要并使用 Auto-scaling 构建新实例时,似乎我需要构建一个 AMI,然后将新实例(通过 auto-scaling 构建)设置为使用此 AMI。

但必须有更简单的方法。我错过了什么吗?使用 Heroku,您只需添加一个测功机和 BAM,就完成了。每次部署到生产环境时,我真的需要复制我的 AMI 并将其设置为我的自动缩放映像吗?是否有我应该使用的命令、工作流或部署后脚本?

4

2 回答 2

1

您需要指定一个包含生产节点基本设置的 AMI。通常的最佳实践是使用用户数据脚本配置自动缩放。因此,当新的 AMI 在自动缩放期间启动时,它会读取用户数据(云初始化/新贵)。用户数据脚本可以从 git 或任何源代码控制中提取代码并运行必要的预部署命令。您不能在每次部署代码时都将新的 AMI 配置复制到您的 Auto Scaling 配置中。

我希望拥有一个主 AMI 和某种自动化(如用户数据脚本)是有意义的,它在启动生产节点然后附加到 ELB 时立即运行特定命令。

于 2015-02-11T07:24:00.693 回答
0

这里有一篇博客文章,介绍了使用 Opsworks 进行基于 dokku 的部署。其他 Dokku 维护者之一 (Michael Hobbs) 在生产中使用此设置。

注意:我是 Dokku 维护者之一,josegonzalez

于 2015-02-19T21:00:54.330 回答