为您的迁移选择正确的Amazon DMS 复制实例 - Amazon Database Migration Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为您的迁移选择正确的Amazon DMS 复制实例

Amazon DMS在 Amazon EC2 实例上创建复制实例。 Amazon DMS目前支持复制实例的 T2、T3、C4、C5、C6i、R4、R5 和 R6i Amazon EC2 实例类:

  • T2 实例是具爆发能力的实例,此类实例具有基准水平的 CPU 性能,并能够爆发到基准线以上。基准性能和突增能力由 CPU 积分控制。T2 实例以设定的速率持续接收 CPU 积分,具体取决于实例大小。它们在空闲时累积 CPU 积分,在激活时消耗 CPU 积分。

    T2 实例非常适合各种通用工作负载。其中包括微服务、低延迟交互式应用程序、中小型数据库、开发、构建和暂存环境、代码存储库以及产品原型。

  • T3 实例是下一代可突发的通用实例类型。这种类型提供基准水平的 CPU 性能,并能够根据需要随时突增 CPU 使用率。T3 实例兼顾了计算、内存和网络资源,专为 CPU 使用中等、偶尔遇到峰值的应用程序而设计。当工作负载运行在基准阈值以下时,T3 实例会累积 CPU 积分。获得的 CPU 信用都使 T3 实例有机会在需要时提升一个完整 CPU 核心性能一分钟。

    T3 实例可以随时突增时unlimited段。有关unlimited模式的更多信息,请参阅使用无限模式来处理可突增性能实例

  • C4 实例针对计算密集型工作负载进行了优化,以较低的单次计算比率提供非常经济高效的高性能。它们显著提高了每秒数据包 (PPS) 性能、降低网络抖动并减小网络延迟。 Amazon DMS也可能占用 CPU 资源,尤其是在执行异构迁移和复制时,例如从 Oracle 迁移到 PostgreSQL。针对这些情况,C4 实例是理想选择。

  • C5 实例是下一代实例类型,可为运行高级计算密集型工作负载提供经济高效的高性能,以较低的单位计算比率。这包括高性能 Web 服务器、高性能计算 (HPC)、批处理、广告服务、高度可扩展的多人游戏和视频编码等工作负载。其他工作负载 C5 实例适用于包括科学建模、分布式分析以及机器和深度学习推理。C5 实例有英特尔和 AMD 的处理器可供选择。

  • C6i 实例可为各种工作负载提供比同类 Gen5 实例高出 15% 的计算性价比,并提供始终在线的内存加密。C6i 实例非常适合计算密集型工作负载,例如批处理、分布式分析、高性能计算 (HPC)、广告服务、高度可扩展的多人游戏和视频编码。

  • R4 实例针对内存密集型工作负载进行内存优化的内存 正在使用的高吞吐量事务系统迁移或复制Amazon DMS也会消耗大量 CPU 和内存。与上一代实例类型相比,R4 实例每个 vCPU 包含的内存更多。

  • R5 实例是 Amazon EC2 的下一代内存优化型实例类型。R5 实例非常适合内存密集型应用程序,例如高性能数据库、分布式 Web 级内存缓存、中型内存中数据库、实时大数据分析和其他企业应用程序。正在使用的高吞吐量事务系统迁移或复制Amazon DMS也会消耗大量 CPU 和内存。

  • R6i 实例可为各种工作负载提供比同类 Gen5 实例高出 15% 的计算性价比,并提供始终在线的内存加密。R6i 实例已获得 SAP 认证,非常适合 SQL 和 NoSQL 数据库、分布式 Web 规模内存缓存(如 Memcached 和 Redis)、SAP HANA 等内存中数据库以及 Hadoop 和 Spark 集群等实时大数据分析等工作负载。

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

复制实例类型

vCPU

内存(GiB)

通用

dms.t2.micro

1

1

dms.t2.small

1

2

dms.t2.medium

2

4

dms.t2.large

2

8

dms.t3.micro

2

1

dms.t3.small

2

2

dms.t3.mediim

2

4

dms.t3.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.c5.large

2

4

dms.c5.xlarge

4

8

dms.c5.2xlarge

8

16

dms.c5.4xlarge

16

32

dms.c5.9xlarge

36

72

dms.c5.12xlarge

48

96

dms.c5.18xlarge

72

144

dms.c5.24xlarge

96

192

dms.c6i.large

2

4

dms.c6i.xlarge

4

8

dms.c6i.2xlarge

8

16

dms.c6i.4xlarge

16

32

dms.c6i.8xlarge

32

64

dms.c6i.12xlarge

48

96

dms.c6i.16xlarge

64

128

dms.c6i.24xlarge

96

192

dms.c6i.32xlarge

128

256

内存优化

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

dms.r5.large

2

16

dms.r5.xlarge

4

32

dms.r5.2xlarge

8

64

dms.r5.4xlarge

16

128

dms.r5.8xlarge

32

256

dms.r5.12xlarge

48

384

dms.r5.16xlarge

64

512

dms.r5.24xlarge

96

768

dms.r6i.large

2

16

dms.r6i.xlarge

4

32

dms.r6i.2xlarge

8

64

dms.r6i.4xlarge

16

128

dms.r6i.8xlarge

32

256

dms.r6i.12xlarge

48

384

dms.r6i.16xlarge

64

512

dms.r6i.24xlarge

96

768

dms.r6i.32xlarge

128

1024

决定使用哪个实例类

为了帮助确定哪种复制实例类最适合您,让我们看一下所Amazon DMS使用的变更数据捕获 (CDC) 流程。

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

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

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

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

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

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

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

当您将具有高每秒事务数 (TPS) 的繁重工作负载插入此架构时,您会发现 R5 和 R6i 实例提供的额外内存很有用。您可以使用 R5 和 R6i 实例在内存中保存大量事务,并防止正在进行的复制期间出现内存压力问题。

使用无限模式来处理可突增性能实例

配置为unlimited(如 T3 实例)的可突增性能实例可以承受所需的任何时段的高 CPU 利用率。每小时的实例价格可以自动覆盖所有 CPU 使用率峰值。如果在滚动 24 小时或实例生命周期(以较短者为准)内实例的平均 CPU 利用率等于或低于基准,则会达到基准。

对于绝大多数通用型工作负载,配置为的实例可unlimited提供足够高的性能,而不会收取任何额外的费用。如果实例长时间以较高的 CPU 利用率运行,可能会按每 vCPU 小时的固定费率收取额外的费用。有关 T3 实例定价的信息,请参阅中的 “T3 CPU 积分” Amazon Database Migration Service

有关 T3 实例unlimited模式的更多信息,请参见适用于 Linux 实例的 Amazon EC2 用户指南(适用于 Linux 实例)中的具爆发能力的实例的无限模式

重要

如果您使用Amazon免费套餐优惠下的dms.t3.micro实例并在unlimited模式下使用,则可能会收取费用。特别是,如果在滚动 24 小时内的平均利用率超过实例的基准利用率,则可能需要支付相应费用。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的基准利用率

T3 实例默认情况下作为 unlimited 启动。如果滚动 24 小时内的平均 CPU 使用率超过基准,将会产生超额积分费用。在某些情况下,您可以 T3 Spot 实例的模式启动,unlimited并计划立即短时间使用它们。如果在没有空闲时间来累积 CPU 积分的情况下这样做,则会产生超额积分费用。建议您以标准模式启动 T3 Spot 实例,以避免支付更高的费用。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的剩余积分可能会产生费用、T3 Spot 实例和突发性能实例的标准模式