Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Améliorez les performances du réseau entre EC2 les instances avec ENA Express

Mode de mise au point
Améliorez les performances du réseau entre EC2 les instances avec ENA Express - Amazon Elastic Compute Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

ENA Express est alimenté par la technologie AWS Scalable Reliable Datagram (SRD). SRD est un protocole de transport réseau à hautes performances qui utilise le routage dynamique pour augmenter le débit et minimiser la latence de queue. Avec ENA Express, vous pouvez communiquer entre deux EC2 instances de la même zone de disponibilité.

Avantages d’ENA Express
  • Augmente la bande passante maximale qu'un flux unique peut utiliser de 5 Gbit/s à 25 Gbit/s dans la zone de disponibilité, jusqu'à la limite d'instances agrégées.

  • Réduit la latence finale du trafic réseau entre les EC2 instances, en particulier pendant les périodes de charge réseau élevée.

  • Détecte et évite les chemins réseau encombrés.

  • Gère certaines tâches directement dans la couche réseau, telles que la réorganisation des paquets du côté récepteur et la plupart des retransmissions nécessaires. Cela permet de libérer la couche d’application pour d’autres tâches.

Note
  • Si votre application envoie ou reçoit un volume élevé de paquets par seconde et doit optimiser la latence la plupart du temps, en particulier pendant les périodes où il n’y a pas d’encombrement sur le réseau, Réseaux améliorés peut être mieux adaptée à votre réseau.

  • Le trafic ENA Express ne peut pas être envoyé à travers les sous-réseaux d’une zone locale.

Une fois que vous avez activé ENA Express pour la connexion d'interface réseau sur une instance, l'instance d'envoi initie la communication avec l'instance de réception, et SRD détecte si ENA Express fonctionne à la fois sur l'instance d'envoi et sur l'instance de réception. Si ENA Express fonctionne, la communication peut utiliser la transmission SRD. Si ENA Express ne fonctionne pas, la communication revient à la transmission ENA standard.

Pendant les périodes où le trafic réseau est faible, vous pouvez remarquer une légère augmentation de la latence des paquets (quelques dizaines de microsecondes) lorsque le paquet utilise ENA Express. Pendant ces périodes, les applications qui donnent la priorité à des caractéristiques de performance réseau spécifiques peuvent bénéficier d’ENA Express de la manière suivante :

  • Les processus peuvent bénéficier d'une augmentation de la bande passante à flux unique maximale de 5 Gbit/s à 25 Gbit/s au sein d'une même zone de disponibilité, jusqu'à la limite d'instances agrégée. Par exemple, si un type d’instance spécifique prend en charge jusqu’à 12,5 Gbit/s, la bande passante à flux unique est également limitée à 12,5 Gbit/s.

  • Les processus qui s’exécutent depuis longtemps devraient bénéficier d’une réduction de la latence pendant les périodes d’encombrement du réseau.

  • Les processus peuvent bénéficier d’une distribution plus régulière et plus standard des temps de réponse du réseau.

Fonctionnement d’ENA Express

ENA Express est alimenté par la technologie AWS Scalable Reliable Datagram (SRD). Il distribue les paquets pour chaque flux réseau sur différents chemins AWS réseau et ajuste dynamiquement la distribution lorsqu'il détecte des signes de congestion. Elle gère également la réorganisation des paquets du côté récepteur.

Pour garantir qu’ENA Express puisse gérer le trafic réseau comme prévu, les instances d’envoi et de réception, ainsi que la communication entre elles, doivent répondre à toutes les exigences suivantes :

  • Les types d’instance d’envoi et de réception sont pris en charge. Consultez la table Types d’instance pris en charge pour ENA Express pour plus d’informations.

  • ENA Express doit être configuré pour les instances d’envoi et de réception. S’il existe des différences de configuration, vous pouvez vous retrouver dans des situations où le trafic passe par défaut à une transmission ENA standard. Le scénario suivant montre ce qui peut se passer.

    Scénario : différences de configuration

    Instance ENA Express activé UDP utilise ENA Express
    Instance 1 Oui Oui
    Instance 2 Oui Non

    Dans ce cas, le trafic TCP entre les deux instances peut utiliser ENA Express, car les deux instances l’ont activé. Toutefois, étant donné que l’une des instances n’utilise pas ENA Express pour le trafic UDP, la communication entre ces deux instances via UDP utilise une transmission ENA standard.

  • Les instances d’envoi et de réception doivent fonctionner dans la même zone de disponibilité.

  • Le chemin réseau entre les instances ne doit pas inclure de boîtiers intergiciels. ENA Express ne prend actuellement pas en charge les boîtiers intergiciels.

  • (Instances Linux uniquement) Pour utiliser tout le potentiel de la bande passante, utilisez la version 2.2.9 du pilote ou une version plus récente.

  • (Instances Linux uniquement) Pour produire des métriques, utilisez la version 2.8 ou une version supérieure du pilote.

Si l’une des exigences n’est pas satisfaite, les instances utilisent le protocole TCP/UDP standard, mais sans SRD, pour communiquer.

Pour vous assurer que le pilote réseau de votre instance est configuré pour des performances optimales, veuillez consulter les bonnes pratiques recommandées pour les pilotes ENA. Ces bonnes pratiques s’appliquent également à ENA Express. Pour plus d'informations, consultez le guide des meilleures pratiques et d'optimisation des performances des pilotes Linux ENA sur le GitHub site Web.

Note

Amazon EC2 fait référence à la relation entre une instance et une interface réseau qui y est attachée en tant que pièce jointe. Les paramètres ENA Express s’appliquent à l’attachement. Si l’interface réseau est détachée de l’instance, l’attachement n’existe plus et les paramètres ENA Express qui s’y appliquaient ne sont plus en vigueur. Il en va de même lorsqu’une instance est résiliée, même si l’interface réseau est conservée.

Après avoir activé ENA Express en ce qui concerne les connexions d’interface réseau de l’instance d’envoi et de l’instance de réception, vous pouvez utiliser les métriques ENA Express pour vous assurer que vos instances tirent pleinement parti des améliorations de performances apportées par la technologie SRD. Pour plus d’informations sur les métriques ENA Express, veuillez consulter Métriques pour ENA Express.

Types d’instance pris en charge pour ENA Express

Les onglets suivants contiennent les types d’instances qui prennent en charge ENA Express.

General purpose
Type d’instance Architecture
m6a.12xlarge x86_64
m6a.16xlarge x86_64
m6a.24xlarge x86_64
m6a.32xlarge x86_64
m6a.48xlarge x86_64
m6a.metal x86_64
m6i.8xlarge x86_64
m6i.12xlarge x86_64
m6i.16xlarge x86_64
m6i.24xlarge x86_64
m6i.32xlarge x86_64
m6i.metal x86_64
m6id.8xlarge x86_64
m6id.12xlarge x86_64
m6id.16xlarge x86_64
m6id.24xlarge x86_64
m6id.32xlarge x86_64
m6id.metal x86_64
m6idn.8xlarge x86_64
m6idn.12xlarge x86_64
m6idn.16xlarge x86_64
m6idn.24xlarge x86_64
m6idn.32xlarge x86_64
m6idn.metal x86_64
m6in.8xlarge x86_64
m6in.12xlarge x86_64
m6in.16xlarge x86_64
m6in.24xlarge x86_64
m6in.32xlarge x86_64
m6in.metal x86_64
m7a.12xlarge x86_64
m7a.16xlarge x86_64
m7a.24xlarge x86_64
m7a.32xlarge x86_64
m7a.48xlarge x86_64
m7a.metal-48xl x86_64
m7g.12xlarge arm64
m7g.16xlarge arm64
m7g.metal arm64
m7gd.12xlarge arm64
m7gd.16xlarge arm64
m7gd.metal arm64
m7i.12xlarge x86_64
m7i.16xlarge x86_64
m7i.24xlarge x86_64
m7i.48xlarge x86_64
m7i.metal-24xl x86_64
m7i.metal-48xl x86_64
m8g.12xlarge arm64
m8g.16xlarge arm64
m8g.24xlarge arm64
m8g.48xlarge arm64
m8g.metal-24xl arm64
m8g.metal-48xl arm64
Compute optimized
Type d’instance Architecture
c6a.12xlarge x86_64
c6a.16xlarge x86_64
c6a.24xlarge x86_64
c6a.32xlarge x86_64
c6a.48xlarge x86_64
c6a.metal x86_64
c6gn.4xlarge arm64
c6gn.8xlarge arm64
c6gn.12xlarge arm64
c6gn.16xlarge arm64
c6i.8xlarge x86_64
c6i.12xlarge x86_64
c6i.16xlarge x86_64
c6i.24xlarge x86_64
c6i.32xlarge x86_64
c6i.metal x86_64
c6id.8xlarge x86_64
c6id.12xlarge x86_64
c6id.16xlarge x86_64
c6id.24xlarge x86_64
c6id.32xlarge x86_64
c6id.metal x86_64
c6in.8xlarge x86_64
c6in.12xlarge x86_64
c6in.16xlarge x86_64
c6in.24xlarge x86_64
c6in.32xlarge x86_64
c6in.metal x86_64
c7a.12xlarge x86_64
c7a.16xlarge x86_64
c7a.24xlarge x86_64
c7a.32xlarge x86_64
c7a.48xlarge x86_64
c7a.metal-48xl x86_64
c7g.12xlarge arm64
c7g.16xlarge arm64
c7g.metal arm64
c7gd.12xlarge arm64
c7gd.16xlarge arm64
c7gd.metal arm64
c7gn.16xlarge arm64
c7gn.metal arm64
c7i.12xlarge x86_64
c7i.16xlarge x86_64
c7i.24xlarge x86_64
c7i.48xlarge x86_64
c7i.metal-24xl x86_64
c7i.metal-48xl x86_64
c8g.12xlarge arm64
c8g.16xlarge arm64
c8g.24xlarge arm64
c8g.48xlarge arm64
c8g.metal-24xl arm64
c8g.metal-48xl arm64
Memory optimized
Type d’instance Architecture
r6a.12xlarge x86_64
r6a.16xlarge x86_64
r6a.24xlarge x86_64
r6a.32xlarge x86_64
r6a.48xlarge x86_64
r6a.metal x86_64
r6i.8xlarge x86_64
r6i.12xlarge x86_64
r6i.16xlarge x86_64
r6i.24xlarge x86_64
r6i.32xlarge x86_64
r6i.metal x86_64
r6idn.8xlarge x86_64
r6idn.12xlarge x86_64
r6idn.16xlarge x86_64
r6idn.24xlarge x86_64
r6idn.32xlarge x86_64
r6idn.metal x86_64
r6in.8xlarge x86_64
r6in.12xlarge x86_64
r6in.16xlarge x86_64
r6in.24xlarge x86_64
r6in.32xlarge x86_64
r6in.metal x86_64
r6id.8xlarge x86_64
r6id.12xlarge x86_64
r6id.16xlarge x86_64
r6id.24xlarge x86_64
r6id.32xlarge x86_64
r6id.metal x86_64
r7a.12xlarge x86_64
r7a.16xlarge x86_64
r7a.24xlarge x86_64
r7a.32xlarge x86_64
r7a.48xlarge x86_64
r7a.metal-48xl x86_64
r7g.12xlarge arm64
r7g.16xlarge arm64
r7g.metal arm64
r7gd.12xlarge arm64
r7gd.16xlarge arm64
r7gd.metal arm64
r7i.12xlarge x86_64
r7i.16xlarge x86_64
r7i.24xlarge x86_64
r7i.48xlarge x86_64
r7i.metal-24xl x86_64
r7i.metal-48xl x86_64
r8g.12xlarge arm64
r8g.16xlarge arm64
r8g.24xlarge arm64
r8g.48xlarge arm64
r8g.metal-24xl arm64
r8g.metal-48xl arm64
u7i-6tb.112xlarge x86_64
u7i-8tb.112xlarge x86_64
u7i-12tb.224xlarge x86_64
u7in-16tb.224xlarge x86_64
u7in-24tb.224xlarge x86_64
u7in-32tb.224xlarge x86_64
u7inh-32tb.480xlarge x86_64
x2idn.16xlarge x86_64
x2idn.24xlarge x86_64
x2idn.32xlarge x86_64
x2idn.metal x86_64
x2iedn.8xlarge x86_64
x2iedn.16xlarge x86_64
x2iedn.24xlarge x86_64
x2iedn.32xlarge x86_64
x2iedn.metal x86_64
x8g.12xlarge arm64
x8g.16xlarge arm64
x8g.24xlarge arm64
x8g.48xlarge arm64
x8g.metal-24xl arm64
x8g.metal-48xl arm64
Accelerated computing
Type d’instance Architecture
g6.48xlarge x86_64
g6e.12xlarge x86_64
g6e.24xlarge x86_64
g6e.48xlarge x86_64
p5en.48xlarge x86_64
Storage optimized
Type d’instance Architecture
i4g.4xlarge arm64
i4g.8xlarge arm64
i4g.16xlarge arm64
i4i.8xlarge x86_64
i4i.12xlarge x86_64
i4i.16xlarge x86_64
i4i.24xlarge x86_64
i4i.32xlarge x86_64
i4i.metal x86_64
i7ie.48xlarge x86_64
i8g.12xlarge arm64
i8g.16xlarge arm64
i8g.24xlarge arm64
i8g.metal-24xl arm64
im4gn.4xlarge arm64
im4gn.8xlarge arm64
im4gn.16xlarge arm64
Type d’instance Architecture
m6a.12xlarge x86_64
m6a.16xlarge x86_64
m6a.24xlarge x86_64
m6a.32xlarge x86_64
m6a.48xlarge x86_64
m6a.metal x86_64
m6i.8xlarge x86_64
m6i.12xlarge x86_64
m6i.16xlarge x86_64
m6i.24xlarge x86_64
m6i.32xlarge x86_64
m6i.metal x86_64
m6id.8xlarge x86_64
m6id.12xlarge x86_64
m6id.16xlarge x86_64
m6id.24xlarge x86_64
m6id.32xlarge x86_64
m6id.metal x86_64
m6idn.8xlarge x86_64
m6idn.12xlarge x86_64
m6idn.16xlarge x86_64
m6idn.24xlarge x86_64
m6idn.32xlarge x86_64
m6idn.metal x86_64
m6in.8xlarge x86_64
m6in.12xlarge x86_64
m6in.16xlarge x86_64
m6in.24xlarge x86_64
m6in.32xlarge x86_64
m6in.metal x86_64
m7a.12xlarge x86_64
m7a.16xlarge x86_64
m7a.24xlarge x86_64
m7a.32xlarge x86_64
m7a.48xlarge x86_64
m7a.metal-48xl x86_64
m7g.12xlarge arm64
m7g.16xlarge arm64
m7g.metal arm64
m7gd.12xlarge arm64
m7gd.16xlarge arm64
m7gd.metal arm64
m7i.12xlarge x86_64
m7i.16xlarge x86_64
m7i.24xlarge x86_64
m7i.48xlarge x86_64
m7i.metal-24xl x86_64
m7i.metal-48xl x86_64
m8g.12xlarge arm64
m8g.16xlarge arm64
m8g.24xlarge arm64
m8g.48xlarge arm64
m8g.metal-24xl arm64
m8g.metal-48xl arm64

Conditions préalables pour les instances Linux

Pour garantir le bon fonctionnement d’ENA Express, mettez à jour les paramètres de votre instance Linux comme suit.

  • Si votre instance utilise des trames Jumbo, exécutez la commande suivante pour définir votre unité de transmission maximale (MTU) sur 8900.

    [ec2-user ~]$ sudo ip link set dev eth0 mtu 8900
  • Augmentez la taille de la bague du récepteur (Rx) comme suit :

    [ec2-user ~]$ ethtool -G device rx 8192
  • Pour optimiser la bande passante d’ENA Express, configurez les limites de votre file d’attente TCP comme suit :

    1. Définissez la limite des petites files d’attente TCP à 1 Mo ou plus. Cela augmente la quantité de données mises en file d’attente pour transmission sur un socket.

      sudo sh -c 'echo 1048576 > /proc/sys/net/ipv4/tcp_limit_output_bytes'
    2. Désactivez les limites de files d’attente d’octets sur le périphérique eth si elles sont activées pour votre distribution Linux. Cela augmente le nombre de données mises en file d’attente pour la transmission au niveau de la file d’attente des périphériques.

      sudo sh -c 'for txq in /sys/class/net/eth0/queues/tx-*; do echo max > ${txq}/byte_queue_limits/limit_min; done'
      Note

      Le pilote ENA de la distribution Amazon Linux désactive les limites de files d’attente d’octets par défaut.

Optimiser les performances des paramètres ENA Express sur les instances Linux

Pour vérifier la configuration de votre instance Linux afin d'optimiser les performances d'ENA Express, vous pouvez exécuter le script suivant, disponible sur le GitHub référentiel Amazon :

https://github.com/amzn/amzn-ec2-fra- - .sh utilities/blob/main/ena-express/check ena-express-settings

Le script exécute une série de tests et suggère des modifications de configuration recommandées et nécessaires.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.