跳至内容

如何将使用 Aurora Serverless v1 的 Aurora MySQL 兼容集群迁移到 Aurora Serverless v2,同时最大限度地减少停机时间?

1 分钟阅读
0

我想将使用 Aurora Serverless v1 的 Amazon Aurora MySQL 兼容版集群迁移到 Aurora Serverless v2,同时最大限度地减少停机时间。

解决方案

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

将您的 Aurora MySQL 集群转换为预调配集群

完成以下步骤:

  1. 如果您的 Aurora MySQL 集群有自定义参数组,请先开启二进制日志记录,然后将 binlog_format 参数设置为 MIXEDROW
  2. (可选)如果您的 Aurora MySQL 集群使用默认参数组,请先创建自定义参数组并开启二进制日志记录。将 binlog_format 参数设置为 MIXED
  3. 将您的自定义参数组与您的 Aurora MySQL 集群进行关联
  4. 要将您的 Aurora MySQL Serverless v1 集群转换为预调配集群,请运行 modify-db-cluster 命令:
    **注意:**以下命令需要在修改期间停机。
    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
    **注意:**将 example-cluster-name 替换为您的集群名称。

将预调配集群转换为使用 Aurora Serverless v2

完成以下步骤:

  1. 要确定支持 Aurora Serverless v2 的 Aurora MySQL 版本,请运行 describe-orderable-db-instance-options 命令:

    aws rds describe-orderable-db-instance-options \
    --engine aurora-mysql \
    --db-instance-class db.serverless \
    --region example-region \
    --query 'OrderableDBInstanceOptions[].[EngineVersion]' \
    --output text

    **注意:**将 example-region 替换为您的 AWS 区域。

  2. 要将预调配集群升级到支持 Aurora Serverless v2 的版本并最大限度地减少停机时间,请创建蓝绿部署。请确保为绿色环境选择新版本。
    **注意:**蓝绿环境需要一些时间才能创建,但不会发生停机。升级发生在绿色环境中。

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

  4. 要将添加的实例转换为写入器实例,请选择绿色集群。

  5. 选择 Actions(操作),然后选择 Failover(失效转移)。

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

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

  8. 切换到绿色环境

  9. 删除蓝绿部署资源

相关信息

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

AWS 官方已更新 1 年前