恢复 Elastic Beanstalk RDS
Posted
技术标签:
【中文标题】恢复 Elastic Beanstalk RDS【英文标题】:Restoring an Elastic Beanstalk RDS 【发布时间】:2018-08-19 19:51:17 【问题描述】:重建弹性 beanstalk 环境时,EB 会自动重新创建新的关联 RDS 实例。
一旦关联,RDS 实例就无法与 EB 环境分离。
我有一个重建前 RDS 的快照。
您无法将 RDS 快照还原到现有 RDS 实例。
那么,我怎样才能在附加了所需快照的情况下重建环境?或者,我如何使用现有快照,或者如何将现有快照数据迁移到新数据库(我尝试使用创建模式导出数据,但缺少导入权限)。任何合适但理想的简单选项都可以。
【问题讨论】:
How to restore database in Elastic Beanstalk?的可能重复 【参考方案1】:如果您有 RDS 数据库的快照,则可以使用它创建新环境。为此,您需要指定DBSnapshotIdentifier
选项设置。
-
在项目的根目录中创建一个文件
.ebextensions/rds_builder.config
添加以下内容:
option_settings:
aws:rds:dbinstance:
DBSnapshotIdentifier: <snapshot ID here>
编辑:
您还可以使用当前环境的saved configuration template 创建新环境。这个保存的模板很可能包含aws:rds:dbinstance
中的信息(因为您已将当前环境与 RDS 相关联),因此您需要基本上修改此位以指向您的快照。这应该可行,并且可能是更好的方法。
【讨论】:
从现有环境“创建新环境”是否微不足道?这与重建有何不同?您的答案看起来像是我会参考的内容,但由于我缺乏上下文,因此不会立即有用。我选择了***.com/a/19483247/4682556 有了应用程序代码(也包含上面提到的.ebextension
来指定快照ID),我就新建一个环境。您还可以使用已保存的当前配置模板创建新环境。这个保存的模板很可能包含aws:rds:dbinstance
中的信息(因为您已将当前环境与 RDS 相关联),因此您基本上需要修改此位以指向您的快照。这应该可行,并且可能是更好的方法,但我从未尝试过。
看看这个:Using Elastic Beanstalk Saved Configurations
有没有办法在没有代码项目的情况下做到这一点?我只能通过 aws web 控制台管理它...以上是关于恢复 Elastic Beanstalk RDS的主要内容,如果未能解决你的问题,请参考以下文章
没有 Elastic Beanstalk 的 Django EC2
Amazon Elastic BeanStalk 错误:无法创建 AWS Elastic Beanstalk 应用程序版本
在 AWS Elastic Beanstalk 和 EKS 上部署了一个 laravel 应用程序 相同的数据库 RDS 为啥在 Elastic Beanstalk 中获得快速响应