Instancias optimizadas para almacenamiento - Amazon Elastic Compute Cloud

Instancias optimizadas para almacenamiento

Las instancias optimizadas para almacenamiento se diseñan para cargas de trabajo que requieren un alto acceso de lectura y escritura secuencial a grandes conjuntos de datos en almacenamiento local. Se optimizan para ofrecer decenas de miles de operaciones de E/S aleatorias de baja latencia por segundo (IOPS) para las aplicaciones.

Instancias D2

Estas instancias están especialmente indicadas para lo siguiente:

  • Almacén de datos de procesamiento masivo en paralelo (MPP)

  • Computación distribuida de MapReduce y Hadoop

  • Aplicaciones de procesamiento de datos o registros

Instancias D3 y D3en

Estas instancias ofrecen escalado ascendente de almacenamiento de la instancia y son adecuadas para las siguientes aplicaciones:

  • Sistemas de archivos distribuidos para cargas de trabajo de Hadoop

  • Cargas de trabajo de almacenamiento de archivos como GPFC y BeEFS

  • Grandes lagos de datos para cargas de trabajo HPC

Instancias H1

Estas instancias están especialmente indicadas para lo siguiente:

  • Cargas de trabajo con un uso intensivo de datos, como MapReduce y sistemas de archivos distribuidos

  • Aplicaciones que necesitan un acceso secuencial a una gran cantidad de datos en el almacén de instancias conectada directa

  • Aplicaciones que requieren acceso de alto rendimiento a grandes cantidades de datos

Instancias I3 e I3en

Estas instancias están especialmente indicadas para lo siguiente:

  • Sistemas de procesamiento de transacciones online (OLTP) de alta frecuencia

  • Bases de datos relacionales

  • Bases de datos NoSQL

  • Caché para bases de datos en memoria (por ejemplo, Redis)

  • Aplicaciones de almacenamiento de datos.

  • Sistemas de archivos distribuidos

Las instancias bare metal proporcionan a las aplicaciones acceso directo a los recursos físicos del servidor del host, como los procesadores o la memoria.

Para obtener más información, consulte Instancias de Amazon EC2 I3.

Instancias I4i

Estas instancias son adecuadas para cargas de trabajo intensivas de E/S que requieren conjuntos de datos de tamaño pequeño a mediano en almacenamiento local, como bases de datos transaccionales y bases de datos NoSQL.

Para obtener más información, consulte Instancias I4i de Amazon EC2.

Especificaciones de hardware

A continuación, se presenta un resumen de las especificaciones de hardware que requieren las instancias optimizadas para almacenamiento. Una unidad de procesamiento central virtual (vCPU) representa una parte de la CPU física asignada a una máquina virtual (VM). Para las instancias x86, hay dos vCPU por núcleo. Para las instancias Graviton, hay una vCPU por núcleo.

Tipo de instancia vCPU predeterminadas Memoria (GiB)
d2.xlarge 4 30,5
d2.2xlarge 8 61
d2.4xlarge 16 122
d2.8xlarge 36 244
d3.xlarge 4 32
d3.2xlarge 8 64
d3.4xlarge 16 128
d3.8xlarge 32 256
d3en.large 2 8
d3en.xlarge 4 16
d3en.2xlarge 8 32
d3en.4xlarge 16 64
d3en.6xlarge 24 96
d3en.8xlarge 32 128
d3en.12xlarge 48 192
h1.2xlarge 8 32
h1.4xlarge 16 64
h1.8xlarge 32 128
h1.16xlarge 64 256
i3.large 2 15,25
i3.xlarge 4 30,5
i3.2xlarge 8 61
i3.4xlarge 16 122
i3.8xlarge 32 244
i3.16xlarge 64 488
i3.metal 72 512
i3en.large 2 16
i3en.xlarge 4 32
i3en.2xlarge 8 64
i3en.3xlarge 12 96
i3en.6xlarge 24 192
i3en.12xlarge 48 384
i3en.24xlarge 96 768
i3en.metal 96 768
i4i.large 2 16
i4i.xlarge 4 32
i4i.2xlarge 8 64
i4i.4xlarge 16 128
i4i.8xlarge 32 256
i4i.16xlarge 64 512
i4i.32xlarge 128 1 024
i4i.metal 128 1 024

Las instancias optimizadas para el almacenamiento de información utilizan los siguientes procesadores.

Procesadores AWS Graviton

  • AWS Graviton2: Im4gn, Is4gen

Procesadores Intel

  • Procesadores Intel Xeon Scalable (Haswell E5-2676 v3): D2

  • Procesadores Intel Xeon Scalable (Broadwell E5-2686 v4): H1, I3

  • Procesadores Intel Xeon Scalable (Skylake 8175M o Cascade Lake 8259CL): I3en

  • Procesadores Intel Xeon Scalable de 2.ª generación (Cascade Lake 8259CL): D3, D3en

  • Procesadores Intel Xeon Scalable de 3.ª generación (Ice Lake 8375C): I4i

Para obtener más información, consulte Tipos de instancia Amazon EC2.

El rendimiento de las instancias

Para garantizar el mejor rendimiento del disco desde una instancia en Linux, se recomienda utilizar la versión más reciente de Amazon Linux 2 o la Amazon Linux AMI.

Para instancias con volúmenes de almacén de instancias NVMe, debe utilizar una AMI de Linux con versión de kernel 4.4 o posterior. De lo contrario, la instancia no alcanzará el rendimiento máximo de IOPS disponible.

Las instancias D2 ofrecen el mejor rendimiento de disco al utilizar un kernel Linux que admita concesiones persistentes, una extensión del protocolo de anillo de bloque Xen que mejora en gran medida la capacidad de proceso y la escalabilidad del disco. Para obtener más información acerca de concesiones persistentes, consulte este artículo en el blog Xen Project.

Las instancias optimizadas para EBS permiten obtener un alto rendimiento de forma uniforme para sus volúmenes de EBS al eliminar la contención entre la E/S de Amazon EBS y otro tráfico de red procedente de la instancia. Algunas instancias optimizadas para almacenamiento están optimizadas para EBS de forma predeterminada sin costos adicionales. Para obtener más información, consulte Instancias optimizadas para Amazon EBS.

Algunos tipos de instancia optimizadas para almacenamiento ofrecen la capacidad de controlar los estados C y P del procesador en Linux. Los estados C controlan los niveles de suspensión en los que puede entrar un núcleo cuando está inactivo, mientras que los estados P controlan el rendimiento deseado (en frecuencia de CPU) desde un núcleo. Para obtener más información, consulte Control de los estados del procesador de la instancia EC2.

Rendimiento de la red

Puede habilitar redes mejoradas en tipos de instancias compatibles para proporcionar latencias más bajas, menor fluctuación de red y mayor rendimiento de paquete por segundo (PPS). La mayoría de las aplicaciones no necesitan constantemente un alto nivel de rendimiento de la red, pero pueden beneficiarse del acceso a un mayor ancho de banda cuando envían o reciben datos. Para obtener más información, consulte Redes mejoradas en Linux.

A continuación, se presenta un resumen del rendimiento de la red de las instancias almacenamiento para computación que admiten las redes mejoradas.

Tipo de instancia Rendimiento de la red Redes mejoradas
d2.xlarge Moderado Intel 82599 VF
d2.2xlarge | d2.4xlarge Alta Intel 82599 VF
i3.4xlarge y menor | i4i.xlarge y menor Hasta 10 Gbps † ENA
d2.8xlarge 10 Gbps Intel 82599 VF
i3.8xlarge | h1.8xlarge 10 Gbps ENA
i4i.2xlarge Hasta 12 Gbps † ENA
d3.4xlarge y menores Hasta 15 Gbps † ENA
i4i.8xlarge 18,75 Gbps ENA
d3en.2xlarge e inferior | i3en.3xlarge e inferior | i4i.4xlarge Hasta 25 Gbps † ENA
d3.8xlarge | d3en.4xlarge | h1.16xlarge | i3.16xlarge | i3.metal | i3en.6xlarge 25 Gbps ENA
i4i.16xlarge 37,5 Gbps ENA
d3en.6xlarge 40 Gbps ENA
d3.8xlarge | d3en.8xlarge | i3en.12xlarge 50 Gbps ENA
d3en.12xlarge | i4i.32xlarge | i4i.metal 75 Gbps ENA
i3en.24xlarge | i3en.metal 100 Gbps ENA, EFA

† Estas instancias tienen una banda ancha de base y pueden utilizar un mecanismo de créditos de E/S de red para superar la banda ancha de base en función del esfuerzo. Para obtener más información, consulte Banda ancha de instancias de red.

Tipo de instancia Banda ancha de base (Gbps) Banda ancha con ráfagas (Gbps)
d3.xlarge 3 15
d3.2xlarge 6 15
d3.4xlarge 12,5 15
d3en.large 3 25
d3en.xlarge 6 25
d3en.2xlarge 12,5 25
i3.large 0,75 10
i3.xlarge 1,25 10
i3.2xlarge 2,5 10
i3.4xlarge 5 10
i3en.large 2,1 25
i3en.xlarge 4,2 25
i3en.2xlarge 8,4 25
i3en.3xlarge 12,5 25
i4i.large 0,78125 10
i4i.xlarge 1,875 10
i4i.2xlarge 4,687 12
i4i.4xlarge 9,375 25

Rendimiento de E/S del volumen de almacén de instancias

El almacenamiento de datos principal para instancias D2, D3 y D3en son volúmenes de almacén de instancias de HDD. El almacenamiento de datos principal para instancias I3 y I3en son volúmenes de almacén de instancias SSD de memoria rápida no volátil (NVMe).

Los volúmenes de almacén de instancias solo se conservan durante la vida de la instancia. Cuando una instancia se detiene, termina o se pone en hibernación, se borran las aplicaciones y los datos de sus volúmenes del almacén de instancias. Se recomienda realizar backups habitualmente o replicar los datos importantes en los volúmenes de almacén de instancias. Para obtener más información, consulte Almacén de instancias Amazon EC2 y Volúmenes de almacén de instancias SSD.

Si se utiliza una AMI de Linux con la versión del kernel 4.4 o posterior y se utilizan todos los volúmenes del almacén de instancias basados en SSD disponibles para la instancia, se puede obtener el rendimiento de IOPS (tamaño de bloque de 4096 bytes) indicado en la tabla siguiente como máximo (en saturación de profundidad de cola). De lo contrario, obtendrá un rendimiento de IOPS inferior.

Tamaño de instancia IOPS de lectura aleatoria al 100% IOPS de escritura
i3.large 100.125 35.000
i3.xlarge 206.250 70.000
i3.2xlarge 412.500 180.000
i3.4xlarge 825.000 360.000
i3.8xlarge 1.650.000 720.000
i3.16xlarge 3 300 000 1.400.000
i3.metal 3 300 000 1.400.000
i3en.large 42.500 32.500
i3en.xlarge 85.000 65.000
i3en.2xlarge 170.000 130.000
i3en.3xlarge 250.000 200.000
i3en.6xlarge 500.000 400.000
i3en.12xlarge 1 000 000 800.000
i3en.24xlarge 2 000 000 1 600 000
i3en.metal 2 000 000 1 600 000
i4i.large 50 000 27 500
i4i.xlarge 100 000 55 000
i4i.2xlarge 200.000 110 000
i4i.4xlarge 400.000 220 000
i4i.8xlarge 800.000 440 000
i4i.16xlarge 1 600 000 880 000
i4i.32xlarge 3 200 000 1 760 000
i4i.metal 3 200 000 1 760 000

A medida que se rellenan los volúmenes de almacenamiento de instancias basados en SSD, el rendimiento de E/S que obtiene se reduce. Esto se debe al trabajo adicional que debe realizar el controlador SSD para encontrar espacio disponible, volver a escribir los datos existentes y borrar el espacio no utilizado para que se pueda volver a escribir. Este proceso de recopilación de elementos no utilizados genera una amplificación de escritura interna en el SSD, expresada como ratio de operaciones de escritura de SSD con respecto a las operaciones de escritura del usuario. Este descenso del rendimiento es aún mayor si las operaciones de escritura no están en múltiplos de 4096 bytes o no están alineadas con un límite de 4096 bytes. Si escribe una cantidad más pequeña de bytes o bytes que no están alineados, el controlador SSD debe leer los datos circundantes y almacenar el resultado en una nueva ubicación. Este patrón genera una amplificación de escritura significativamente mayor, una mayor latencia y se reduce en gran medida el rendimiento de E/S.

Los controladores SSD pueden utilizar varias estrategias para reducir el impacto de la amplificación de escritura. Una de estas estrategias es reservar espacio en el almacén de instancias SSD para que el controlador pueda administrar con más eficiencia el espacio disponible para las operaciones de escritura. Esto se llama aprovisionamiento excesivo. Los volúmenes de almacén de instancias basadas en SSD proporcionados para una instancia no tienen espacio reservado para el aprovisionamiento excesivo. Para reducir la amplificación de escritura, recomendamos dejar un 10% del volumen sin particiones, de modo que el controlador SSD pueda utilizarlo para el aprovisionamiento excesivo. Esto reduce el almacenamiento que se puede utilizar, pero aumenta el rendimiento aunque el disco esté a punto de llegar a su capacidad máxima.

Para los volúmenes de almacén de instancias que admiten TRIM, puede utilizar el comando TRIM para notificar al controlador SSD cuando deje de necesitar los datos que ha escrito. Esto aporta al controlador más espacio libre, lo que puede reducir la amplificación de escritura y aumentar el rendimiento. Para obtener más información, consulte Soporte TRIM del volumen de almacén de instancias.

Características de las instancias

A continuación, se indica un resumen de las características de las instancias optimizadas para almacenamiento.

EBS solo Almacén de instancias Grupo de ubicación

D2

No

HDD

D3

No

HDD *

D3en

No

HDD *

H1

No

HDD *

I3

No

NVMe *

l3en

No

NVMe *

I4i No NVMe *

* El volumen del dispositivo raíz debe ser un volumen de Amazon EBS.

Para obtener más información, consulte los siguientes temas:

Compatibilidad con vCPU

El tipo de instancia d2.8xlarge ofrece 36 vCPU, lo que podría causar problemas de lanzamiento en algunos sistemas operativos Linux con un límite de 32 vCPU. Recomendamos encarecidamente que utilice las últimas AMI al lanzar las instancias d2.8xlarge.

Las siguientes AMI de Linux admiten el lanzamiento de instancias d2.8xlarge con 36 vCPU:

  • Amazon Linux 2 (HVM)

  • AMI de Amazon Linux 2018.03 (HVM)

  • Ubuntu Server 14.04 LTS (HVM) o una versión posterior

  • Red Hat Enterprise Linux 7.1 (HVM)

  • SUSE Linux Enterprise Server 12 (HVM)

Si debe utilizar una AMI distinta para la aplicación y el lanzamiento de la instancia d2.8xlarge no se completa correctamente (por ejemplo, si el estado de la instancia cambia a stopped durante el lanzamiento con un motivo de transición de estado Client.InstanceInitiatedShutdown), modifique la instancia tal y como se describe en el siguiente procedimiento para admitir más de 32 vCPU y poder utilizar el tipo de instancia d2.8xlarge.

Para actualizar una instancia para que admita más de 32 vCPU

  1. Lance una instancia D2 con la AMI, eligiendo cualquier tipo de instancia D2 que no sea d2.8xlarge.

  2. Actualice el kernel a la versión más reciente siguiendo las instrucciones específicas del sistema operativo. Por ejemplo, para RHEL 6, use el comando siguiente:

    sudo yum update -y kernel
  3. Detenga la instancia.

  4. (Opcional) Cree una AMI a partir de la instancia que pueda utilizar para lanzar cualquier instancia d2.8xlarge adicional que necesite en el futuro.

  5. Cambie el tipo de instancia de la instancia detenida por d2.8xlarge (elija Actions [Acciones], Instance settings [Configuración de la instancia], Change instance type [Cambiar tipo de instancia]), y luego siga las indicaciones).

  6. Inicie la instancia. Si la instancia se lanza correctamente, ha terminado. Si la instancia aún no arranca correctamente, vaya al siguiente paso.

  7. (Opcional) Si la instancia sigue sin arrancar correctamente, es posible que el kernel de la instancia no admita más de 32 vCPU. No obstante, si limita el número de vCPU, quizás pueda arrancar la instancia.

    1. Cambie el tipo de instancia de la instancia detenida por cualquier tipo de instancia D2 que no sea d2.8xlarge (elija Actions [Acciones], Instance settings [Configuración de la instancia], Change instance type [Cambiar tipo de instancia], y luego siga las indicaciones).

    2. Añada la opción maxcpus=32 a los parámetros de kernel de arranque, siguiendo las instrucciones específicas del sistema operativo. Por ejemplo, para RHEL 6, edite el archivo /boot/grub/menu.lst y añada la siguiente opción a la entrada de kernel activa más reciente:

      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. Detenga la instancia.

    4. (Opcional) Cree una AMI a partir de la instancia que pueda utilizar para lanzar cualquier instancia d2.8xlarge adicional que necesite en el futuro.

    5. Cambie el tipo de instancia de la instancia detenida por d2.8xlarge (elija Actions [Acciones], Instance settings [Configuración de la instancia], Change instance type [Cambiar tipo de instancia], y luego siga las indicaciones).

    6. Inicie la instancia.

Notas de la versión

  • Las instancias creadas en el sistema Nitro tienen los siguientes requisitos:

    Las AMI para Linux siguientes cumplen estos requisitos:

    • Amazon Linux 2

    • Amazon Linux AMI 2018.03

    • Ubuntu 14.04 (con kernel linux-aws) o versiones posteriores

    • Red Hat Enterprise Linux 7.4 o versiones posteriores

    • SUSE Linux Enterprise Server 12 SP2 o versiones posteriores

    • CentOS 7.4.1708 o versiones posteriores

    • FreeBSD 11.1 o versiones posteriores

    • Debian GNU/Linux 9 o versiones posteriores

  • Si lanza una instancia "bare metal", arrancará el servidor subyacente, lo que incluye verificar todos los componentes de hardware y de firmware. Esto, a su vez, supone que se tardarán 20 minutos desde el momento en que la instancia entre en estado de ejecución hasta que pase a estar disponible en la red.

  • Para adjuntar o desconectar volúmenes EBS o interfaces de red secundarias de una instancia bare metal, es preciso admitir la conexión en caliente nativa de PCIe. Amazon Linux 2 y las versiones más recientes de la AMI de Amazon Linux admiten la conexión en caliente nativa de PCIe, pero no así las versiones anteriores. Debe habilitar las opciones de configuración de kernel de Linux siguientes:

    CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEASPM=y
  • Las instancias "bare metal" usan un dispositivo en serie basado en PCI en vez de un dispositivo en serie basado en puerto de E/S. El kernel de Linux ascendente y las últimas AMI de Amazon Linux son compatibles con este dispositivo. Las instancias "bare metal" también proporcionan una tabla SPCR de ACPI para permitir que el sistema use automáticamente el dispositivo en serie basado en PCI. Las últimas AMI de Windows usan automáticamente el dispositivo en serie basado en PCI.

  • En cuanto a las AMI de FreeBSD, las instancias bare metal tardan casi una hora en arrancar y la E/S al almacenamiento NVMe local no se completa. Como solución provisional, añada la línea siguiente a /boot/loader.conf y reinicie:

    hw.nvme.per_cpu_io_queues="0"
  • El tipo de instancia d2.8xlarge tiene 36 vCPU, lo que podría causar problemas de lanzamiento en algunos sistemas operativos Linux con un límite de 32 vCPU. Para obtener más información, consulte Compatibilidad con vCPU.

  • Las instancias d3.8xlarge y d3en.12xlarge admiten un máximo de tres conexiones, incluido el volumen raíz. Si supera el límite de conexiones cuando agrega una interfaz de red o un volumen de EBS, esto provoca problemas de conexión en la instancia.

  • El número total de instancias que se puede lanzar en una región tiene un límite y existen límites adicionales para algunos tipos de instancia. Para obtener más información, consulte ¿Cuántas instancias puedo ejecutar en Amazon EC2? en las preguntas frecuentes de Amazon EC2.