从 AWS Aurora Serverless v1 升级到 v2 失败

Upgrading from AWS Aurora Serverless v1 to v2 fails

因此,随着 Aurora Serverless v2 的推出,我们希望从 Postgres Serverless v1 升级。

描述的步骤基本上是拍摄快照,创建一个新的预配置 Aurora 集群(不是无服务器),然后将预配置集群升级到 Postgres 13.6,然后将新的 13.6 集群克隆到无服务器 v2。

但是,我卡在了最后一部分,因为在尝试克隆它时出现“无服务器(不兼容的次要版本)”并且选择“无服务器”的选项显示为灰色...

我错过了什么?

好的,所以这里文档中的信息很不清楚:https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.upgrade.html#aurora-serverless-v2.upgrade-from-serverless-v1-procedure

您不应该尝试将集群从 Provisioned 迁移到 Serverless,选项是将 Provisioned 集群中的 DATABASE(Writer 实例)转换为 Serverless V2!

因此,以下步骤可能会为其他人节省几次尝试(和几个小时):

  1. 为现有的 Aurora Serverless 集群概览页面创建快照(大约需要 5 分钟(取决于数据库大小))
  2. 打开快照并选择将快照恢复到最高可用的 PROVISIONED Aurora 集群(对我来说是 Postgres 10.20),除了“已配置”和版本(这将需要几分钟,大约15 分钟)
  3. 不时使用“刷新”按钮刷新(因为 AWS 控制台的“刷新”不是很可靠)以查看集群何时准备就绪(数据库不需要就绪,只需要集群就绪! )
  4. 集群“可用”后,打开集群并单击“修改”
  5. 将数据库引擎版本选择为 13.6(这是唯一适用于 Aurora Serverless v2 的版本),然后向下滚动并单击“继续”
  6. Select“立即申请”并点击“修改集群”
  7. 回到集群概览页面,再次等待集群升级(这需要几分钟,大约20分钟)
  8. 集群和数据库可用后,select 数据库并选择“修改”
  9. Select Serverless v2 然后“继续”
  10. 选择立即申请并修改数据库
  11. 等待它完全修改,您将完成新的 Serverless V2!

另一件需要注意的事情是,对于 Aurora V2,我们显然会附加一个集群和一个数据库:

我假设这是因为使用无服务器 V2(非常酷!)您可以附加额外的只读副本数据库,这将“off-load”您的编写器实例使其更快...