存储优化型实例 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

存储优化型实例

注意

有关详细的实例类型规范,请参阅 Amazon EC2 Instance Types Guide。有关定价信息,请参阅 Amazon EC2 实例类型

存储优化型实例适用于需要对本地存储上的极大型数据集进行高性能顺序读写访问的工作负载。它们经过了优化,可以向应用程序提供每秒上万次低延迟性随机 I/O 操作 (IOPS)。有关更多信息,包括所使用的技术,请参阅 Amazon EC2 Instance Type Details(Amazon EC2 实例类型详细信息)页面。

D2 实例

这些实例非常适合以下用途:

  • 大规模并行处理 (MPP) 数据仓库

  • MapReduce 和 Hadoop 分布式计算

  • 日志或数据处理应用程序

D3 和 D3en 实例

这些实例提供了实例存储扩展,非常适合以下用途:

  • 适用于 Hadoop 工作负载的分布式文件系统

  • 文件存储工作负载,如 GPFC 和 BeeFS

  • 适用于 HPC 工作负载的大型数据湖

H1 实例

这些实例非常适合以下用途:

  • 数据密集型工作负载,例如,MapReduce 和分布式文件系统

  • 需要顺序访问直接附加的实例存储上的大量数据的应用程序

  • 需要以高吞吐量方式访问大量数据的应用程序

I3 和 I3en 实例

这些实例非常适合以下用途:

  • 高频率联机事务处理 (OLTP) 系统

  • 关系数据库

  • NoSQL 数据库

  • 内存中数据库 (例如,Redis) 的缓存

  • 数据仓库应用程序

  • 分布式文件系统

裸机实例为应用程序提供对主机服务器的物理资源(如处理器和内存)的直接访问。

I4i 实例

这些实例非常适合存在大量输入/输出的工作负载,这类工作负载需要使用本地存储上的中小型数据集(例如事务数据库和 NoSQL 数据库)。

I4g 实例

I4g 实例采用 Amazon Graviton 2 处理器和 Amazon Nitro 固态硬盘。I4g 实例非常适合执行大量混合随机读取/写入操作、对 I/O 延迟高度敏感以及需要高 CPU 性能的工作负载,例如 SQL 或 NoSQL 数据库、在线事务处理和实时分析。有关更多信息,请参阅 Amazon EC2 I4g 实例

Im4gn 实例

这些实例非常适合在低延迟下需要高随机输入/输出性能的工作负载,例如:

  • 关系数据库

  • NoSQL 数据库

  • Search

  • 分布式文件系统

Is4gen 实例

这些实例非常适合在低延迟下需要高随机输入/输出性能的工作负载,例如:

  • NoSQL 数据库

  • 索引

  • 流式处理

  • 缓存

  • 热存储

硬件规格

以下是存储优化型实例的硬件规格摘要。虚拟中央处理单元(vCPU)表示分配给虚拟机(VM)的物理 CPU 的一部分。对于 x86 实例,每个内核有两个 vCPU。对于 Graviton 实例,每个内核有一个 vCPU。

实例类型 默认 vCPU 内存 (GiB)
d2.xlarge 4 30.50
d2.2xlarge 8 61.00
d2.4xlarge 16 122.00
d2.8xlarge 36 244.00
d3.xlarge 4 32.00
d3.2xlarge 8 64.00
d3.4xlarge 16 128.00
d3.8xlarge 32 256.00
d3en.xlarge 4 16.00
d3en.2xlarge 8 32.00
d3en.4xlarge 16 64.00
d3en.6xlarge 24 96.00
d3en.8xlarge 32 128.00
d3en.12xlarge 48 192.00
h1.2xlarge 8 32.00
h1.4xlarge 16 64.00
h1.8xlarge 32 128.00
h1.16xlarge 64 256.00
i2.xlarge 4 30.50
i2.2xlarge 8 61.00
i2.4xlarge 16 122.00
i2.8xlarge 32 244.00
i3.large 2 15.25
i3.xlarge 4 30.50
i3.2xlarge 8 61.00
i3.4xlarge 16 122.00
i3.8xlarge 32 244.00
i3.16xlarge 64 488.00
i3.metal 72 512.00
i3en.large 2 16.00
i3en.xlarge 4 32.00
i3en.2xlarge 8 64.00
i3en.3xlarge 12 96.00
i3en.6xlarge 24 192.00
i3en.12xlarge 48 384.00
i3en.24xlarge 96 768.00
i3en.metal 96 768.00
i4g.large 2 16.00
i4g.xlarge 4 32.00
i4g.2xlarge 8 64.00
i4g.4xlarge 16 128.00
i4g.8xlarge 32 256.00
i4g.16xlarge 64 512.00
i4i.large 2 16.00
i4i.xlarge 4 32.00
i4i.2xlarge 8 64.00
i4i.4xlarge 16 128.00
i4i.8xlarge 32 256.00
i4i.12xlarge 48 384.00
i4i.16xlarge 64 512.00
i4i.24xlarge 96 768.00
i4i.32xlarge 128 1024.00
i4i.metal 128 1024.00
im4gn.large 2 8.00
im4gn.xlarge 4 16.00
im4gn.2xlarge 8 32.00
im4gn.4xlarge 16 64.00
im4gn.8xlarge 32 128.00
im4gn.16xlarge 64 256.00
is4gen.medium 1 6.00
is4gen.large 2 12.00
is4gen.xlarge 4 24.00
is4gen.2xlarge 8 48.00
is4gen.4xlarge 16 96.00
is4gen.8xlarge 32 192.00

存储优化的实例使用以下处理器。

Amazon Graviton 处理器
  • Amazon Graviton2:Im4gn、Is4gen、I4g

英特尔处理器
  • 英特尔至强可扩展处理器(Haswell E5-2676 v3):D2

  • 英特尔至强可扩展处理器(Broadwell E5-2686 v4):H1、I3

  • 英特尔至强可扩展处理器(Skylake 8175M 或 Cascade Lake 8259CL):I3en

  • 第二代英特尔至强可扩展处理器(Cascade Lake 8259CL):D3、D3en

  • 第三代英特尔至强可扩展处理器(Ice Lake 8375C):I4i

有关详细的实例类型规范,请参阅 Amazon EC2 Instance Types Guide。有关定价信息,请参阅 Amazon EC2 实例类型

实例性能

要确保 Linux 上的实例实现最佳磁盘吞吐量性能,建议您使用最新版本的 Amazon Linux 2 或 Amazon Linux AMI。

对于具有 NVMe 实例存储卷的实例,您必须使用内核版本为 4.4 或更高版本的 Linux AMI。否则,您的实例将无法实现可用的最大 IOPS 性能。

如果使用可支持持久授予 (可显著提高磁盘吞吐量和可扩展性的 Xen 数据块环协议的扩展) 的 Linux 内核,D2 实例可提供最佳磁盘性能。有关持久授予的更多信息,请参阅 Xen 项目博客中的文章

通过 EBS 优化的实例,您可以消除 Amazon EBS I/O 与 实例的其他网络流量之间的争用,从而使 EBS 卷持续获得高性能。有些存储优化型实例在默认情况下会进行 EBS 优化,这不会产生额外的费用。有关更多信息,请参阅Amazon EBS 优化的实例

有些存储优化型实例类型提供了在 Linux 上控制处理器 C 状态和 P 状态的功能。C 状态控制当核心处理非活动状态时可以进入的睡眠级别,而 P 状态控制核心的所需性能 (以 CPU 频率的形式)。有关更多信息,请参阅您的 EC2 实例的处理器状态控制

网络性能

您可以为受支持的实例类型启用增强联网,以提供更低的延迟、更低的网络抖动和更高的每秒数据包数 (PPS) 性能。大多数应用程序并非始终需要较高的网络性能,但较高的带宽有助于其发送或接收数据。有关更多信息,请参阅Linux 上的增强联网

以下是支持增强联网的存储优化型实例的网络性能摘要。

注意

标有 的实例类型具备基准带宽,并且可以通过网络输入/输出积分机制,尽可能将其基准带宽突增到基准以上。有关更多信息,请参阅实例网络带宽

实例类型 网络性能 增强联网功能
d2.xlarge Intel 82599 VF
d2.2xlarge Intel 82599 VF
d2.4xlarge Intel 82599 VF
d2.8xlarge 10Gb Intel 82599 VF
d3.xlarge 高达 15Gb ENA
d3.2xlarge 高达 15Gb ENA
d3.4xlarge 高达 15Gb ENA
d3.8xlarge 25Gb ENA
d3en.xlarge 高达 25Gb ENA
d3en.2xlarge 高达 25Gb ENA
d3en.4xlarge 25Gb ENA
d3en.6xlarge 40Gb ENA
d3en.8xlarge 50Gb ENA
d3en.12xlarge 75Gb ENA
h1.2xlarge 高达 10Gb ENA
h1.4xlarge 高达 10Gb ENA
h1.8xlarge 10Gb ENA
h1.16xlarge 25Gb ENA
i2.xlarge Intel 82599 VF
i2.2xlarge Intel 82599 VF
i2.4xlarge Intel 82599 VF
i2.8xlarge 10Gb Intel 82599 VF
i3.large 高达 10Gb ENA
i3.xlarge 高达 10Gb ENA
i3.2xlarge 高达 10Gb ENA
i3.4xlarge 高达 10Gb ENA
i3.8xlarge 10Gb ENA
i3.16xlarge 25Gb ENA
i3.metal 25Gb ENA
i3en.large 高达 25Gb ENA
i3en.xlarge 高达 25Gb ENA
i3en.2xlarge 高达 25Gb ENA
i3en.3xlarge 高达 25Gb ENA
i3en.6xlarge 25Gb ENA
i3en.12xlarge 50Gb ENA | EFA
i3en.24xlarge 100Gb ENA | EFA
i3en.metal 100Gb ENA | EFA
i4g.large 高达 10Gb ENA
i4g.xlarge 高达 10Gb ENA
i4g.2xlarge 高达 12Gb ENA
i4g.4xlarge 高达 25Gb ENA
i4g.8xlarge 18.75Gb ENA
i4g.16xlarge 37.5Gb ENA | EFA
i4i.large 高达 10Gb ENA
i4i.xlarge 高达 10Gb ENA
i4i.2xlarge 高达 12Gb ENA
i4i.4xlarge 高达 25Gb ENA
i4i.8xlarge 18.75Gb ENA
i4i.12xlarge 28.12Gb ENA
i4i.16xlarge 37.5Gb ENA
i4i.24xlarge 56.25Gb ENA
i4i.32xlarge 75Gb ENA | EFA
i4i.metal 75Gb ENA | EFA
im4gn.large 高达 25Gb ENA
im4gn.xlarge 高达 25Gb ENA
im4gn.2xlarge 高达 25Gb ENA
im4gn.4xlarge 25Gb ENA
im4gn.8xlarge 50Gb ENA
im4gn.16xlarge 100Gb ENA | EFA
is4gen.medium 高达 25Gb ENA
is4gen.large 高达 25Gb ENA
is4gen.xlarge 高达 25Gb ENA
is4gen.2xlarge 高达 25Gb ENA
is4gen.4xlarge 25Gb ENA
is4gen.8xlarge 50Gb ENA

下表显示了实例类型的基准带宽和突增带宽,这些实例类型通过网络输入/输出积分机制将其基准带宽突增到基准以上。

实例类型 基准带宽 (Gbps) 突增带宽 (Gbps)
d3.xlarge 3.0 15.0
d3.2xlarge 6.0 15.0
d3.4xlarge 12.5 15.0
d3en.xlarge 6.0 25.0
d3en.2xlarge 12.5 25.0
h1.2xlarge 2.5 10.0
h1.4xlarge 5.0 10.0
i3.large 0.75 10.0
i3.xlarge 1.25 10.0
i3.2xlarge 2.5 10.0
i3.4xlarge 5.0 10.0
i3en.large 2.1 25.0
i3en.xlarge 4.2 25.0
i3en.2xlarge 8.4 25.0
i3en.3xlarge 12.5 25.0
i4g.large 0.781 10.0
i4g.xlarge 1.875 10.0
i4g.2xlarge 4.687 12.0
i4g.4xlarge 9.375 25.0
i4i.large 0.781 10.0
i4i.xlarge 1.875 10.0
i4i.2xlarge 4.687 12.0
i4i.4xlarge 9.375 25.0
im4gn.large 3.125 25.0
im4gn.xlarge 6.25 25.0
im4gn.2xlarge 12.5 25.0
is4gen.medium 1.562 25.0
is4gen.large 3.125 25.0
is4gen.xlarge 6.25 25.0
is4gen.2xlarge 12.5 25.0

Amazon EBS I/O 性能

Amazon EBS 优化型实例使用经过优化的配置堆栈,并为 Amazon EBS I/O 提供额外的专用容量。这种优化通过最小化 Amazon EBS I/O 与来自您实例的其他流量之间的争用,为您的 Amazon EBS 卷提供最佳性能。

有关更多信息,请参阅Amazon EBS 优化的实例

基于 SSD 的实例存储卷的 I/O 性能

D2、D3 和 D3en 实例的主要数据存储是 HDD 实例存储卷。I3 和 I3en 实例的主要数据存储是非易失性存储规范 (NVMe) SSD 实例存储卷。

实例存储卷仅在实例生命周期内保留。当您停止、休眠或终止某个实例时,其实例存储卷中的应用程序和数据会被擦除。我们建议您定期备份或复制实例存储卷中的重要数据。有关更多信息,请参阅 Amazon EC2 实例存储SSD 实例存储卷

如果您使用内核版本为 4.4 或更高版本的 Linux AMI 并使用可用于您的实例的、基于 SSD 的所有实例存储卷,则您最高可以获得下表所列的 IOPS(4096 字节的数据块大小)性能(在队列深度饱和时)。否则,您将获得较低的 IOPS 性能。

实例大小 100% 随机读取 IOPS 写入 IOPS
i3.large 103125 35000
i3.xlarge 206250 70000
i3.2xlarge 412500 180000
i3.4xlarge 825000 360000
i3.8xlarge 1650000 720000
i3.16xlarge 3300000 1440000
i3.metal 3300000 1440000
i3en.large 42500 32500
i3en.xlarge 85000 65000
i3en.2xlarge 170000 130000
i3en.3xlarge 250000 200000
i3en.6xlarge 500000 400000
i3en.12xlarge 1000000 800000
i3en.24xlarge 2000000 1600000
i3en.metal 2000000 1600000
i4g.large 31250 25000
i4g.xlarge 62500 50000
i4g.2xlarge 125000 100000
i4g.4xlarge 250000 200000
i4g.8xlarge 500000 400000
i4g.16xlarge 1000000 800000
i4i.large 50000 27500
i4i.xlarge 100000 55000
i4i.2xlarge 200000 110000
i4i.4xlarge 400000 220000
i4i.8xlarge 800000 440000
i4i.12xlarge 1200000 660000
i4i.16xlarge 1600000 880000
i4i.24xlarge 2400000 1320000
i4i.32xlarge 3200000 1760000
i4i.metal 3200000 1760000
im4gn.large 31250 25000
im4gn.xlarge 62500 50000
im4gn.2xlarge 125000 100000
im4gn.4xlarge 250000 200000
im4gn.8xlarge 500000 400000
im4gn.16xlarge 1000000 800000
is4gen.medium 31250 25000
is4gen.large 62500 50000
is4gen.xlarge 125000 100000
is4gen.2xlarge 250000 200000
is4gen.4xlarge 500000 400000
is4gen.8xlarge 1000000 800000

在填充基于 SSD 的实例存储卷时,您获得的 I/O 性能将会下降。这是因为,SSD 控制器必须执行额外的工作以查找可用的空间,重写现有的数据,以及擦除未使用的空间以进行重写。这一垃圾回收过程将导致对 SSD 的内部写入放大影响,这以 SSD 写入操作数相对于用户写入操作数的比率形式来表示。如果写入操作数并非 4096 字节的倍数,或不在 4096 字节这一边界上,则性能的降低会更明显。如果您写入的字节数较少或不在边界上,则 SSD 控制器必须读取周围的数据并在新位置存储结果。这种模式会大大增加写入放大的影响,加长延迟,并显著降低 I/O 性能。

SSD 控制器可以使用多种策略来减少写入放大的影响。其中的一个策略是在 SSD 实例存储中预订空间,以便控制器更高效地管理可用于写入操作的空间。这称为超额配置。为 实例提供的基于 SSD 的实例存储卷不会为超额配置预保留空白间。要减少写入放大问题造成的影响,建议您留出 10% 的卷空间不进行分区,以便 SSD 控制器可使用这部分空间来进行超额配置。虽然这会减少您可使用的存储空间,但可提高性能,即使磁盘容量快用完也是如此。

对于支持 TRIM 的实例存储卷,您可在不再需要已写入的数据时使用 TRIM 命令告知 SSD 控制器此情况。这将为控制器提供更多可用空间,从而可以减少写入放大的影响并提高性能。有关更多信息,请参阅实例存储卷 TRIM 支持

有关支持实例存储卷的所有实例类型的卷大小比较,请参阅 Available instance store volumes(可用的实例存储卷)表。

支持 个 vCPU

d2.8xlarge 实例类型提供了 36 个 vCPU,在某些 vCPU 数量限制为 32 个的 Linux 操作系统中可能会导致启动问题。强烈建议您在启动 d2.8xlarge 实例时,使用最新的 AMI。

以下 Linux AMI 支持启动具有 36 个 vCPU 的 d2.8xlarge 实例:

  • Amazon Linux 2 (HVM)

  • Amazon Linux AMI 2018.03 (HVM)

  • Ubuntu Server 14.04 LTS (HVM) 或更高版本

  • Red Hat Enterprise Linux 7.1 (HVM)

  • SUSE Linux Enterprise Server 12 (HVM)

如果必须为您的应用程序使用其他 AMI,并且您的 d2.8xlarge 实例启动未成功完成 (例如,如果您的实例状态在启动过程中因 stopped 状态转换原因而更改为 Client.InstanceInitiatedShutdown),则请修改您的实例 (如以下过程所述) 以支持 32 个以上的 vCPU,以便能够使用 d2.8xlarge 实例类型。

更新实例以支持 32 个以上的 vCPU
  1. 通过选择除 d2.8xlarge 以外的任何其他 D2 实例类型来使用您的 AMI 启动 D2 实例。

  2. 遵照特定于操作系统的说明,将内核更新到最新版本。例如,对于 RHEL 6,使用以下命令:

    sudo yum update -y kernel
  3. 停止实例。

  4. (可选) 从可用于启动其他任何您将来所需的 d2.8xlarge 实例的实例创建 AMI。

  5. 将已停止实例的实例类型更改为 d2.8xlarge [依次选择 Actions(操作)、Instance settings(实例设置)、Change instance type(更改实例类型),然后按照说明进行操作]。

  6. 启动实例。如果实例正确启动,则您已完成操作。如果实例仍未正确启动,请继续执行下一个步骤。

  7. (可选) 如果实例仍未正确启动,则实例上的内核可能不支持 32 个以上的 vCPU。但是,如果您限制 vCPU 的数量,则可能可以启动实例。

    1. 将已停止实例的实例类型更改为 d2.8xlarge 之外的任何 D2 实例类型 [依次选择 Actions(操作)、Instance settings(实例设置)、Change instance type(更改实例类型),然后按照说明进行操作]。

    2. 遵照特定于操作系统的说明,将 maxcpus=32 选项添加到您的启动内核参数。例如,对于 RHEL 6,编辑 /boot/grub/menu.lst 文件,并将以下选项添加到最近处于活动状态的 kernel 条目:

      default=0 timeout=1 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title Red Hat Enterprise Linux Server (2.6.32-504.3.3.el6.x86_64) root (hd0,0) kernel /boot/vmlinuz-2.6.32-504.3.3.el6.x86_64 maxcpus=32 console=ttyS0 ro root=UUID=9996863e-b964-47d3-a33b-3920974fdbd9 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 xen_blkfront.sda_is_xvda=1 console=ttyS0,115200n8 console=tty0 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM initrd /boot/initramfs-2.6.32-504.3.3.el6.x86_64.img
    3. 停止实例。

    4. (可选) 从可用于启动其他任何您将来所需的 d2.8xlarge 实例的实例创建 AMI。

    5. 将已停止实例的实例类型更改为 d2.8xlarge [依次选择 Actions(操作)、Instance settings(实例设置)、Change instance type(更改实例类型),然后按照说明进行操作]。

    6. 启动实例。

发布说明

  • r7a.metal-48xl 实例不支持 2023 年 7 月之前发布的 Windows Server 2019 AMI 和 Windows Server 2016 AMI。

  • 基于 Nitro 系统构建的实例具有以下要求:

    以下 Linux AMI 满足这些要求:

    • AL2023

    • Amazon Linux 2

    • Amazon Linux AMI 2018.03 和更高版本

    • Ubuntu 14.04 或更高版本(采用 linux-aws 内核)

      注意

      Amazon 基于 Graviton 的实例类型需要 Ubuntu 18.04 或更高版本(采用 linux-aws 内核)

    • Red Hat Enterprise Linux 7.4 或更高版本

    • SUSE Linux Enterprise Server 12 SP2 或更高版本

    • CentOS 7.4.1708 或更高版本

    • FreeBSD 11.1 或更高版本

    • Debian GNU/Linux 9 或更高版本

  • 具有 Amazon Graviton 处理器的实例具有以下要求:

    • 使用适用于 64 位 Arm 架构的 AMI。

    • 支持通过带有 ACPI 表的 UEFI 进行引导,以及支持 ACPI 热插拔 PCI 设备。

    以下 AMI 满足这些要求:

    • Amazon Linux 2(64 位 Arm)

    • Ubuntu 16.04 或更高版本(64 位 Arm)

    • Red Hat Enterprise Linux 8.0 或更高版本(64 位 Arm)

    • SUSE Linux Enterprise Server 15 或更高版本(64 位 Arm)

    • Debian 10 或更高版本(64 位 Arm)

  • 启动裸机实例会启动基础服务器,包含验证所有硬件和固件组件。这意味着从实例进入运行状态直至在网络上可用需要超过 20 分钟的时间。

  • 对裸机实例附加或分离 EBS 卷或辅助网络接口需要 PCIe 本机 hotplug 支持。Amazon Linux 2 和最新版本的 Amazon Linux AMI 支持 PCIe 本机 hotplug,但更早的版本不支持。必须启用以下 Linux 内核配置选项:

    CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEASPM=y
  • 裸机实例使用基于 PCI 的串行设备而不是基于 I/O 端口的串行设备。上游 Linux 内核和最新 Amazon Linux AMI 支持此设备。裸机实例还提供一个 ACPI SPCR 表,使系统能够自动使用基于 PCI 的串行设备。最新 Windows AMI 自动使用基于 PCI 的串行设备。

  • 如果是 FreeBSD AMI,裸机实例需要近 1 小时才能启动,并且不能完成到本地 NVMe 存储的 I/O。解决方法是将下面的代码行添加到 /boot/loader.conf 并重启:

    hw.nvme.per_cpu_io_queues="0"
  • d2.8xlarge 实例类型具有 36 个 vCPU,在某些 vCPU 数量限制为 32 个的 Linux 操作系统中可能会导致启动问题。有关更多信息,请参阅支持 个 vCPU

  • d3.8xlarged3en.12xlarge 实例最多支持三个挂载,包括根卷。如果在添加网络接口或 EBS 卷时超出挂载限制,则会导致实例出现挂载问题。

  • 在一个区域中可以启动的实例总数存在限制,某些实例类型还存在其他限制。有关更多信息,请参阅 Amazon EC2 常见问题解答中的我可以在 Amazon EC2 中运行多少个实例?