Amazon Elastic Compute Cloud
Guide de l'utilisateur pour les instances Linux

Instances de stockage optimisé

Les instances optimisées pour le stockage sont destinées à des charges de travail qui nécessitent un accès séquentiel en lecture et écriture important, pour des ensembles de données très volumineux stockés localement. Elles sont optimisées de façon à fournir des dizaines de milliers d'opérations d'E/S aléatoires à faible latence par seconde (IOPS) aux applications.

Instances D2

Les instances D2 conviennent parfaitement aux applications suivantes :

  • Entrepôt de données de traitement massivement parallèle (MPP)

  • Informatique distribuée MapReduce et Hadoop

  • Applications de consignation ou de traitement des données

Instances H1

Les instances H1 conviennent parfaitement aux applications suivantes :

  • Charges de travail gourmandes en données comme MapReduce et les systèmes de fichiers distribués

  • Applications nécessitant un accès séquentiel à d'importants volumes de données sur un stockage d'instance en attachement direct

  • Applications nécessitant un accès à débit élevé aux grandes quantités de données

Instances I3 et I3en

Ces instances conviennent parfaitement aux applications suivantes :

  • Systèmes de traitement de transaction en ligne (OLTP) à fréquence élevée

  • Bases de données relationnelles

  • Bases de données NoSQL

  • Cache pour les bases de données en mémoire (Redis par exemple)

  • Applications d'entreposage de données

  • Systèmes de fichiers distribués

Les instances i3.metal offrent à vos applications un accès direct aux ressources physiques du serveur hôte, telles que les processeurs et la mémoire. Ces instances conviennent à ce qui suit :

  • Charges de travail nécessitant un accès à des fonctions matérielles de bas niveau (Intel VT, par exemple) qui ne sont pas disponibles ou entièrement prises en charge dans les environnements virtualisés

  • Applications nécessitant un environnement non virtualisé pour des questions de licence ou d'assistance

Pour plus d'informations, consultez Instances I3 Amazon EC2.

Spécifications matérielles

Le stockage de données principal des instances D2 est constitué de volumes de stockage d'instance HDD. Le stockage de données principal des instances I3 est constitué de volumes de stockage d'instance SSD NVMe (Non-Volatile Memory Express).

Les volumes de stockage d'instances ne persistent que pendant la durée de vie de l'instance. Quand vous arrêtez une instance ou que vous la résiliez, les applications et les données figurant dans ses volumes de stockage d'instances sont effacées. Nous vous recommandons de sauvegarder ou de répliquer régulièrement les données importantes dans vos volumes de stockage d'instances. Pour plus d'informations, consultez Stockage d'instance Amazon EC2 et Volumes de stockage d'instance SSD.

Vous trouverez ci-dessous un résumé des spécifications matérielles relatives aux instances optimisées pour le stockage.

Type d'instance vCPU par défaut Mémoire (Gio)
d2.xlarge 4 30,5
d2.2xlarge 8 61
d2.4xlarge 16 122
d2.8xlarge 36 244
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

Pour plus d'informations sur les spécifications matérielles pour chaque type d'instance Amazon EC2, consultez la page Types d'instance Amazon EC2.

Pour plus d'informations sur la spécification des options d'UC, consultez Optimisations des options d'UC.

Performances des instances

Pour garantir les meilleures performances de débit de disque à partir de votre instance sous Linux, nous vous recommandons d'utiliser la version la plus récente d'Amazon Linux 2 ou de l'Amazon Linux AMI.

Pour les instances avec des volumes de stockage d'instance NVMe, vous devez utiliser une AMI Linux avec la version du noyau 4.4 ou ultérieure. Sinon, votre instance n'obtiendra pas les performances IOPS maximales.

Les instances D2 offrent les meilleures performances de disque lorsque vous utilisez un noyau Linux qui prend en charge les accords persistants, une extension du protocole d'anneau par bloc Xen qui améliore considérablement le débit et l'évolutivité du disque. Pour plus d'informations sur les accords persistants, consultez cet article sur le blog du projet Xen.

Les instances optimisées EBS vous permettent d'obtenir régulièrement des performances élevées pour vos volumes EBS en éliminant les conflits entre les E/S Amazon EBS et tout autre trafic réseau de votre instance Certaines instances optimisées pour le stockage sont optimisées pour EBS par défaut sans frais supplémentaires. Pour plus d'informations, consultez Amazon EBS–Instances optimisées.

Certains types d'instances optimisés pour le stockage offrent la possibilité de contrôler les états C et P du processeur sous Linux. Les états C contrôlent les niveaux de veille d'un noyau lorsqu'il est inactif, tandis que les états P contrôlent les performances attendues d'un noyau (en termes de fréquence d'UC). Pour plus d'informations, consultez Contrôle des états du processeur pour votre instance EC2.

Performances réseau

Vous pouvez activer les fonctionnalités de mise en réseau améliorée sur les types d'instance pris en charge. La mise en réseau améliorée fournit des performances de débit en paquets par seconde (PPS) nettement plus élevées, une instabilité réseau moindre et des latences réduites. Pour plus d'informations, consultez Mise en réseau améliorée sur Linux.

Les types d'instance qui utilisent Elastic Network Adapter (ENA) pour la mise en réseau améliorée fournissent des performances élevées de débit en paquets par seconde avec des latences régulièrement faibles. La plupart des applications ne nécessitent pas en permanence un haut niveau de performances réseau, mais peuvent tirer profit d'un accès à une bande passante accrue lorsqu'elles envoient ou reçoivent des données. Les tailles d'instance qui utilisent ENA et sont documentées avec des performances réseau pouvant atteindre 10 Gb/s ou 25 Gb/s utilisent un mécanisme de crédit d'E/S réseau pour allouer la bande passante réseau aux instances en fonction de l'utilisation moyenne de la bande passante. Ces instances accumulent des crédits lorsque la bande passante du réseau est inférieure à leurs limites de référence et peuvent les utiliser quand elles effectuent les transferts de données réseau.

Vous trouverez ci-dessous un résumé des performances réseau relatives aux instances optimisées pour le stockage qui prennent en charge la mise en réseau améliorée.

Type d'instance Performances réseau Mise en réseau améliorée

i3.4xlarge et tailles inférieures

Jusqu'à 10 Gbits/s, utilisation d'un mécanisme de crédit d'I/O réseau

ENA

i3.8xlarge | h1.8xlarge

10 Gb/s

ENA

i3en.3xlarge et tailles inférieures

Jusqu'à 25 Gbits/s, utilisation d'un mécanisme de crédit d'I/O réseau

ENA

i3.16xlarge | i3.metal | i3en.6xlarge | h1.16xlarge

25 Gb/s

ENA

i3en.12xlarge

50 Gb/s

ENA

i3en.24xlarge

100 Gb/s

ENA

d2.xlarge

Modérées

Intel 82599 VF
d2.2xlarge | d2.4xlarge

Élevé

Intel 82599 VF
d2.8xlarge

10 Gb/s

Intel 82599 VF

Performances d'E/S sur SSD

Si vous utilisez une AMI Linux avec un noyau de version 4.4 ou ultérieure et que vous utilisez tous les volumes de stockage d'instance basés sur SSD disponibles pour votre instance, vous pouvez obtenir les performances d'IOPS (taille de bloc de 4 096 octets) répertoriées dans le tableau suivant (lorsque la profondeur de la file d'attente est saturée). Sinon, vous obtenez des performances d'I/O inférieures.

Taille d'instance E/S par seconde en lecture aléatoires 100 % E/S par seconde en écriture

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.65 millions

720 000

i3.16xlarge

3.3 millions

1.4 millions

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 million

800 000

i3en.24xlarge

2 millions

1,6 millions.

* Pour ces instances, vous pouvez obtenir la performance spécifiée.

Au fur et à mesure que vous remplissez les volumes de stockage d'instance basés sur SSD, les performances d’I/O que vous obtenez diminuent. Ceci est dû au travail supplémentaire que le contrôleur SSD doit effectuer pour trouver de l'espace disponible, réécrire les données existantes et effacer l'espace non utilisé pour le rendre réinscriptible. Ce processus de nettoyage de la mémoire se traduit par une amplification d'écriture interne sur le disque SSD, exprimée sous la forme du rapport des opérations d'écriture SSD sur les opérations d'écriture utilisateur. Cette diminution des performances est encore plus importante si les opérations d'écriture ne sont pas exprimées en multiples de 4 096 octets ou ne sont pas alignées sur une limite de 4 096 octets. Si vous écrivez une quantité d'octets plus faible ou des octets qui ne sont pas alignés, le contrôleur SSD doit lire les données environnantes et stocker le résultat dans un nouvel emplacement. Ce modèle se traduit par une forte augmentation de l'amplification d'écriture, une latence accrue et une diminution considérable des performances d'E/S.

Les contrôleurs SSD peuvent utiliser plusieurs stratégies pour réduire l'impact de l'amplification d'écriture. Une telle stratégie consiste à réserver un espace dans le stockage d'instance SSD afin que le contrôleur puisse gérer efficacement l'espace disponible pour les opérations d'écriture. Cette solution est appelée sur-approvisionnement. Les volumes de stockage d'instance SSD fournis à une instance n'ont pas d'espace réservé pour le sur-approvisionnement. Pour réduire l'amplification d'écriture, nous vous conseillons de laisser 10 % du volume non partitionné que le contrôleur SSD pourra utiliser pour le sur-approvisionnement. Cela diminue le stockage que vous pouvez utiliser, mais augmente les performances même si le disque est proche de sa capacité maximale.

Pour les volumes de stockage d'instance qui prennent en charge TRIM, vous pouvez utiliser la commande TRIM pour informer le contrôleur SSD lorsque vous n'avez plus besoin des données que vous avez écrites. Cela fournit au contrôleur plus d'espace disponible, ce qui peut réduire l'amplification d'écriture et augmenter les performances. Pour plus d'informations, consultez Prise en charge de TRIM sur les volumes de stockage d'instance.

Fonctionnalités des instances

Voici un résumé des fonctionnalités destinées aux instances optimisées pour le stockage :

EBS uniquement Stockage d'instance Groupe de placement

D2

Non

HDD

Oui

H1

Non

HDD *

Oui

I3

Non

NVMe *

Oui

I3en

Non

NVMe *

Oui

* Le volume du périphérique racine doit être un volume Amazon EBS.

Pour plus d'informations, consultez les ressources suivantes :

Prise en charge de processeurs virtuels

Le type d'instance d2.8xlarge fournit 36 processeurs virtuels, ce qui peut provoquer des problèmes de lancement sur certains systèmes d'exploitation Linux dont la limite de processeurs virtuels est fixée à 32. Il est fortement recommandé d'utiliser les dernières AMI lors du lancement d'instances d2.8xlarge.

Les AMI Linux suivantes prennent en charge le lancement d'instances d2.8xlarge avec 36 processeurs virtuels :

  • Amazon Linux 2 (HVM)

  • Amazon Linux AMI 2018.03 (HVM)

  • Ubuntu Server 14.04 LTS (HVM) ou une version ultérieure

  • Red Hat Enterprise Linux 7.1 (HVM)

  • SUSE Linux Enterprise Server 12 (HVM)

Si vous devez utiliser une autre AMI pour votre application et que votre lancement d'instance d2.8xlarge ne se termine pas avec succès (par exemple, si le statut de votre instance se change en stopped pendant le lancement avec un motif de transition d'état Client.InstanceInitiatedShutdown), modifiez votre instance comme décrit dans la procédure suivante pour prendre en charge plus de 32 processeurs virtuels de telle sorte que vous puissiez utiliser le type d'instance d2.8xlarge.

Pour mettre à jour une instance afin de prendre en charge plus de 32 vCPU

  1. Lancez une instance D2 à l'aide de votre AMI, en choisissant un type d'instance D2 autre que d2.8xlarge.

  2. Mettez à jour le noyau à l'aide de la dernière version en suivant les instructions propres à votre système d'exploitation. Par exemple, pour RHEL 6, utilisez la commande suivante :

    sudo yum update -y kernel
  3. Arrêtez l'instance.

  4. (Facultatif) Créez une AMI à partir de l'instance que vous utilisez pour lancer toute instance d2.8xlarge supplémentaire dont vous aurez besoin à l'avenir.

  5. Remplacez le type d'instance de votre instance arrêtée par d2.8xlarge (choisissez successivement Actions, Paramètres de l'instance et Changer le type d'instance, puis suivez les instructions).

  6. Démarrez l'instance. Si l'instance est lancée correctement, vous avez terminé. Si l'instance ne démarre toujours pas correctement, passez à l'étape suivante.

  7. (Facultatif) Si l'instance ne démarre toujours pas correctement, le noyau de votre instance ne pourra peut-être pas prendre en charge plus de 32 vCPU. Toutefois, vous pourrez probablement redémarrer l'instance si vous limitez le nombre de vCPU.

    1. Remplacez le type d'instance de votre instance arrêtée par n'importe quel type d'instance D2 autre que d2.8xlarge (choisissez successivement Actions, Paramètres de l'instance et Changer le type d'instance, puis suivez les instructions).

    2. Ajoutez l'option maxcpus=32 aux paramètres de votre noyau de démarrage en suivant les instructions propres à votre système d'exploitation. Par exemple, pour RHEL 6, modifiez le fichier /boot/grub/menu.lst et ajoutez l'option suivante à l'entrée kernel active la plus récente :

      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. Arrêtez l'instance.

    4. (Facultatif) Créez une AMI à partir de l'instance que vous utilisez pour lancer toute instance d2.8xlarge supplémentaire dont vous aurez besoin à l'avenir.

    5. Remplacez le type d'instance de votre instance arrêtée par d2.8xlarge (choisissez successivement Actions, Paramètres de l'instance et Changer le type d'instance, puis suivez les instructions).

    6. Démarrez l'instance.

Notes de mise à jour

  • Vous devez lancer les instances optimisées pour le stockage à l'aide d'une AMI HVM. Pour plus d'informations, consultez Types de virtualisation AMI Linux.

  • Les exigences pour les instances I3en et i3.metal sont les suivantes :

    Les AMI suivantes répondent aux critères suivants :

    • Amazon Linux 2

    • Amazon Linux AMI 2018.03

    • Ubuntu 14.04 ou version ultérieure

    • Red Hat Enterprise Linux 7.4 ou version ultérieure

    • SUSE Linux Enterprise Server 12 SP2 ou version ultérieure

    • CentOS 7 ou version ultérieure

    • FreeBSD 11.1 ou version ultérieure

  • Le lancement d'une instance i3.metal démarre le serveur sous-jacent, qui inclut la vérification de tous les composants du matériel et du microprogramme. Cela signifie que 20 minutes peuvent s'écouler entre le moment où l'instance passe à l'état d'exécution et le moment où elle devient disponible sur le réseau.

  • Attacher ou détacher des volumes EBS ou des interfaces réseau secondaires à partir d'une instance en matériel nu requiert la prise en charge de l'enfichage à chaud natif de PCIe. Amazon Linux 2 et les dernières versions de l'Amazon Linux AMI prennent en charge l'enfichage à chaud natif de PCIe, ce qui n'est pas le cas des versions antérieures. Vous devez activer les options de configuration suivantes du noyau Linux :

    CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEASPM=y
  • Les instances en matériel nu utilisent un périphérique série basé sur PCI plutôt qu'un périphérique série basé sur le port d'E/S. Le noyau Linux kernel en amont et les dernières AMI Amazon Linux prennent en charge ce périphérique. Les instances en matériel nu fournissent également un tableau SPCR ACPI afin de permettre au système d'utiliser automatiquement le périphérique série basé sur PCI. Les dernières AMI Windows utilisent automatiquement le périphérique série basé sur PCI.

  • Avec les AMI FreeBSD, le démarrage des instances nues demande près d'une heure et les E/S vers le stockage NVMe local ne se terminent pas. Pour contourner ce problème, ajoutez la ligne suivante à /boot/loader.conf et redémarrez :

    hw.nvme.per_cpu_io_queues="0"
  • Le type d'instance d2.8xlarge fournit 36 processeurs virtuels, ce qui peut provoquer des problèmes de lancement sur certains systèmes d'exploitation Linux dont la limite de processeurs virtuels est fixée à 32. Pour plus d'informations, consultez Prise en charge de processeurs virtuels.

  • Le nombre total d'instances que vous pouvez lancer dans une région est soumis à une limite, de même qu'il existe des limites supplémentaires pour certains types d'instance. Pour plus d'informations, consultez Combien d'instances puis-je exécuter dans Amazon EC2 ?. Pour demander une augmentation des limites, utilisez le formulaire de demande d'instance Amazon EC2.