如何在最短的停机时间内将 Amazon Aurora MySQL Serverless v1 集群迁移到 Amazon MySQL Serverless v2?

2 分钟阅读
0

我想在最短的停机时间内将 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 集群转换为预调配集群,请完成以下步骤:

  1. 如果您的 v1 集群有自定义参数组,请执行以下操作:
    开启二进制日志记录。
    binlog_format 参数设置为 MIXEDROW
  2. (可选)如果您的 v1 集群使用默认参数组,则创建自定义参数组并执行以下操作:
    开启二进制日志记录。
    binlog_format 参数设置为 MIXED
  3. 将您的自定义参数组与您的 Aurora MySQL Serverless v1 集群关联起来。
  4. 要将您的 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 集群,请完成以下步骤:

  1. 要确定支持 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
  2. 要将预调配集群升级到支持 Aurora Serverless v2 的版本,请创建蓝绿部署。请确保为绿色环境选择新版本。
    **注意:**蓝绿环境需要一些时间才能创建,但不会发生停机。升级发生在绿色环境中。

  3. 使用 v2 数据库实例类将 Aurora Serverless 读取器添加到绿色集群。

  4. 要将添加的实例转换为写入器实例,请选择绿色集群,然后选择 Actions > Failover(操作 > 失效转移)。

  5. (可选)如果您不想在集群中拥有预调配的数据库,请删除预调配的数据库。

  6. 要使用新的 Aurora Serverless v2 集群来测试绿色环境,请使用对应用程序可用的蓝色实例。

  7. 切换到绿色环境

  8. 删除蓝绿部署资源

相关信息

从 Aurora Serverless v1 集群升级到 Aurora Serverless v2

AWS 官方
AWS 官方已更新 2 个月前