创建任务 - AWS Database Migration Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

创建任务

要创建 AWS DMS 迁移任务,请执行以下操作:

  • 在创建迁移任务之前,创建源终端节点、目标终端节点以及复制实例。

  • 选择迁移方法:

    • 将数据迁移到目标数据库 – 该过程将在目标数据库中创建文件或表,并自动定义目标所需的元数据。它还会用源数据填充表。为提高效率,系统将并行加载表中的数据。该过程是 AWS 管理控制台中的 Migrate existing data (迁移现有数据) 选项,在 API 中称为 Full Load

    • 迁移期间捕获更改 – 该过程捕获在将数据从源迁移到目标时对源数据库进行的更改。在完成最初请求的数据的迁移后,更改数据捕获 (CDC) 过程会将捕获到的更改应用于目标数据库。捕获更改并以单个提交事务为单位应用更改,并且可以将多个不同的目标表作为单个源提交进行更新。此方法可保证目标数据库中的事务完整性。该过程是控制台中的 Migrate existing data and replicate ongoing changes (迁移现有数据并复制持续更改) 选项,在 API 中称为 full-load-and-cdc

    • 仅复制源数据库上的数据更改 – 该过程读取源数据库管理系统 (DBMS) 的恢复日志文件,并将每个事务的条目组合在一起。在某些情况下,AWS DMS 无法在合理的时间内对目标应用更改(例如,如果目标不可访问)。在这些情况下,AWS DMS 会在必要时对复制服务器上的更改进行缓冲。它不会重新读取源 DBMS 日志,这可能需要大量时间。该过程是 AWS DMS 控制台中的 Replicate data changes only (仅复制数据更改) 选项。

  • 确定该任务如何处理源上的大型二进制对象 (LOB)。有关更多信息,请参阅 在 AWS DMS 任务中为源数据库设置 LOB 支持。)

  • 指定迁移任务设置。这些设置包括设置日志记录,指定写入到迁移控制表的数据,如何处理错误以及其他设置。有关任务设置的更多信息,请参阅指定 AWS Database Migration Service 任务的任务设置

  • 设置表映射以定义用于选择和筛选要迁移的数据的规则。有关表映射的更多信息,请参阅使用表映射指定任务设置。在指定映射之前,请确保查看有关源数据库和目标数据库之间的数据类型映射的文档部分。

  • 在运行任务之前启用并运行迁移前任务评估。有关迁移前评估的更多信息,请参阅 为一项任务启用并处理迁移前评估.

  • 指定迁移数据的任务所需的任何补充数据。有关更多信息,请参阅 指定任务设置的补充数据。)

您可以选择在 Create task (创建任务) 页面上指定任务的信息后立即启动任务。或者,在指定任务信息后从“Dashboard (控制面板)”页启动任务。

以下过程假定您已经指定了复制实例信息和终端节点。有关设置终端节点的详细信息,请参阅Creating source and target endpoints

创建迁移任务

  1. 登录 AWS 管理控制台并通过以下网址打开 AWS DMS 控制台:https://console.amazonaws.cn/dms/v2/

    如果以 AWS Identity and Access Management (IAM) 用户身份登录,请确保具有适当的 AWS DMS 访问权限。有关所需权限的更多信息,请参阅使用 AWS DMS 所需的 IAM 权限

  2. 在左侧导航窗格中选择 Tasks (任务),然后选择 Create Task (创建任务)

  3. 创建任务页中,指定任务选项。下表描述了设置。

    
                        Create task (创建任务)
    对于该选项 请执行该操作

    任务名称

    输入任务的名称。

    任务描述

    输入任务的描述。

    源终端节点

    显示要使用的源终端节点。

    目标终端节点

    显示要使用的目标终端节点。

    复制实例

    显示要使用的复制实例。

    迁移类型

    选择要使用的迁移方法。您可以选择仅让现有数据迁移到目标数据库,或将持续更改以及迁移的数据发送到目标数据库。

    在创建时启动任务

    在选定该选项时,任务将在创建后立即开始。

  4. 选择任务设置选项卡 (如下所示),指定目标表、LOB 支持以及启用日志记录值。显示的任务设置取决于所选的 Migration type (迁移类型) 值。例如,在选择 Migrate existing data (迁移现有数据) 时,将显示以下选项:

    
                        Task settings (任务设置)
    对于该选项 请执行该操作

    Target table preparation mode (目标表准备模式)

    Do nothing (不执行任何操作) – 在 Do nothing (不执行任何操作) 模式中,AWS DMS 假定目标上已预先创建目标表。如果迁移是完全加载或者完全加载加 CDC,那么在开始迁移之前,请确保目标表为空。在目标表已经从源回填,并且应用了持续复制来确保源和目标同步时,Do nothing (不执行任何操作) 模式对于仅 CDC 任务是合适的选择。要预先创建表,您可以使用 AWS Schema Conversion Tool (AWS SCT)。有关更多信息,请参阅安装 AWS SCT

    Drop tables on target (删除目标中的表) – 在 Drop tables on target (删除目标中的表) 模式下,AWS DMS 在开始迁移之前删除目标表,然后重新创建它们。此方法确保了在迁移开始时目标表为空。AWS DMS 仅创建高效迁移数据所需的对象:表、主键以及(在某些情况下)唯一索引。AWS DMS 不会创建二级索引、非主键约束或列数据默认值。如果您执行完全加载外加 CDC 或仅 CDC 任务,我们建议您此时暂停迁移。然后,创建支持筛选更新和删除语句的二级索引。

    使用删除目标中的表模式时,您可能需要在目标数据库上执行某些配置。例如,对于 Oracle 目标,由于安全原因,AWS DMS 无法创建架构(数据库用户)。在这种情况下,您可以预先创建架构用户,以便 AWS DMS 在迁移开始时创建表。对于大多数其他目标类型,AWS DMS 使用合适的配置参数创建架构以及所有关联的表。

    Truncate (截断) – 在 Truncate (截断) 模式中,AWS DMS 在迁移开始之前截断所有目标表。Truncate (截断) 模式适用于完全加载迁移或完全加载加 CDC 迁移,其中目标架构在迁移开始前已预先创建。要预先创建表,您可以使用 AWS SCT。有关更多信息,请参阅安装 AWS SCT

    在复制时包括 LOB 列

    不包括 LOB 列 – 从迁移操作中排除 LOB 列。

    Full LOB mode (完全 Lob 模式) – 无论大小,迁移整个 LOB。AWS DMS 以块的形式分段迁移 LOB,块的大小受 Max LOB size (最大 LOB 大小) 参数控制。此模式比受限 LOB 模式的速度要慢。

    受限 LOB 模式 – 将 LOB 截断为 Max LOB size (最大 LOB 大小) 参数的值。此模式比使用完整 LOB 模式的速度要快。

    最大 LOB 大小 (kb)

    受限 LOB 模式下,超出 Max LOB size (最大 LOB 大小) 设置的 LOB 列将被截断到指定的 Max LOB Size (最大 LOB 大小)

    启用验证

    启用数据验证,以确认准确地将数据从源迁移到目标。有关更多信息,请参阅 AWS DMS data validation。)

    启用日志记录

    启用 Amazon CloudWatch 日志记录。

    如果为迁移类型选择迁移现有数据并复制,将显示以下选项:

    
                        Task settings (任务设置)
    对于该选项 请执行该操作

    Target table preparation mode (目标表准备模式)

    Do nothing (不执行任何操作) – 不更改目标表的数据和元数据。

    Drop tables on target (删除目标中的表) – 删除表并在其位置创建新表。

    Truncate (截断) – 截断表,而不会影响表元数据。

    在完全加载完成后停止任务

    不停止 – 不停止任务,但立即应用缓存的更改,然后继续。

    在应用缓存的更改前停止 - 在应用缓存的更改之前停止任务。使用此方式时,可以添加可能会加速更改应用的辅助索引。

    在应用缓存的更改之后停止 – 在应用缓存的更改后停止任务。使用此方式时,可以在使用事务应用时添加外键、触发器等。

    在复制时包括 LOB 列

    不包括 LOB 列 – 从迁移操作中排除 LOB 列。

    完整 LOB 模式 – 迁移整个 LOB,而不管大小如何。在受 LOB 块大小控制的组块中分段迁移 LOB。此方法比受限 LOB 模式速度慢。

    受限的 LOB 模式 – 将 LOB 截断到“最大 LOB 大小”。这种方法比使用完整 LOB 模式快。

    最大 LOB 大小 (KB)

    受限 LOB 模式下,超出 Max LOB size (最大 LOB 大小) 设置的 LOB 列将被截断到指定的最大 LOB 大小。

    启用验证

    启用数据验证,以确认准确地将数据从源迁移到目标。有关更多信息,请参阅 AWS DMS data validation。)

    启用日志记录

    启用 CloudWatch 日志记录。

  5. 选择表映射选项卡 (如下所示) 以设置架构映射和映射方法值。如果选择自定义,您可以指定目标架构和表值。有关表映射的更多信息,请参阅使用表映射指定任务设置

    
                        Table mapping (表映射)
  6. 如有必要,请在相应选项卡中指定补充任务数据。例如,如果目标终端节点要用于 Amazon Neptune 图形数据库,请选择 Graph mapping rules (图形映射规则) 选项卡。然后,浏览以选择适当的图形映射配置文件,或者使用编辑器直接输入映射规则。有关指定补充任务数据的详细信息,请参阅指定任务设置的补充数据

  7. 完成任务设置后,请选择 Create task (创建任务)