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

2 分钟阅读
0

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

简短描述

注意:如果您执行同构迁移,请尽可能使用引擎的原生工具(例如 MySQL dump 或 MySQL replication)。

要使用 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 logs 可以提醒您迁移时的潜在问题。有关更多信息,请参阅 使用 Amazon CloudWatch 监控复制任务

创建复制实例

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

创建目标和源端点

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

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

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

创建迁移任务

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

注意:如果您具有大对象 (LOB) 列,那么请使用 Limited LOB Mode(有限 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 分步演练

数据迁移的源

数据迁移的目标

相关视频

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