AWS Elastic Beanstalk 具有一项功能,您可以将 RDS 数据库耦合到环境并从快照创建一个数据库。最初,我的问题是 AWS 不允许我选择数据库快照,因为数据库引擎 (postgres 10.16) 已过时。
因此,我导航到一个单独但相似的 RDS 数据库,将数据库引擎升级到 14.4,并创建了该数据库的快照。
现在,当我从 beanstalk 中的快照创建数据库时,新创建的快照不会出现在我的快照列表中。我正在使用在线 AWS 控制台来执行这些操作。
如何让我的环境使用根据升级后的引擎快照构建的数据库?
我尝试使用AWS在线控制台并遇到了上述行为。然后我尝试从命令行使用
eb deploy
,修改 .ebextension
文件。你可以在这里看到我的相关设置:
option_settings:
aws:rds:dbinstance:
DBInstanceClass: db.t3.medium
DBSnapshotIdentifier: <snapshot-name>
但是,这并没有影响我的数据库。我还确保
DBInstanceClass
与创建快照的 RDS 数据库相同,并添加了 DBAllocatedStorage
键,但行为没有变化。
如果我可以提供更多信息,请告诉我。
更新:我转到旧的、在快照菜单快照中可见的快照,并刚刚升级了 RDS 中的引擎版本。然后我回到弹性豆茎,再也看不到那个快照了,这非常令人沮丧。
所以我仍然不知道为什么在 Web 控制台上我的快照没有出现,或者为什么在 CLI 上修改
.ebextensions
对于我创建的未启用数据库的实例不起作用。
但是,如果您按照我的问题中所述使用
DBSnapshotIdentifier
中的 .ebextensions
从 CLI 创建新环境,您就可以使用您想要的任何快照,即使它具有旧引擎。
命令
eb create <env_name> --database.instance db.t3.medium --database.username postgres --database.password <pass>
添加了我的其他非数据库标志,对我有用。