【问题标题】:How to migrate from Heroku to Amazon Web Services (AWS)如何从 Heroku 迁移到 Amazon Web Services (AWS)
【发布时间】:2018-09-21 07:25:15
【问题描述】:

我有一个在 heroku 上运行的 rails 应用程序。我想知道如何从 Heroku 迁移到 AWS Elastic Beanstalk。

我使用 Heroku postgres,并且我有在工作 dynos 上运行的 cron 作业。

我在互联网上搜索,但大多数链接使用 docker,但我需要本地解决方案。


编辑: 我最好写一些东西给以后会读的人。

首先,我们在 elastic beanstalk 上设置环境变量。接下来,我们为 RDS 配置了 database.yml 文件。您可以关注this blog post 进行这些初始设置步骤。

sidekiq 是在这个过程中对我们施加最大压力的最困难的事情。

我们使用 Amazon ElastiCache 创建了一个 redis 实例。然后我们更改了 redis 和 sidekiq 配置设置。在此过程中,this blog post 在这方面对我们非常有用。

下一步是备份我们的数据库并恢复到 RDS。在这一步之后,我们配置了 ssl 和 dns 设置。

同时,如果您的项目中有 force_ssl 配置设置,则会导致您的项目在新打开的弹性 beanstalk 环境中失败。因为 elastic beanstalk 默认没有任何 ssl 定义。

【问题讨论】:

  • 如果您正在寻找一家可以帮助您轻松从 Heroku 迁移到 AWS 的公司 - 请查看 Qovery - 提供让 AWS 像 Heroku 一样简单且不受限制的产品。跨度>

标签: amazon-web-services heroku amazon-elastic-beanstalk


【解决方案1】:

你在使用 Heroku postgres 吗?拉一个备份。将您的备份还原到 RDS 实例(不是由 EBS 启动的实例)。如果需要,您可以使用 AWS 服务,例如 codebuild、codecommit 和管道。否则,打包您的 repo 并将其上传到 EBS。在 EBS 中设置您的环境变量,并按照 AWS 了解如何附加您的数据库。如果你需要一个工人,你需要就如何做做出一些决定。 EBS 现在有您可以使用的工作层,但您必须对您的应用程序进行一些更改。

您越能具体说明您的需求,我们就越能提供帮助。

AWS docs on setting up a rails app on ebs

【讨论】:

    【解决方案2】:

    Cron 在 EB 上可能有点棘手(尤其是与 Heroku 调度程序相比)。 This 应该会带你到那里。

    我还建议保留一份您习惯使用的常见 heroku 命令的 EB 翻译备忘单。例如,假设你已经完成了eb ssh:

    heroku run console 变为 cd /var/app/current && rails c

    heroku logs -t 变为 cd /var/app/current && tail -f log/*.log

    不断地不断。有点痛苦,但你有一个真正的 shell,所以它更适合你正常的开发环境调试习惯(比如,tail -f log/sidekiq.log,如果你只想看你的 sidekiq 日志)。

    【讨论】:

      猜你喜欢
      • 2017-09-14
      • 1970-01-01
      • 1970-01-01
      • 2017-03-25
      • 2018-10-18
      • 2021-11-12
      • 2016-03-01
      • 2011-07-07
      • 2016-02-19
      相关资源
      最近更新 更多