2

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

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

但是,在第 6 步:在 DB Instance Identifier 文本框中键入恢复的数据库实例的名称。- 提示强制为实例指定一个新名称 - 从而创建一个新实例。

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

请帮忙!!!

4

2 回答 2

10

在互联网上倾注了几天后-我尝试了一些可行的方法!

假设损坏的实例称为“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 应用服务器,瞧:数据已恢复。

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

山姆

于 2013-10-20T21:45:10.063 回答
2

@萨曼塔

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

于 2013-11-07T18:52:37.043 回答