如何从预置的 Aurora 迁移到 Aurora Serverless,或从 Aurora Serverless 迁移到预置的 Aurora?

2 分钟阅读
0

我想在预置的 Amazon Aurora 数据库实例和 Aurora Serverless 数据库实例之间进行迁移。

简短描述

要从预置实例迁移到无服务器实例或从无服务器实例迁移到预置实例,请使用以下方法之一:

  • 快照恢复
  • 逻辑备份和恢复
  • 全新的无服务器读取器(适用于 Amazon Aurora PostgreSQL 兼容版 13.6 及更高版本)

解决方法

快照恢复

1.    打开 Amazon Relational Database Service(Amazon RDS)控制台,然后从导航窗格中选择数据库

2.    选择要迁移到预置或无服务器的 Aurora 集群,然后选择操作

3.    选择拍摄快照。有关详细信息,请参阅创建数据库集群快照

4.    导航到 Amazon RDS 控制台的快照部分。

5.    选择操作,然后选择恢复快照。有关详细信息,请参阅从数据库集群快照恢复

6.    根据要执行的操作,选择预置无服务器
**注意:**Aurora Serverless 仅在特定引擎版本上可用。有关详细信息,请参阅 Aurora Serverless v1Aurora Serverless v2

7.    对于 Aurora Serverless v1: 在数据库实例设置中的容量类型下,选择无服务器。对于 Serverless v2: 在实例配置部分中的数据库实例类下,选择无服务器

8.    对于数据库集群标识符,输入已恢复集群的名称。

9.    指定任何其他设置。有关详细信息,请参阅 Aurora 数据库集群的设置

10.    选择恢复数据库集群

逻辑备份和恢复

创建新的数据库集群

1.    打开 Amazon RDS 控制台,然后从导航窗格中选择数据库

2.    选择创建数据库
**注意:**Aurora 并非在所有 AWS 区域都可用。有关 Aurora 可用区域的列表,请参阅区域可用性

3.    在引擎选项中,选择 Amazon Aurora

4.    在版本中选择以下选项之一:
兼容 MySQL 的 Amazon Aurora
-或者-
兼容 PostgreSQL 的 Amazon Aurora

5.    选择您的引擎版本
**注意:**Aurora Serverless 仅在特定引擎版本上可用。有关详细信息,请参阅 Aurora Serverless v1Aurora Serverless v2

6.    指定任何其他设置。有关详细信息,请参阅创建数据库集群

7.    选择创建数据库

创建逻辑备份和恢复

1.    连接到源数据库集群。如果您使用 PostgreSQL,请运行 pg_dump(在 PostgreSQL 网站)。如果您使用 MySQL,请运行 mysqldump(在 MySQL 网站上)。

2.    连接到新的数据库集群。如果您使用 PostgreSQL,请使用 pg_restore(在 PostgreSQL 网站上)恢复转储。如果您使用 MySQL,请使用 mysql 命令恢复转储(在 AWS in Plain English 网站上)。

在集群上创建新的无服务器读取器(Aurora Postgresql 版本 13.6 及更高版本)

以下步骤适用于兼容 Aurora PostgreSQL 的 13.6 及更高版本以及兼容 Aurora MySQL 的版本 8.0.mysql_aurora.3.02.2 及更高版本。

**重要事项:**在次要版本中,只有 Aurora Serverless 版本 2 支持在 Aurora MySQL 和 Aurora PostgreSQL 中创建和添加无服务器读取器实例。在通过 API 添加实例前,修改数据库集群,以支持 serverless-v2-scaling-configuration

1.    打开 Amazon RDS 控制台

2.    添加无服务器读取器。请务必选择 Serverless 作为实例配置。
**注意:**有关添加副本的详细信息,请参阅向数据库集群添加 Aurora 副本

3.    当无服务器实例可用作读取器时,强制进行失效转移。这会将读取器实例升级为写入者实例。

如何避免数据丢失

为避免两个集群之间的数据丢失,在新创建或还原的集群完成其工作流程后,停止源集群上的所有写入活动。在创建快照、mysqldumppg_dump 前,请停止所有写入活动。

当新的 Aurora 集群可用时,请将您的应用程序或写入操作定向到集群,这样您就不会丢失任何写入操作。

例如,有一个名为 example-cluster 的集群。将旧集群重命名为 example-cluster-old。然后,将新集群重命名为 example-cluster。这允许您的应用程序使用相同的集群终端节点连接到新集群。例如,对于写入器使用 example-cluster.cluster-...rds.amazonaws.com;对于读取器端点则使用 example-cluster.cluster-ro-...rds.amazonaws.com

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