

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

# 为您的迁移选择正确的 AWS DMS 复制实例
<a name="CHAP_ReplicationInstance.Types"></a>

AWS DMS 在 Amazon EC2 实例上创建复制实例。 AWS DMS 目前支持复制实例的 T3、C5、C6i、R5 和 R6i Amazon EC2 实例类：
+ T3 实例是下一代可突增性能通用实例类型。此类型提供基准级别的 CPU 性能，并能够根据需要随时突增 CPU 使用率。T3 实例兼顾了计算、内存和网络资源，非常适合 CPU 使用中等、偶尔遇到峰值的应用程序。当工作负载的运行低于基准阈值时，T3 实例会累积 CPU 积分。每获得一个 CPU 积分，T3 实例就有机会在需要时为完整 CPU 核心突增一分钟内的性能。

  T3 实例可在 `unlimited` 模式下突增到所需的时间。有关 `unlimited` 模式的更多信息，请参阅[对可突增性能实例使用无限模式](#CHAP_ReplicationInstance.Types.UnlimitedMode)。
+ C5 实例是下一代实例类型，可以较低的单位计算价格，为运行高级计算密集型工作负载提供经济高效的高性能。这包括高性能 Web 服务器、高性能计算（HPC）、批处理、广告服务、高度可扩展的多人游戏和视频编码等工作负载。适合 C5 实例的其他工作负载包括科学建模、分布式分析以及机器和深度学习推理。C5 实例可选择 Intel 和 AMD 的处理器。
+ 与同类第 5 代实例相比，C6i 实例为各种工作负载提供的计算性价比高出 15%，而且内存加密始终处于开启状态。C6i 实例非常适合计算密集型工作负载，例如批处理、分布式分析、高性能计算（HPC）、广告服务、高度可扩展的多人游戏和视频编码。
+ R5 实例是适用于 Amazon EC2 的下一代内存优化型实例类型。R5 实例非常适合内存密集型应用程序，例如高性能数据库、分布式 Web 级内存缓存、中型内存数据库、实时大数据分析和其他企业应用程序。使用高吞吐量事务系统的持续迁移或复制 AWS DMS 也会消耗大量 CPU 和内存。
+ 与同类第 5 代实例相比，R6i 实例为各种工作负载提供的计算性价比高出 15%，而且内存加密始终处于开启状态。R6i 实例已通过 SAP 认证，非常适合 SQL 和 NoSQL 数据库等工作负载、Memcached 和 Redis OSS 等分布式 Web 级内存缓存、SAP HANA 等内存数据库以及 Hadoop 和 Spark 集群等实时大数据分析。
+ 与上一代同类实例相比，C7i 实例的计算性能更高。对于 AWS DMS 工作负载，C7i 实例擅长加速数据转换过程、处理计算密集型架构转换以及在高容量迁移任务期间保持一致的吞吐量。这些实例可实现计算性能与持续 CPU 性能的理想平衡。
+ 与上一代同类实例相比，R7i 实例具备更优异的计算性能，同时搭配大容量内存，可从容应对内存密集型工作负载。对于 AWS DMS 工作负载，R7i 实例特别适合处理处理大量并发数据库事务的大型数据库的任务，从而可以高效处理内存密集型复制场景和需要大量内存缓冲区的复杂数据验证过程。

每个复制实例都有特定的内存和 vCPU 配置。下表显示了各复制实例类型的配置。有关定价的信息，请参阅 [AWS Database Migration Service 服务定价页面](https://aws.amazon.com/dms/pricing/)。

**通用复制实例类型**


|  Type  |  vCPU  |  内存（GiB）  | 
| --- | --- | --- | 
|  dms.t3.micro  |  2  |  1  | 
|  dms.t3.small  |  2  |  2  | 
|  dms.t3.medium  |  2  |  4  | 
|  dms.t3.large  |  2  |  8  | 

**计算优化复制实例类型**


|  Type  |  vCPU  |  内存（GiB）  | 
| --- | --- | --- | 
|  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.c7i.large  |  2  |  4  | 
|  dms.c7i.xlarge  |  4  |  8  | 
|  dms.x7i.2xlarge  |  8  |  16  | 
|  dms.x7i.4xlarge  |  16  |  32  | 
|  dms.x7i.8xlarge  |  32  |  64  | 
|  dms.x7i.12xlarge  |  48  |  96  | 
|  dms.x7i.16xlarge  |  64  |  128  | 
|  dms.x7i.24xlarge  |  96  |  192  | 
|  dms.x7i.48xlarge  |  192  |  384  | 

**内存优化复制实例类型**


|  Type  |  vCPU  |  内存（GiB）  | 
| --- | --- | --- | 
|  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  | 
|  dms.r7i.large  |  2  |  16  | 
|  dms.r7i.xlarge  |  4  |  32  | 
|  dms.r7i.2xlarge  |  8  |  64  | 
|  dms.r7i.4xlarge  |  16  |  128  | 
|  dms.r7i.8xlarge  |  32  |  256  | 
|  dms.r7i.12xlarge  |  48  |  384  | 
|  dms.r7i.16xlarge  |  64  |  512  | 
|  dms.r7i.24xlarge  |  96  |  768  | 
|  dms.r7i.48xlarge  |  192  |  1536  | 

上表列出了所有 AWS DMS 复制实例类型，但您所在地区的可用类型可能会有所不同。要查看您所在区域的可用复制实例类型，可以运行以下 [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/dms/index.html) 命令：

```
aws dms describe-orderable-replication-instances --region your_region_name
```

**Topics**
+ [决定使用哪个实例类](#CHAP_ReplicationInstance.Types.Deciding)
+ [对可突增性能实例使用无限模式](#CHAP_ReplicationInstance.Types.UnlimitedMode)

## 决定使用哪个实例类
<a name="CHAP_ReplicationInstance.Types.Deciding"></a>

为了帮助确定哪个复制实例类最适合您，让我们来看看 AWS DMS 使用的变更数据捕获 (CDC) 流程。

假设您运行的是完全加载加 CDC 任务（批量加载加持续复制）。在这种情况下，任务有自己的 SQLite 存储库来存储元数据和其他信息。在 AWS DMS 开始满负荷之前，需要执行以下步骤：
+ AWS DMS 开始捕获它正在从源引擎的事务日志中迁移的表的更改（我们称之为*缓存的更改*）。完全加载完成后，将收集这些缓存的更改并将其应用于目标中。根据缓存更改的量，可以直接从内存中应用这些更改，最初在内存中收集更改，并一直收集到设定的阈值。或者，也可以从内存中无法保存更改时将更改写入到的磁盘中应用更改。
+ 应用缓存的更改后，默认情况下 AWS DMS 会在目标实例上启动事务性应用进程。

在应用缓存更改阶段和正在进行的复制阶段， AWS DMS 使用两个流缓冲区，每个缓冲区用于传入和传出数据。 AWS DMS 还使用了一个名为分*拣器的重要组件，*它是另一个内存缓冲区。下面是排序器组件的两个重要用法 (还有其他用法)：
+ 它跟踪所有事务并确保只将相关事务转发至传出缓冲区。
+ 它确保按照与源中相同的提交顺序转发事务。

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

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

## 对可突增性能实例使用无限模式
<a name="CHAP_ReplicationInstance.Types.UnlimitedMode"></a>

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

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

有关 T3 实例的 `unlimited` 模式的更多信息，请参阅《Amazon EC2 用户指南》**中的[可突增性能实例的无限模式](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode.html)。

**重要**  
如果您使用的 `dms.t3.micro` 实例享受 [AWS 免费套餐](https://aws.amazon.com/free/)优惠，并在 `unlimited` 模式下使用该实例，可能会收取相应的费用。特别是，如果连续 24 小时内的平均利用率超过实例的基准利用率，可能需要收取相应费用。有关更多信息，请参阅《Amazon EC2 用户指南》**中的[基准利用率](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html#baseline_performance)。  
T3 实例默认情况下作为 `unlimited` 启动。如果滚动 24 小时内的平均 CPU 使用率超过基准，将会产生超额积分费用。在某些情况下，您可以使用 `unlimited` 模式启动 T3 竞价型实例，并计划立即短时间使用它们。如果您在没有空闲时间来累积 CPU 积分的情况下这样做，则会产生超额积分费用。建议您使用标准模式启动 T3 竞价型实例，以避免支付更高的费用。有关更多信息，请参阅《Amazon EC2 用户指南》**中的[超额积分会产生费用](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits)、[T3 竞价型实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-limits.html#t3-spot-instances)和[可突增性能实例的标准模式](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-standard-mode.html)。