如何使用 AWS DMS 迁移到 Amazon RDS 或 Amazon Aurora 数据库实例?

2 分钟阅读
0

我想将我的数据库迁移到 Amazon Relational Database Service (Amazon RDS) 或 Amazon Aurora。我怎样才能在最短的停机时间内做到这一点?

简短描述

**注意:**如果您要执行同构迁移,请尽可能使用引擎的本机工具(如 MySQL 转储或 MySQL 复制)。

要使用 AWS DMS 迁移到 Amazon RDS 数据库实例,请执行以下操作:

  • 创建复制实例
  • 创建目标端点和源端点
  • 刷新源端点架构
  • 创建迁移任务
  • 监控您的迁移任务

您可以将这些步骤用于所有 Amazon RDS 和 Amazon Aurora 引擎类型,包括 Amazon RDS for Oracle 和 Amazon Aurora for MySQL 数据库实例。

解决方法

**注意:**只有在迁移表数据之前必要时,AWS DMS 才会在目标上创建带有主键的表。要生成完整的目标架构,请使用 AWS Schema Conversion Tool (AWS SCT)。有关详细信息,请参阅转换架构

(可选)使用 Amazon CloudWatch 开启日志记录

Amazon CloudWatch 日志可以在迁移时提醒您注意潜在的问题。有关详细信息,请参阅使用 Amazon CloudWatch 监控复制任务

创建复制实例

  1. 打开 AWS DMS 控制台,然后从导航窗格中选择 Replication Instances(复制实例)。
  2. 选择 Create replication instance(创建复制实例)。
  3. 输入您的复制实例名称、描述、实例类、Amazon Virtual Private Cloud (Amazon VPC) 和多可用区首选项。
    **注意:**选择足以满足迁移工作负载的实例类。如果该实例不足以满足您的工作负载,您可以稍后修改复制实例
  4. Advanced(高级)部分中,选择您的 VPC 安全组,或选择默认选项。
  5. 选择 Create replication instance(创建复制实例)。

创建目标端点和源端点

  1. 打开 AWS DMS 控制台,然后从导航窗格中选择 Endpoints(端点)。
  2. 选择 Create endpoint(创建端点)以创建源数据库和目标数据库。
  3. 对于 Endpoint type(端点类型),选择 Source(源)。
  4. 输入端点的引擎特定信息。
  5. 选择 Run Test(运行测试)。
  6. 测试完成后,选择 Save(保存)。
  7. 重复步骤 3-6,但对于 Endpoint type(端点类型),选择 Target(目标)。
    注意: 对目标都完成此步骤。

刷新源端点架构<b></b>

  1. 打开 AWS DMS 控制台,然后从导航窗格中选择 Endpoints(端点)。
  2. 选择源端点,然后选择 Refresh schemas(刷新架构)。
  3. 选择 Refresh schemas(刷新架构)。
    **注意:**您必须刷新源,以便在创建 AWS DMS 任务时源架构显示在表映射中。

创建迁移任务

  1. 打开 AWS DMS 控制台,然后从导航窗格中选择 Database migration tasks(数据库迁移任务)。
  2. 选择 Create task(创建任务)。
  3. 指定 Task identifier(任务标识符)、Replication instance(复制实例)、Source database endpoint(源数据库端点)、Target database endpoint(目标数据库端点)和 Migration type(迁移类型)。选择以下迁移类型之一:
    仅迁移现有数据 - 使用此迁移类型进行一次性迁移。
    迁移现有数据并复制正在进行的更改 - 使用此迁移类型可在最短的停机时间内将大型数据库迁移到 AWS 云。
    迁移正在进行的复制更改 - 当您已经迁移了现有数据并希望将源数据库与 AWS 云上托管的目标 MySQL 数据库同步时,请使用此迁移类型。
  4. Task Settings(任务设置)部分中,根据需要修改任务。
  5. Table mappings(表映射)部分中,选择 Guided UI(引导式 UI)。
  6. 选择 Add new selection rule(添加新选择规则),然后指定您的 Schema(架构)和 Table name(表名称)。
    **注意:**您可以更改或转换部分或全部选定对象的源架构、表或列名称。为此,请展开 Transformation rules(转换规则)部分。选择 Add new transformation rule(添加新转换规则)。然后选择 Target(目标)、Schema name(架构名称)和 Action(操作)。
  7. 选择 Create task(创建任务)。

注意:如果您有大型对象 (LOB) 列,请使用受限 LOB 模式。有关详细信息,请参阅在 AWS DMS 任务中为源数据库设置 LOB 支持

监控您的迁移任务

  1. 使用 Task Monitoring(任务监控)视图监控迁移任务。您可以查看哪些表已成功迁移以及哪些表正在迁移中。注意以下消息类型:
    I - 表示信息性消息
    W - 表示警告
    E - 表示迁移数据库时发生的错误
  2. 通过终端连接到源实例和目标实例,验证数据库是否已成功迁移。

迁移 Oracle

当您使用 Oracle 作为源数据库时,AWS DMS 会将表迁移到指定的目标端点用户。您可以使用转换规则更改 Oracle 目标的架构。有关详细信息,请参阅更改 Oracle 目标的用户和架构

迁移到 MySQL/PostgreSQL/SQL Server

在迁移过程中,架构和表将迁移到目标上的相同名称。如果要将表迁移到目标上的其他架构/表,请创建映射规则以指定目标数据库上的新架构/表。

{
  "rules": [{
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "1",
      "object-locator": {
        "schema-name": "test",
        "table-name": "%"
      },
      "rule-action": "include"
    }, {
      "rule-type": "transformation",
      "rule-id": "2",
      "rule-name": "2",
      "rule-action": "rename",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "test"
      },
      "value": "newtest"
    }
  ]
}

检查日志以确认没有错误。

在切换到新的目标数据库之前,监控延迟并比较源数据库和目标数据库上的数据量。有关详细信息,请参阅 AWS Database Migration Service 中的迁移任务故障排除


相关信息

AWS Database Migration Service 的工作原理

Database Migration step-by-step walkthroughs

Sources for data migration

Targets for data migration

AWS 官方
AWS 官方已更新 2 年前