我想在最短的停机时间内将 Amazon Aurora MySQL Serverless v1(Amazon Aurora MySQL Serverless 版本 1)集群迁移到 Amazon MySQL Serverless v2(Amazon Aurora MySQL Serverless 版本 2)。
解决方案
**注意:**如果在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误消息,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
要将 Aurora MySQL Serverless v1 集群迁移到 Aurora MySQLServerless v2 集群,请完成以下步骤:
将 Aurora MySQL Serverless v1 集群转换为预调配集群
要将您的 Aurora MySQLServerless v1 集群转换为预调配集群,请完成以下步骤:
- 如果您的 v1 集群有自定义参数组,请执行以下操作:
开启二进制日志记录。
将 binlog_format 参数设置为 MIXED 或 ROW。
- (可选)如果您的 v1 集群使用默认参数组,则创建自定义参数组并执行以下操作:
开启二进制日志记录。
将 binlog_format 参数设置为 MIXED。
- 将您的自定义参数组与您的 Aurora MySQL Serverless v1 集群关联起来。
- 要将您的 v1 集群转换为预调配集群,请运行 modify-db-cluster 命令:
**注意:**以下命令需要在修改期间停机。将 example-cluster-name 替换为您的集群名称。
aws rds modify-db-cluster \
--db-cluster-identifier example-cluster-name \
--engine-mode provisioned \
--allow-engine-mode-change \
--db-cluster-instance-class db.r5.xlarge \
----apply-immediately
将预调配集群转换为 Aurora MySQL Serverless v2 集群
要将预调配集群转换为 Aurora MySQL Serverless v2 集群,请完成以下步骤:
-
要确定支持 Aurora Serverless v2 的 Aurora MySQL 版本,请运行 describe-orderable-db-instance-options 命令:
**注意:**将 example-region 替换为您的 AWS Region。
aws rds describe-orderable-db-instance-options --engine aurora-mysql --db-instance-class db.serverless \
--region example-region --query 'OrderableDBInstanceOptions[].[EngineVersion]'--output text
-
要将预调配集群升级到支持 Aurora Serverless v2 的版本,请创建蓝绿部署。请确保为绿色环境选择新版本。
**注意:**蓝绿环境需要一些时间才能创建,但不会发生停机。升级发生在绿色环境中。
-
使用 v2 数据库实例类将 Aurora Serverless 读取器添加到绿色集群。
-
要将添加的实例转换为写入器实例,请选择绿色集群,然后选择 Actions > Failover(操作 > 失效转移)。
-
(可选)如果您不想在集群中拥有预调配的数据库,请删除预调配的数据库。
-
要使用新的 Aurora Serverless v2 集群来测试绿色环境,请使用对应用程序可用的蓝色实例。
-
切换到绿色环境。
-
删除蓝绿部署资源。
相关信息
从 Aurora Serverless v1 集群升级到 Aurora Serverless v2