AWS Database Migration Service
用户指南 (版本 API Version 2016-01-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 AWS DMS 复制实例

当您创建 AWS DMS 复制实例时,AWS DMS 会根据 Amazon Virtual Private Cloud (Amazon VPC) 服务在 VPC 中的 Amazon Elastic Compute Cloud (Amazon EC2) 实例上创建复制实例。您可以使用此复制实例执行数据库迁移。在选择多可用区选项时,复制实例使用多可用区部署提供高可用性和故障转移支持。

在多可用区部署中,AWS DMS 自动在不同可用区中预置和维护复制实例的同步备用副本。主复制实例可以跨可用区同步复制到备用副本。此方法提供数据冗余,消除 I/O 冻结,并将延迟峰值降至最小。


             AWS Database Migration Service 复制实例

AWS DMS 使用复制实例连接到源数据存储,读取源数据并设置数据格式以供目标数据存储使用。复制实例还会将数据加载到目标数据存储中。大部分这种处理发生在内存中。但是,大型事务可能需要部分缓冲到磁盘上。缓存事务和日志文件也会写入磁盘。

您可以在以下 AWS 区域中创建 AWS DMS 复制实例。

区域 名称
亚太区域(东京) ap-northeast-1
亚太区域(首尔) ap-northeast-2
亚太地区 (孟买) 区域 ap-south-1
亚太区域(新加坡) ap-southeast-1
亚太区域(悉尼) ap-southeast-2
加拿大 (中部) 区域 ca-central-1
欧洲(法兰克福)区域 eu-central-1
欧洲(爱尔兰)区域 eu-west-1
欧洲 (伦敦) 区域 eu-west-2
南美洲(圣保罗)区域 sa-east-1
美国东部(弗吉尼亚北部)地区 us-east-1
美国东部(俄亥俄)区域 us-east-2
美国西部(加利福利亚北部)区域 us-west-1
美国西部(俄勒冈)区域 us-west-2

AWS DMS 支持一个名为 AWS GovCloud (美国) 的特殊 AWS 区域,该区域旨在使美国政府机构和客户可以将较为敏感的工作负载移至云中。AWS GovCloud (美国) 满足美国政府的特定法规和合规性要求。有关 AWS GovCloud (美国) 的更多信息,请参阅什么是 AWS GovCloud (美国)?

接下来,您可以了解有关复制实例的更多详细信息。

为实例选择合适的 AWS DMS 复制实例

AWS DMS 可在 Amazon Elastic Compute Cloud (Amazon EC2) 实例上创建复制实例。AWS DMS 目前支持将 T2、C4 和 R4 Amazon EC2 实例类用作复制实例。

  • T2 实例类是一种低成本的标准实例,旨在提供基线水平的 CPU 性能,并可在短时间内突增至基线水平以上。它们适用于开发、配置和测试数据库迁移过程。而且也非常适合可从 CPU 突增功能中获益的定期数据迁移任务。

  • C4 实例类旨在为计算机密集型工作负载交付最高级别的处理器性能。它们显著提高了每秒数据包数 (PPS) 性能,降低了网络抖动,并减少了网络延迟。AWS DMS 可能会占用大量 CPU,尤其是在执行异构迁移和复制时,例如从 Oracle 迁移至 PostgreSQL。针对这些情况,C4 实例是理想选择。

  • R4 实例类针对内存密集型工作负载优化了内存。使用 DMS 持续迁移或复制高吞吐量事务系统有时会占用大量 CPU 和内存。R4 实例的每个 vCPU 包含更多内存。

每个复制实例都有特定的内存和 vCPU 配置。下表显示了各复制实例类型的配置。有关定价信息,请参阅 AWS Database Migration Service 定价页面

复制实例类型

vCPU

内存 (GB)

通用

dms.t2.micro

1

1

dms.t2.small

1

2

dms.t2.medium

2

4

dms.t2.large

2

8

计算优化

dms.c4.large

2

3.75

dms.c4.xlarge

4

7.5

dms.c4.2xlarge

8

15

dms.c4.4xlarge

16

30

内存优化

dms.r4.large

2

15.25

dms.r4.xlarge

4

30.5

dms.r4.2xlarge

8

61

dms.r4.4xlarge

16

122

dms.r4.8xlarge

32

244

为了帮助您确定哪种复制实例类最适合您的迁移,我们来看看 AWS DMS 复制实例所使用的更改数据捕获 (CDC) 流程。

假设您运行的是完全加载加 CDC 任务 (批量加载加持续复制)。在这种情况下,任务有自己的 SQLite 存储库来存储元数据和其他信息。在 AWS DMS 开始完全加载之前,将执行以下步骤:

  • AWS DMS 开始为其从源引擎的事务日志中迁移的表捕获更改 (我们将其称为缓存的更改)。完全加载完成后,将收集这些缓存的更改并将其应用于目标中。根据缓存更改的量,可以直接从内存中应用这些更改,最初在内存中收集更改,并一直收集到设定的阈值。或者,也可以从内存中无法保存更改时将更改写入到的磁盘中应用更改。

  • 默认情况下,在应用缓存的更改后,AWS DMS 会在目标实例上启动事务性应用。

在应用缓存的更改阶段和持续复制阶段,AWS DMS 使用两个流缓冲区,入站数据和出站数据各一个。AWS DMS 还使用一个称为排序器的重要组件,它是另一个内存缓冲区。下面是排序器组件的两个重要用法 (还有其他用法):

  • 它跟踪所有事务并确保只将相关事务转发至传出缓冲区。

  • 它确保按照与源中相同的提交顺序转发事务。

如您所见,此架构中有三个重要的内存缓冲区用于 AWS DMS 中的 CDC。如果任何缓冲区遇到内存压力,迁移可能会出现导致故障的性能问题。

在将每秒事务数 (TPS) 很高的重型工作负载插入此架构时,您会发现 R4 实例提供的额外内存很有用。您可以使用 R4 实例在内存中保存大量事务,并可避免在持续复制期间出现内存压力问题。

公有和私有复制实例

您可以指定复制实例在连接到源和目标数据库时使用公有还是私有 IP 地址。

私有复制实例具有无法从复制网络之外访问的私有 IP 地址。当源数据库和目标数据库位于相同的网络中并使用 VPN、AWS Direct Connect 或 VPC 对等连接来连接到复制实例的 VPC 时,复制实例应具有私有 IP 地址。

VPC 对等连接是两个 VPC 之间的连接,使用各 VPC 的私有 IP 地址进行路由,就像它们位于同一个网络中一样。有关 VPC 对等的更多信息,请参阅 Amazon VPC 用户指南中的 VPC 对等

AWS DMS 维护

AWS DMS 会定期对 AWS DMS 资源执行维护。维护通常涉及更新复制实例或复制实例的操作系统 (OS)。您可以使用 AWS CLI 或 AWS DMS API 管理维护窗口的时段和查看维护更新。AWS DMS 控制台当前不支持此工作。

维护项目需要 AWS DMS 使复制实例脱机一小段时间。需要将资源脱机的维护包括必需的操作系统或实例修补。仅对与安全性和实例可靠性相关的修补程序自动安排必需的修补。这种修补很少发生 (通常每年一到两次),并且几乎不会需要过长的维护时段。您可以选择自动次要版本升级控制台选项以自动应用次要版本更新。

AWS DMS 维护时段

每个 AWS DMS 复制实例具有一个每周维护时段,将在此期间应用任何可用的系统更改。您可以通过维护时段控制何时进行修改和软件修补。

如果 AWS DMS 确定需要在某一周进行维护,将在创建复制实例时选择的 30 分钟维护时段内进行维护。AWS DMS 可在 30 分钟的维护时段内完成大多数维护。但是,对于较大的更改可能需要更长时间。

在创建复制实例时选择的 30 分钟维护时段来自为每个 AWS 区域分配的 8 小时时间段。如果在创建复制实例时未指定首选的维护时段,AWS DMS 会在每周随机选择的日期指定一个时段。对于使用多可用区部署的复制实例,可能需要进行故障转移以完成维护。

下表列出了支持 AWS DMS 的各 AWS 区域的维护时段。

区域 时间数据块
亚太区域(悉尼) 12:00–20:00 UTC
亚太区域(东京) 13:00–21:00 UTC
亚太地区(孟买)区域 17:30–01:30 UTC
亚太区域(首尔) 13:00–21:00 UTC
亚太区域(新加坡) 14:00–22:00 UTC
加拿大 (中部) 区域 06:29–14:29 UTC
欧洲(法兰克福)区域 23:00–07:00 UTC
欧洲(爱尔兰)区域 22:00–06:00 UTC
欧洲 (伦敦) 区域 06:00–14:00 UTC
南美洲(圣保罗)区域 00:00–08:00 UTC
美国东部(弗吉尼亚北部)地区 03:00–11:00 UTC
美国东部(俄亥俄)区域 03:00–11:00 UTC
美国西部(加利福利亚北部)区域 06:00–14:00 UTC
美国西部(俄勒冈)区域 06:00–14:00 UTC
AWS GovCloud(美国西部) 06:00–14:00 UTC

维护对现有迁移任务的影响

如果正在实例上运行 AWS DMS 迁移任务,在应用补丁时,将发生以下事件:

  • 如果迁移任务中的表处于复制持续更改阶段 (CDC),则 AWS DMS 在应用补丁时将该任务暂停一段时间。在应用修补程序后,将从中断的位置继续进行迁移。

  • 如果在应用补丁时AWS DMS 正在迁移一个表,AWS DMS 将重新开始迁移该表。

使用维护时段设置

您可以使用 AWS 管理控制台、AWS CLI 或 AWS DMS API 更改维护时段时间范围。

使用 AWS 控制台更改维护时段设置

您可以使用 AWS 管理控制台更改维护时段时间范围。

使用 AWS 控制台更改首选的维护时段

  1. 登录 AWS 管理控制台并选择 AWS DMS。

  2. 在导航窗格中,选择复制实例

  3. 选择要修改的复制实例,然后选择修改

  4. 展开维护部分,然后为您的维护时段选择一个日期和时间。

    
                            修改复制实例
  5. 选择立即应用更改

  6. 选择 Modify

使用 CLI 更改维护时段设置

要调整首选维护时段,请在 AWS CLI modify-replication-instance 命令中使用以下参数:

  • --replication-instance-identifier

  • --preferred-maintenance-window

以下 AWS CLI 示例将维护时段设置为周二的凌晨 4:00–4:30(UTC)。

aws dms modify-replication-instance \ --replication-instance-identifier myrepinstance \ --preferred-maintenance-window Tue:04:00-Tue:04:30
使用 API 更改维护时段设置

要调整首选维护时段,请在 AWS DMS API ModifyReplicationInstance 操作中使用以下参数。

  • ReplicationInstanceIdentifier = myrepinstance

  • PreferredMaintenanceWindow = Tue:04:00-Tue:04:30

以下代码示例将维护时段设置为周二的凌晨 4:00–4:30(UTC)。

https://dms.us-west-2.amazonaws.com/ ?Action=ModifyReplicationInstance &DBInstanceIdentifier=myrepinstance &PreferredMaintenanceWindow=Tue:04:00-Tue:04:30 &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-09-01 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/dms/aws4_request &X-Amz-Date=20140425T192732Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3

使用复制引擎版本

复制引擎是核心 AWS DMS 软件,它在复制实例上运行并执行指定的迁移任务。AWS 定期发布 AWS DMS 复制引擎软件的新版本以提供新功能和增强性能。每个版本的复制引擎软件具有自己的版本号以区别于其他版本。

除非另行指定,否则在启动新的复制实例时,它将运行最新的 AWS DMS 引擎版本。有关更多信息,请参阅使用 AWS DMS 复制实例

如果当前正在运行一个复制实例,您可以将其升级到较新的引擎版本。(AWS DMS 不支持引擎版本降级。) 有关更多信息 (包括复制引擎版本列表),请参阅以下章节。

弃用复制实例版本

有时,AWS DMS 会弃用较旧版本的复制实例。从 2018 年 4 月 2 日开始,AWS DMS 将禁用任何新的复制实例版本 1.9.0 的创建。AWS DMS 于 2016 年 3 月 15 日开始支持此版本,此后由包含对功能性、安全性和可靠性的改进的后续版本所替代。

从 2018 年 8 月 5 日 0:00 (UTC) 开始,运行版本 1.9.0 的所有 DMS 复制实例都将在为每个实例指定的维护时段自动安排升级到最新可用版本。我们建议您在此之前于方便之时升级您的实例。

您可以使用以下部分中的说明操作启动复制实例的升级,升级复制实例的引擎版本

对于在您选择升级复制实例时运行的迁移任务,升级时完全加载阶段中的表将在升级完成后立即从一开始进行重新加载。所有其他表的复制应在升级完成后立即继续而不会中断。我们建议在从版本 1.9.0 升级实例前先测试最新可用版本的 AWS DMS 复制实例上的所有当前迁移任务。

升级复制实例的引擎版本

AWS 定期发布 AWS DMS 复制引擎软件的新版本以提供新功能和增强性能。以下是可用的 AWS DMS 引擎版本摘要。

版本 摘要
2.4.x
  • 支持复制 Oracle 索引表空间。

  • 支持标准访问 ACL 以支持在 Amazon S3 终端节点中进行跨账户访问。

2.3.x
  • 支持将 Amazon S3 作为 AWS DMS 源。

  • 仅支持为作为 AWS DMS 源的 Oracle 复制表空间。

  • 仅支持将 Oracle 活动 Data Guard 备用实例作为 Oracle 源(作为 AWS DMS 源)。

2.2.x
  • 支持将 Microsoft SQL Server 2016 作为 AWS DMS 源或 AWS DMS 目标。

  • 支持将 SAP ASE 16 作为 AWS DMS 源或 AWS DMS 目标。

  • 仅支持将 Microsoft Azure 上运行的 Microsoft SQL Server 作为 AWS DMS 源。您可以为现有数据执行完全迁移;但更改数据捕获 (CDC) 不可用。

1.9.x AWS DMS 复制引擎软件的累积版本。

使用控制台升级引擎版本

您可使用 AWS 管理控制台升级 AWS DMS 复制实例。

使用控制台升级复制实例

  1. https://console.amazonaws.cn/dms/ 打开 AWS DMS 控制台。

  2. 在导航窗格中,选择复制实例

  3. 选择您的复制引擎,然后选择修改

  4. 对于复制引擎版本,选择所需的版本号,然后选择修改

注意

复制实例升级需要几分钟的时间。在实例准备就绪后,其状态将变为可用

使用 CLI 升级引擎版本

您可使用 AWS CLI 升级 AWS DMS 复制实例,如下所示。

使用 AWS CLI 升级复制实例

  1. 使用以下命令确定您的复制实例的 Amazon 资源名称 (ARN)。

    aws dms describe-replication-instances \ --query "ReplicationInstances[*].[ReplicationInstanceIdentifier,ReplicationInstanceArn,ReplicationInstanceClass]"

    在输出中,记下要升级的复制实例的ARN,例如:arn:aws:dms:us-east-1:123456789012:rep:6EFQQO6U6EDPRCPKLNPL2SCEEY

  2. 使用以下命令确定可用的复制实例版本。

    aws dms describe-orderable-replication-instances \ --query "OrderableReplicationInstances[*].[ReplicationInstanceClass,EngineVersion]"

    在输出中,记下您的复制实例类的可用引擎版本号。您应该会在步骤 1 的输出中看到此信息。

  3. 使用以下命令升级复制实例。

    aws dms modify-replication-instance \ --replication-instance-arn arn \ --engine-version n.n.n

    将前面的 arn 替换为上一步中的实际复制实例 ARN。

    n.n.n 替换为所需的引擎版本号,例如:2.2.1

注意

复制实例升级需要几分钟的时间。您可以使用以下命令查看复制实例状态。

aws dms describe-replication-instances \ --query "ReplicationInstances[*].[ReplicationInstanceIdentifier,ReplicationInstanceStatus]"

在复制实例准备就绪后,其状态将变为可用

为复制实例设置加密密钥

AWS DMS 加密复制实例使用的存储以及终端节点连接信息。为了加密复制实例使用的存储,AWS DMS 使用对您 AWS 账户唯一的主密钥。您可以使用 AWS Key Management Service (AWS KMS) 查看和管理此主密钥。您可以在账户中使用默认主密钥 (aws/dms) 或者您创建的自定义主密钥。如果有一个现有的 AWS KMS 加密密钥,也可以使用该密钥加密。

您可以通过提供 KMS 密钥标识符来加密自己的 AWS DMS 资源,从而指定自己的加密密钥。在您指定自己的加密密钥时,执行数据库迁移所用的用户账户必须具有对该密钥的访问权限。有关创建您自己的加密密钥以及向用户提供对加密密钥访问权限的更多信息,请参阅 AWS KMS 开发人员指南

如果未指定 KMS 密钥标识符,则 AWS DMS 使用默认加密密钥。KMS 为您的 AWS 账户创建 AWS DMS 的默认加密密钥。您的 AWS 账户在每个 AWS 区域都有一个不同的默认加密密钥。

要管理用于加密 AWS DMS 资源的密钥,请使用 KMS。您可以在控制台主页上选择 Identity & Access Management,然后在导航窗格中选择加密密钥以在 AWS 管理控制台中查找 KMS。

KMS 将安全、高度可用的硬件和软件结合起来,提供可为云扩展的密钥管理系统。通过使用 KMS,您可创建加密密钥并定义控制这些密钥的使用方式的策略。KMS 支持 AWS CloudTrail,因此,您可审核密钥使用情况以验证密钥是否使用得当。KMS 密钥可与 AWS DMS 及支持的 AWS 服务(如 Amazon RDS、Amazon S3、Amazon Elastic Block Store (Amazon EBS) 和 Amazon Redshift)结合使用。

创建带有特定加密密钥的 AWS DMS 资源后,无法更改这些资源的加密密钥。请确保先定义加密密钥要求,然后再创建 AWS DMS 资源。

创建复制实例

数据库迁移过程中的第一个任务是创建一个复制实例,该实例具有足够的存储和处理能力来执行您分配的任务并将数据从源数据库迁移至目标数据库。此实例的所需大小是变化的,具体取决于需迁移的数据量和需要实例执行的任务数。有关复制实例的更多信息,请参阅使用 AWS DMS 复制实例

以下过程假定您已选择 AWS DMS 控制台向导。您还可以从 AWS DMS 控制台的导航窗格中选择 Replication instances (复制实例),然后选择 Create replication instance (创建复制实例) 以执行该步骤。

使用 AWS 控制台创建复制实例

  1. 创建复制实例页中,指定您的复制实例信息。下表描述了设置。

    
                            创建复制实例
    对于此选项 执行该操作

    名称

    为复制实例指定包含 8 到 16 个可打印 ASCII 字符 (不含 /、" 和 @) 的名称。该名称对于所选 AWS 区域中您的账户应该是唯一的。您可以选择向名称中添加一些信息,例如包含 AWS 区域和要执行的任务,例如 west2-mysql2mysql-instance1

    描述

    键入复制实例的简要描述。

    实例类

    选择带迁移所需的配置的实例类。请记住,实例必须具有足够的存储、网络和处理能力才能成功完成迁移。有关如何决定最适合迁移的实例类的更多信息,请参阅使用 AWS DMS 复制实例

    复制引擎版本

    默认情况下,复制实例运行最新版本的 AWS DMS 复制引擎软件。建议您接受该默认值;不过,您可以选择以前的引擎版本 (如果需要)。

    VPC

    选择要使用的 Amazon Virtual Private Cloud (Amazon VPC)。如果源或目标数据库位于 VPC 中,请选择该 VPC。如果您的源数据库和目标数据库位于不同的 VPC 中,请确保它们位于公有子网中且可公开访问,然后选择复制实例将放置到的 VPC 中。复制实例必须能够访问源 VPC 中的数据。如果您的源数据库和目标数据库都不在 VPC 中,请选择复制实例将放置到的 VPC。

    多可用区

    可使用此可选参数在另一个可用区中创建复制实例的备用副本以支持故障转移。如果您打算使用更改数据捕获 (CDC) 或持续复制,您应启用该选项。

    公开访问

    如果您希望能够从 Internet 访问复制实例,请选择该选项。

  2. 选择高级选项卡 (如下所示) 以设置网络和加密设置值 (如果需要)。下表描述了设置。

    
                            “Advanced”(高级) 选项卡
    对于此选项 执行该操作

    分配的存储空间 (GB)

    存储空间主要由日志文件和缓存的事务消耗。对于缓存事务,仅在需要将缓存的事务写入磁盘时消耗存储空间。因此,AWS DMS 不会使用大量存储空间。一些例外情况包括:

    • 产生大量事务负载的超大型表。加载大型表可能需要花费一些时间,因此,在大型表加载期间,很有可能将缓存的事务写入磁盘。

    • 配置为在加载缓存的事务之前暂停的任务。在此情况下,将缓存所有事务,直到为所有表完成完全加载。在使用此配置时,缓存的事务可能会占用大量存储空间。

    • 使用将加载到 Amazon Redshift 中的表配置的任务。但在目标为 Amazon Aurora 的情况下,此配置不会成为问题。

    在大多数情况下,默认分配的存储空间已足够。不过,关注与存储相关的指标并在您发现使用的存储空间大于默认分配值时纵向扩展始终是不错的做法。

    复制子网组

    在选定 VPC 中选择要在其中创建复制实例的复制子网组。如果源数据库位于 VPC 中,请选择包含源数据库的子网组作为复制实例的位置。有关复制子网组的更多信息,请参阅创建复制子组

    可用区

    选择源数据库所在的可用区。

    VPC 安全组

    在 VPC 中创建复制实例。如果源数据库位于 VPC 中,请选择一个 VPC 安全组,该安全组提供对数据库所在的数据库实例的访问权限。

    KMS 主密钥

    选择要用于加密复制存储和连接信息的加密密钥。如果选择 (默认值) aws/dms,则会使用与您的账户和 AWS 区域关联的默认 AWS Key Management Service (AWS KMS) 密钥。将显示说明和您的账号以及密钥的 ARN。有关使用加密密钥的更多信息,请参阅设置加密密钥和指定 KMS 权限

  3. 指定维护设置。下表描述了设置。有关维护设置的更多信息,请参阅 AWS DMS 维护时段

    
                        “Maintenance”(维护) 选项卡
    对于此选项 执行该操作

    自动次要版本升级

    选择在维护时段内自动将次要引擎升级应用于复制实例。

    维护时段

    选择每周可以进行系统维护的时间范围,采用通用协调时间 (UTC)。

    默认值:从每 AWS 区域 8 小时的时间段中随机选择的 30 分钟时段 (随机选取周中的某天进行)。

  4. 选择创建复制实例

修改复制实例

您可以修改复制实例设置以更改实例类或增加存储 (举例)。

在修改复制实例时,您可以立即应用更改。要立即应用更改,可以在 AWS 管理控制台中选择 Apply changes immediately (立即应用更改) 选项,在调用 AWS CLI 时使用 --apply-immediately 参数,或者在使用 AWS DMS API 时将 ApplyImmediately 参数设置为 true

如果您没有选择立即应用更改,更改将被放置在等待修改队列中。队列中的所有等待更改都将在下一维护时段应用。

注意

如果您选择立即应用更改,也将同时应用等待修改队列中的所有更改。如果任何待处理修改需要停机,选择立即应用更改可能导致意外停机。

使用 AWS 控制台修改复制实例

  1. 登录 AWS 管理控制台并选择 AWS DMS。

  2. 在导航窗格中,选择复制实例

  3. 选择要修改的复制实例。下表描述了可进行的修改。

    对于此选项 执行该操作

    名称

    您可以更改复制实例的名称。为复制实例指定包含 8 到 16 个可打印 ASCII 字符 (不含 /、" 和 @) 的名称。该名称对于所选 AWS 区域中您的账户应该是唯一的。您可以选择向名称中添加一些信息,例如包含 AWS 区域和要执行的任务,例如 west2-mysql2mysql-instance1

    实例类

    您可以更改实例类。选择带迁移所需的配置的实例类。更改实例类会导致复制实例重启。将在下一维护时段内重启;如果选择立即应用更改选项,则会立即进行重启。

    有关如何决定最适合迁移的实例类的更多信息,请参阅使用 AWS DMS 复制实例

    复制引擎版本

    您可以升级复制实例使用的引擎版本。升级复制引擎版本将导致在升级时关闭复制实例。

    多可用区

    您可以更改该选项以在另一个可用区中创建您的复制实例的备用副本以支持故障转移,也可以删除该选项。如果您打算使用更改数据捕获 (CDC) 持续复制,则应该启用该选项。

    分配的存储空间 (GB)

    存储空间主要由日志文件和缓存的事务消耗。对于缓存事务,仅在需要将缓存的事务写入磁盘时消耗存储空间。因此,AWS DMS 不会使用大量存储空间。一些例外情况包括:

    • 产生大量事务负载的超大型表。加载大型表可能需要花费一些时间,因此,在大型表加载期间,很有可能将缓存的事务写入磁盘。

    • 配置为在加载缓存的事务之前暂停的任务。在此情况下,将缓存所有事务,直到为所有表完成完全加载。在使用此配置时,缓存的事务可能会占用大量存储空间。

    • 使用将加载到 Amazon Redshift 中的表配置的任务。但在目标为 Amazon Aurora 的情况下,此配置不会成为问题。

    在大多数情况下,默认分配的存储空间已足够。不过,关注与存储相关的指标并在您发现使用的存储空间大于默认分配值时纵向扩展始终是不错的做法。

    VPC 安全组

    在 VPC 中创建复制实例。如果源数据库位于 VPC 中,请选择一个 VPC 安全组,该安全组提供对数据库所在的数据库实例的访问权限。

    自动次要版本升级

    选择该选项以在维护时段内自动将次要引擎升级应用于复制实例;如果选择立即应用更改选项,则会立即进行应用。

    维护时段

    选择每周可以进行系统维护的时间范围,采用通用协调时间 (UTC)。

    默认值:从每 AWS 区域 8 小时的时间段中随机选择的 30 分钟时段 (随机选取周中的某天进行)。

    立即应用更改

    选择该选项以立即应用所做的任何修改。根据您选择的设置,选择该选项可能会导致立即重启复制实例。

重启复制实例

您可以重启 AWS DMS 复制实例以重新启动复制引擎。重启会导致复制实例的短暂中断,在此期间此实例状态会设置为重启中。如果为多可用区配置了 AWS DMS 实例,则可以通过故障转移进行重启。重新启动完成后,即会创建 AWS DMS 事件。

如果 AWS DMS实例是多可用区部署,可以在重启时强制从一个 AWS 可用区故障转移到另一个可用区。当强制故障转移 AWS DMS 实例时,AWS DMS 自动切换到另一个可用区中的备用实例。在出于测试目的模拟 AWS DMS 实例的故障时,通过故障转移重启很有用。

如果重启时复制实例上正在运行迁移任务,则不会发生数据丢失且任务会在重启完成后立即继续。如果迁移任务中的表位于批量加载中间 (完全加载阶段),DMS 将为这些表从头重新启动迁移。如果迁移任务中的表位于持续复制阶段,则任务会在重启完成后立即继续。

如果 AWS DMS 复制实例未处于可用状态,则无法重启该实例。AWS DMS 实例可能会由于几个原因而不可用,例如,以前请求的修改或维护时段操作。重启 AWS DMS 复制实例所需的时间通常较少(5 分钟以内)。

使用 AWS 控制台重启复制实例

要重启复制实例,请使用 AWS 控制台。

使用 AWS 控制台重启复制实例

  1. 登录 AWS 管理控制台并选择 AWS DMS。

  2. 在导航窗格中,选择复制实例

  3. 选择要重启的复制实例。

  4. 选择 Reboot

  5. 如果复制实例已配置为多可用区部署,并且需要故障转移到另一个 AWS 可用区,请在 Reboot replication instance (重启复制实例) 对话框中,选择 Reboot With Failover? (通过故障转移重启?)

  6. 选择 Reboot

使用 CLI 重启复制实例

要重启复制实例,请使用具有以下参数的 AWS CLI reboot-replication-instance 命令:

  • --replication-instance-arn

例 示例:简单重启

以下 AWS CLI 示例重启复制实例。

aws dms reboot-replication-instance \ --replication-instance-arn arnofmyrepinstance

例 示例:简单的通过故障转移重启

以下 AWS CLI 示例通过故障转移重启复制实例。

aws dms reboot-replication-instance \ --replication-instance-arn arnofmyrepinstance \ --force-failover
使用 API 重启复制实例

要重启复制实例,请使用具有以下参数的 AWS DMS API RebootReplicationInstance 操作:

  • ReplicationInstanceArn = arnofmyrepinstance

例 示例:简单重启

以下代码示例重启复制实例。

https://dms.us-west-2.amazonaws.com/ ?Action=RebootReplicationInstance &DBInstanceArn=arnofmyrepinstance &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-09-01 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/dms/aws4_request &X-Amz-Date=20140425T192732Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3

例 示例:简单的通过故障转移重启

以下代码示例重启复制实例并故障转移到另一个 AWS 可用区。

https://dms.us-west-2.amazonaws.com/ ?Action=RebootReplicationInstance &DBInstanceArn=arnofmyrepinstance &ForceFailover=true &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-09-01 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/dms/aws4_request &X-Amz-Date=20140425T192732Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3

删除复制实例

在使用完 AWS DMS 复制实例后可将其删除。如果您有迁移任务在使用该复制实例,则必须先停止并删除任务,然后才能删除该复制实例。

如果您关闭 AWS 账户,则会在两天后删除与您的账户关联的所有 AWS DMS 资源和配置。这些资源包括所有复制实例、源和目标终端节点配置、复制任务和 SSL 证书。如果两天后您决定再次使用 AWS DMS,则需重新创建您需要的资源。

使用 AWS 控制台删除复制实例

要删除复制实例,请使用 AWS 控制台。

使用 AWS 控制台删除复制实例

  1. 登录 AWS 管理控制台并选择 AWS DMS。

  2. 在导航窗格中,选择复制实例

  3. 选择要删除的复制实例。

  4. 选择 Delete

  5. 在对话框中,选择删除

使用 CLI 删除复制实例

要删除复制实例,请结合以下参数使用 AWS CLI delete-replication-instance 命令:

  • --replication-instance-arn

例 删除操作示例

以下 AWS CLI 示例删除复制实例。

aws dms delete-replication-instance \ --replication-instance-arn <arnofmyrepinstance>
使用 API 删除复制实例

要删除复制实例,请结合以下参数使用 AWS DMS API DeleteReplicationInstance 操作:

  • ReplicationInstanceArn = <arnofmyrepinstance>

例 删除操作示例

以下代码示例将删除复制实例。

https://dms.us-west-2.amazonaws.com/ ?Action=DeleteReplicationInstance &DBInstanceArn=arnofmyrepinstance &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-09-01 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/dms/aws4_request &X-Amz-Date=20140425T192732Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3

AWS DMS 支持的 DDL 语句

数据迁移流程期间,您可以在源数据库上执行数据定义语言 (DDL) 语句。这些语句由复制服务器复制到目标数据库。

支持以下 DDL 语句:

  • 创建表

  • 删除表

  • 重命名表

  • 添加列

  • 删除列

  • 重命名列

  • 更改列数据类型

有关特定源所支持的 DDL 语句的信息,请参阅介绍该源的主题。