【问题标题】:All data lost when pushing new version to AWS using elastic beanstalk使用弹性 beantalk 将新版本推送到 AWS 时所有数据丢失
【发布时间】:2013-10-04 23:32:17
【问题描述】:

在使用弹性 beanstalk 将我的 Rails 应用程序部署到 AWS 时,我遇到了一个非常烦人的问题。每次我对生产代码进行一些更改并执行“git aws.push”时,我的 RDS 实例中的所有先前数据都会丢失。我尝试了很多东西,比如从快照创建数据库,但它似乎不起作用......有经验的人可以给我一些提示吗?那将不胜感激!!!

【问题讨论】:

  • .ebextensions 下是否有一个名为 .config 的文件?您的文件似乎正在调用 rake 任务来重新加载数据库实例。我之前也遇到过同样的问题 - 在这里查看如何确保从快照中恢复数据库 link

标签: ruby-on-rails-3 amazon-web-services web-deployment amazon-elastic-beanstalk


【解决方案1】:

如果您的 Elastic Beanstalk 应用程序未使用现有 RDS 数据库,则可能是您的关联 RDS 数据库是使用默认删除策略“删除”创建的。

在 Elastic Beanstalk RDS DB 创建页面上有一个注释:

如果您终止环境,您的 RDS 数据库实例将被删除。 创建快照以保存数据。

“创建快照”是删除策略的另一个选项。

由于 Elastic Beanstalk 环境在每次部署时都会终止,因此您的 RDS 数据库数据可能会在每次 git push 时丢失。

【讨论】:

  • FWIW - git aws.push 不会终止您的数据库/环境。它只是推送新代码并部署它。 eb stop 会终止您的环境,并且可能会丢失数据。
猜你喜欢
  • 2014-01-26
  • 2016-11-29
  • 2013-02-11
  • 2021-02-24
  • 1970-01-01
  • 1970-01-01
  • 2020-12-16
  • 2021-04-07
  • 2017-12-05
相关资源
最近更新 更多