【问题标题】:AWS Elastic Beanstalk Backup & RecoveryAWS Elastic Beanstalk 备份和恢复
【发布时间】:2014-07-25 18:37:31
【问题描述】:

我是 AWS EB 的新手,我正在尝试弄清楚如何备份和恢复整个 EB 环境。我基于 EB 生成的 EC2 实例创建了一个 AMI,并拍摄了同样由 EB 创建的 RDS 的快照。

我的问题是,我该如何恢复它,假设这是正确的备份方法。另外,我是手动做的,不应该在 EB 中有一种自动化的方法吗?顺便说一句,当我创建 AMI 时,它破坏了源,而 EB 只是创建了一个新的 EC2 实例,而我没有进行所有更改。

如何保存和恢复对我的应用程序影响文件系统和数据库的配置更改?

【问题讨论】:

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


    【解决方案1】:

    很遗憾,Amazon AWS Elastic Beanstalk (EB) 不支持还原包含实时数据的数据库,前提是这些数据库是使用 EB 创建的。如果您重新加载(AKA AWS “部署”)EB 保存的配置,您将获得一个空白数据库!

    我打电话给他们,他们告诉我单独创建 RDS 数据库,并在您知道它的名称后更新应用程序代码以连接到数据库。如果您恢复 RDS 数据库,它也会有一个新名称!所以你必须再次更新你的代码才能连接到它。

    另外,如果你的代码和环境都很好,但是你想恢复你的数据库,那么它就会有一个新的名字,你需要更改你的代码。

    如何轻松更改代码并自动部署它是另一个我还没有答案的问题。

    因此,基本上 Elastic Beanstalk 中的 RDS 数据库配置的用途非常有限,可能是编码、调试和测试,但不是实时生产用途。 :(

    这是截至 2015 年 1 月的数据。

    【讨论】:

      【解决方案2】:

      首先进入您的 EB 环境并保存当前配置。您应该转到由 EB 创建的正在运行的 EC2 实例并制作一个 Image。然后通过转到 EB 配置并设置它来使用新的 AMI ID。它将重建环境,拆除所有正在运行的实例并创建新实例。

      对于您的 RDS 实例,您应该使用新的实例名称进行备份和恢复,因为文档说如果环境被破坏,您将丢失它。您可能应该像 RDS 一样手动设置环境变量,并在 RDS 和 EC2 之间设置适当的安全组。

      我认为可行的一个选项是重命名 RDS 实例名称,因为环境似乎已损坏,然后销毁环境并创建一个带有附加 RDS 实例的新实例,然后销毁该实例并将旧实例重命名为新实例一个可能有用的名字。

      在进行任何这些想法之前,一如既往地进行适当的备份。

      【讨论】:

        猜你喜欢
        • 2021-05-30
        • 2018-08-19
        • 2017-01-17
        • 2015-04-17
        • 2015-10-29
        • 2013-07-05
        • 2017-11-08
        • 2017-10-01
        • 2013-05-29
        相关资源
        最近更新 更多