【问题标题】:How to create a Vagrantfile that matches Elastic Beanstalk?如何创建与 Elastic Beanstalk 匹配的 Vagrantfile?
【发布时间】:2014-01-11 10:32:02
【问题描述】:

我们正在组建一个 PHP 站点,计划部署到 Elastic Beanstalk,我想创建一个虚拟化开发环境来匹配生产。不过,我有几个问题。

所以看起来我可以使用vagrant-aws 并为其提供一个自定义 AMI - 大概是由 Beanstalk 创建的。不过,这真的会奏效吗?似乎它使用 rsync 来复制任何新文件。在我等待同步时,这会减慢开发速度吗?

更重要的是,如果您想进行任何开发,这似乎依赖于网络连接。是否可以将其离线,以便我可以在没有连接的情况下进行开发(例如在飞机上、公共汽车上等)?

作为替代方案,是否有人将 Vagrantfile 与 Elastic Beanstalk 的包和设置相匹配?我在搜索中找不到任何东西,但也许我找错了地方?

最后,对于进行这种开发测试有什么建议吗?我是否以正确的方式考虑这一点,还是有更好的方法来做到这一点?

【问题讨论】:

  • 你确定这个插件是用来开发的吗?
  • 我不确定,不。但如果不是,那么如何在 Elastic Beanstalk 上实现开发环境和生产环境之间的平衡?
  • 让我印象深刻的是它使用 rsync 来上传文件。在生产服务器上始终拥有所有本地文件对我来说毫无意义。也许它更适用于进行测试?
  • 我对此进行了实验,但我认为它不会奏效。默认情况下,Elastic Beanstalk 在预置和部署时在后台执行的任何操作都不在 AMI 中。基本上,AMI 只是 Amazon Linux 的一个空版本。我认为下一个最佳步骤是尝试将 Elastic Beanstalk 的配置与常规 VM 匹配。我正在考虑一个 CentOS 映像来匹配 Amazon Linux(它是某种形式的 RHEL)。
  • AFAIK 他们在 EBS 中使用 chef。您可以在该机器的厨师日志中找到更多信息

标签: php amazon-web-services vagrant amazon-elastic-beanstalk


【解决方案1】:

我想说最干净的方法是使用像 Packer 这样的工具来为 EC2 和 Vagrant 创建一个映像。这样您就可以控制您正在使用的图像,并且您知道它对于 EC2 和 Vagrant 都是一样的。

Elastic Beanstalk can be handed a custom AMI 如果您的开发人员下载了 vagrant box,他们可以在断开连接时工作。

这不是最简单的选择,因为您必须自己配置映像上的所有包,但这是使您的开发箱和生产箱保持同步的好方法。

【讨论】:

    猜你喜欢
    • 2014-07-31
    • 2012-01-02
    • 2021-04-06
    • 2021-08-15
    • 2016-12-18
    • 2015-03-14
    • 2016-04-07
    • 2014-07-21
    • 2012-11-25
    相关资源
    最近更新 更多