如何在Elastic Beanstalk中恢复数据库?

时间:2013-10-17 13:54:44

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

我在Amazon Elastic Beanstalk上运行Ruby 1.9.3和Rails 3.2.8。在我的数据方面遇到了几个问题后,我做了一个rake db:reload

现在我正在尝试获取我已经在数据库预先重新加载中创建的数据。我已按照亚马逊文档中的说明进行操作。

但是,在步骤6:在“数据库实例标识符”文本框中键入已还原的数据库实例的名称。 - 提示强制为实例提供新名称 - 从而创建新实例。

这一切都很好,除了我无法更改我使用Elastic Beanstalk的数据库实例,所以它对我来说无用。除非我遗漏了什么。

请帮助!!!

2 个答案:

答案 0 :(得分:7)

经过几天的互联网倾倒后,我尝试了一些有效的方法!

假设已损坏的实例称为“badinstance”。它有一个名为:badinstance.c5taqjjaja1d.us-west-2.rds.amazonaws.com:3306的端点

将数据库恢复到某个时间点之后,RDS将创建一个新实例,假设您将其称为“newinstance”。

您的Elastic Beanstalk仍将指向badinstance.c5taqjjaja1d.us-west-2.rds.amazonaws.com:3306 首先删除“badinstance” - 我知道可怕 - 在实际点击“删除”之前我做了多次备份。 然后单击“newinstance”并选择“修改”。您将能够将实例标识符更改为“badinstance”。此时,请确保数据库实例上的安全组与您拥有的Elastic Beanstalk组相匹配。

更改名称花了很长时间(我在下午3点左右发出请求,并在第二天早上3点50分左右看到它。)

我重新启动了Elastic Beanstalk应用服务器并且瞧:数据已经恢复。

希望这对未来的人有所帮助。

萨姆

答案 1 :(得分:1)

@Samanta

默认情况下,在下一个维护窗口定义中应用修改数据库实例,您可以在修改屏幕中选中“立即应用”以立即应用更改。