本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
选择正确的 AWS DMS用于迁移的复制实例
AWS DMS 在 Amazon 实例上创建复制EC2实例。 AWS 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) 性能、更低的网络抖动和更低的网络延迟。 AWS DMS 也可能是CPU密集型的,尤其是在执行异构迁移和复制(例如从 Oracle 迁移到 Postgre)时。SQL针对这些情况,C4 实例是理想选择。
-
C5 实例是下一代实例类型,可以较低的单位计算价格,为运行高级计算密集型工作负载提供经济高效的高性能。这包括高性能 Web 服务器、高性能计算 (HPC)、批处理、广告投放、高度可扩展的多人游戏和视频编码等工作负载。适合 C5 实例的其他工作负载包括科学建模、分布式分析以及机器和深度学习推理。C5 实例可选择英特尔和。AMD
-
与同类第 5 代实例相比,C6i 实例为各种工作负载提供的计算性价比高出 15%,而且内存加密始终处于开启状态。C6i 实例非常适合计算密集型工作负载,例如批处理、分布式分析、高性能计算 (HPC)、广告投放、高度可扩展的多人游戏和视频编码。
-
R4 实例针对内存密集型工作负载优化了内存。使用持续迁移或复制高吞吐量事务系统 AWS DMS 还会消耗大量的CPU和内存。与前一代实例类型CPU相比,R4 实例每个 v 包含的内存更多。
-
R5 实例是 Amazon 的下一代内存优化型实例类型。EC2R5 实例非常适合内存密集型应用程序,例如高性能数据库、分布式 Web 级内存缓存、中型内存数据库、实时大数据分析和其他企业应用程序。使用持续迁移或复制高吞吐量事务系统 AWS DMS 还会消耗大量的CPU和内存。
-
与同类第 5 代实例相比,R6i 实例为各种工作负载提供的计算性价比高出 15%,而且内存加密始终处于开启状态。R6i 实例SAP已通过认证,非常适合数据库等工作负载、分布式 Web 规模的内存缓存(如 Memcached SQL 和 RedisOSS)、内存中SQL数据库(如 Hadoop 和 Spark 集群)以及实时大数据分析(例如 SAP HANA Hadoop 和 Spark 集群)。
每个复制实例都有特定的内存和 v 配置CPU。下表显示了各复制实例类型的配置。有关定价信息,请参阅 AWS Database Migration Service
服务定价页面
通用复制实例类型
类型 |
v CPU |
内存 (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.medium |
2 |
4 |
dms.t3.large |
2 |
8 |
计算优化复制实例类型
类型 |
v CPU |
内存 (GiB) |
---|---|---|
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 |
内存优化复制实例类型
类型 |
v CPU |
内存 (GiB) |
---|---|---|
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 |
上面的表格列出了所有 AWS DMS 复制实例类型,但您所在地区的可用类型可能会有所不同。要查看您所在地区可用的复制实例类型,您可以运行以下命令 AWS CLI命令:
aws dms describe-orderable-replication-instances --region
your_region_name
决定使用哪个实例类
为了帮助确定哪个复制实例类最适合您,让我们来看看更改数据捕获 (CDC) 流程 AWS DMS 使用。
假设您正在运行满负荷加CDC任务(批量加载加上正在进行的复制)。在这种情况下,任务有自己的SQLite存储库来存储元数据和其他信息。早于 AWS DMS 启动满负荷后,会出现以下步骤:
-
AWS DMS 开始捕获它正在从源引擎的事务日志中迁移的表的更改(我们称之为缓存的更改)。完全加载完成后,将收集这些缓存的更改并将其应用于目标中。根据缓存更改的量,可以直接从内存中应用这些更改,最初在内存中收集更改,并一直收集到设定的阈值。或者,也可以从内存中无法保存更改时将更改写入到的磁盘中应用更改。
-
默认情况下,在应用缓存的更改之后 AWS DMS 在目标实例上启动事务性应用进程。
在应用缓存更改阶段和正在进行的复制阶段, AWS DMS 使用两个流缓冲区,每个缓冲区分别用于传入和传出数据。 AWS DMS 还使用了一个名为分拣器的重要组件,它是另一个内存缓冲区。下面是排序器组件的两个重要用法 (还有其他用法):
-
它跟踪所有事务并确保只将相关事务转发至传出缓冲区。
-
它确保按照与源中相同的提交顺序转发事务。
如你所见,我们在这个架构中有三个重要的内存缓冲区 CDC AWS DMS。 如果这些缓冲区中的任何一个遇到内存压力,则迁移可能会出现性能问题,从而可能导致故障。
当您将每秒处理大量事务的繁重工作负载 (TPS) 插入此架构时,您会发现 R5 和 R6i 实例提供的额外内存非常有用。您可以使用 R5 和 R6i 实例在内存中保存大量事务,并可避免在持续复制期间出现内存压力问题。
对可突增性能实例使用无限模式
配置为的突发性能实例(例如 unlimited
T3 实例)可以在需要时在任何时间段内保持高CPU利用率。每小时实例价格可以自动涵盖所有CPU使用量峰值。如果实例的平均CPU利用率在滚动的 24 小时内或实例生命周期(以较短者为准)等于或低于基准,则会这样做。
对于绝大多数通用型工作负载,配置为 unlimited
的实例可提供足够高的性能,而不会收取任何额外的费用。如果实例长时间以更高的CPU利用率运行,则可以按每v CPU-hour的固定额外费率运行。有关 T3 实例定价的信息,请参阅中的 “T3 CPU 积分” AWS Database Migration Service
有关 T3 实例unlimited
模式的更多信息,请参阅 A mazon EC2 用户指南中的突发性能实例的无限模式。
重要
如果你在下面使用一个dms.t3.micro
实例 AWS 免费套餐unlimited
模式下使用,可能会收取费用。特别是,如果连续 24 小时内的平均利用率超过实例的基准利用率,可能需要收取相应费用。有关更多信息,请参阅 Amazon EC2 用户指南中的基准利用率。
T3 实例默认情况下作为 unlimited
启动。如果 24 小时内的平均CPU使用量超过基准,则会产生超额积分的费用。在某些情况下,您可以使用 unlimited
模式启动 T3 竞价型实例,并计划立即短时间使用它们。如果您这样做时没有闲置时间来累积积CPU分,则会因剩余积分而产生费用。建议您使用标准模式启动 T3 竞价型实例,以避免支付更高的费用。有关更多信息,请参阅 A ma EC2 zon 用户指南中的剩余积分可能会产生费用、T3 竞价型实例和突发性能实例的标准模式。