Améliorez les performances du réseau avec ENA Express sur vos instances EC2 - 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.

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

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 instances EC2 dans la même zone de disponibilité.

Avantages d’ENA Express
  • Augmente la bande passante maximale qu’un seul flux peut utiliser de 5 Gbit/s à 25 Gbit/s au sein du sous-réseau, jusqu’à la limite d’instance agrégée.

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

  • 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.

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.

Conditions préalables pour les instances Linux

Pour garantir le bon fonctionnement d'ENA Express, mettez à jour les paramètres de votre instance 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.

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 s'exécuter 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 bande passante, utilisez la version 2.2.9 ou supérieure du pilote.

  • (Instances Linux uniquement) Pour produire des métriques, utilisez la version 2.8 ou 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 lui est attachée en tant qu’attachement. 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.

Types d’instance pris en charge pour ENA Express

Les onglets suivants présentent les types d'instances compatibles avec 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
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
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.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
c7g.12xlarge arm64
c7g.16xlarge arm64
c7g.metal arm64
c7gd.12xlarge arm64
c7gd.16xlarge arm64
c7gd.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
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
r6id.8xlarge x86_64
r6id.12xlarge x86_64
r6id.16xlarge x86_64
r6id.24xlarge x86_64
r6id.32xlarge x86_64
r6id.metal 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
u7i-12tb.224xlarge x86_64
u7in-16tb.224xlarge x86_64
u7in-24tb.224xlarge x86_64
u7in-32tb.224xlarge 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
Accelerated computing
Type d’instance Architecture
g6.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
im4gn.4xlarge arm64
im4gn.8xlarge arm64
im4gn.16xlarge arm64

Répertorier et afficher les paramètres ENA Express

Cette section explique comment répertorier et afficher les informations ENA Express à partir de AWS Management Console ou de AWS CLI. Pour de plus amples informations, choisissez l’onglet qui correspond à la méthode que vous allez utiliser.

Console

Cet onglet explique comment trouver des informations sur vos paramètres ENA Express actuels et comment consulter la prise en charge des types d’instance dans la AWS Management Console.

Afficher la prise en charge de type d’instance
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation de gauche, choisissez Instance Types (Types d’instance).

  3. Sélectionnez un type d’instance pour afficher les détails de cette instance. Vous pouvez cliquer sur le lien Instance type (Type d’instance) pour ouvrir la page détaillée ou cocher la case sur le côté gauche de la liste pour afficher les détails dans le volet détaillé en bas de la page.

  4. Dans l’onglet Networking (Réseau) ou dans cette section de la page détaillée, la prise en charge d’ENA Express affiche une valeur vraie ou fausse pour indiquer si le type d’instance prend en charge cette fonctionnalité.

Afficher les paramètres à partir de la liste de l’interface réseau
  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation de gauche, choisissez Network Interfaces (Interfaces réseau).

  3. Sélectionnez une interface réseau pour afficher les détails de cette instance. Vous pouvez cliquer sur le lien Network interface ID (ID d’interface réseau) pour ouvrir la page détaillée ou cocher la case sur le côté gauche de la liste pour afficher les détails dans le volet détaillé en bas de la page.

  4. Dans la section Network interface attachment (Attachement interface réseau) de l’onglet Details (Détails) ou de la page de détails, passez en revue les paramètres ENA Express et ENA Express UDP.

Afficher les paramètres à partir d’instances
  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation de gauche, sélectionnez instances.

  3. Sélectionnez une instance pour afficher les détails de cette instance. Vous pouvez cliquer sur le lien Instance ID (ID d’instance) pour ouvrir la page détaillée ou cocher la case sur le côté gauche de la liste pour afficher les détails dans le volet détaillé en bas de la page.

  4. Dans la section Network interfaces (Interfaces réseau) de l’onglet Networking (Réseau), faites défiler l’écran vers la droite pour passer en revue les paramètres ENA Express et ENA Express UDP.

AWS CLI

Cet onglet explique comment trouver des informations sur vos paramètres ENA Express actuels et comment consulter la prise en charge des types d’instance dans la AWS CLI.

Décrire les types d’instance

Pour plus d'informations sur les paramètres de type d'instance pour un type d'instance spécifique, exécutez la describe-instance-typescommande dans le AWS CLI et remplacez le type d'instance comme suit :

[ec2-user ~]$ aws ec2 describe-instance-types --instance-types m6i.metal { "InstanceTypes": [ { "InstanceType": "m6i.metal", "CurrentGeneration": true, ... }, "NetworkInfo": { ... "EnaSrdSupported": true }, ... } ] }
Décrire des instances

Pour plus d'informations sur la configuration d'ENA Express pour les instances spécifiées, exécutez la describe-instancescommande dans le AWS CLI, comme suit. Cet exemple de commande renvoie une liste des configurations ENA Express pour les interfaces réseau associées à chacune des instances en cours d'exécution spécifiées par le --instance-ids paramètre.

[ec2-user ~]$ aws ec2 describe-instances --instance-ids i-1234567890abcdef0 i-0598c7d356eba48d7 --query 'Reservations[*].Instances[*].[InstanceId, NetworkInterfaces[*].Attachment.EnaSrdSpecification]'[ [ [ "i-1234567890abcdef0", [ { "EnaSrdEnabled": true, "EnaSrdUdpSpecification": { "EnaSrdUdpEnabled": false } } ] ] ], [ [ "i-0598c7d356eba48d7", [ { "EnaSrdEnabled": true, "EnaSrdUdpSpecification": { "EnaSrdUdpEnabled": false } } ] ] ] ]
Décrire les interfaces réseau

Pour plus d'informations sur les paramètres ENA Express d'une interface réseau, exécutez la describe-network-interfacescommande AWS CLI comme suit :

[ec2-user ~]$ aws ec2 describe-network-interfaces { "NetworkInterfaces": [ { "Association": { ....IPs, DNS... }, "Attachment": { "AttachTime": "2022-11-17T09:04:28+00:00", "AttachmentId": "eni-attach-0ab1c23456d78e9f0", "DeleteOnTermination": true, "DeviceIndex": 0, "NetworkCardIndex": 0, "InstanceId": "i-1234567890abcdef0", "InstanceOwnerId": "111122223333", "Status": "attached", "EnaSrdSpecification": { "EnaSrdEnabled": true, "EnaSrdUdpSpecification": { "EnaSrdUdpEnabled": true } } }, ... "NetworkInterfaceId": "eni-1234567890abcdef0", "OwnerId": "111122223333", ... } ] }
PowerShell

Cet onglet explique comment trouver des informations sur vos paramètres ENA Express actuels et comment consulter la prise en charge des types d'instance à l'aide de PowerShell.

Décrire les types d’instance

Pour plus d'informations sur les paramètres de type d'instance pour un type d'instance spécifique, exécutez le Get-EC2InstanceType Cmdletavec les outils pour PowerShell et remplacez le type d'instance comme suit :

PS C:\> Get-EC2InstanceType -InstanceType m6i.metal | ` Select-Object ` InstanceType, CurrentGeneration, @{Name = 'EnaSrdSupported'; Expression = { $_.NetworkInfo.EnaSrdSupported } } | ` Format-List InstanceType : m6i.metal CurrentGeneration : True EnaSrdSupported : True

Si ENA Express est activé, une valeur de True est renvoyée.

Décrire les interfaces réseau

Pour plus d'informations sur les paramètres ENA Express d'une interface réseau, exécutez le Get-EC2NetworkInterface Cmdletà l'aide PowerShell des outils suivants :

PS C:\> Get-EC2NetworkInterface -NetworkInterfaceId eni-0d1234e5f6a78901b | ` Select-Object ` Association, NetworkInterfaceId, OwnerId, @{Name = 'AttachTime'; Expression = { $_.Attachment.AttachTime } }, @{Name = 'AttachmentId'; Expression = { $_.Attachment.AttachmentId } }, @{Name = 'DeleteOnTermination'; Expression = { $_.Attachment.DeleteOnTermination } }, @{Name = 'NetworkCardIndex'; Expression = { $_.Attachment.NetworkCardIndex } }, @{Name = 'InstanceId'; Expression = { $_.Attachment.InstanceId } }, @{Name = 'InstanceOwnerId'; Expression = { $_.Attachment.InstanceOwnerId } }, @{Name = 'Status'; Expression = { $_.Attachment.Status } }, @{Name = 'EnaSrdEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdEnabled } }, @{Name = 'EnaSrdUdpEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdUdpSpecification.EnaSrdUdpEnabled } } Association : NetworkInterfaceId : eni-0d1234e5f6a78901b OwnerId : 111122223333 AttachTime : 6/11/2022 1:13:11 AM AttachmentId : eni-attach-0d1234e5f6a78901b DeleteOnTermination : True NetworkCardIndex : 0 InstanceId : i-0d1234e5f6a78901b InstanceOwnerId : 111122223333 Status : attached EnaSrdEnabled : True EnaSrdUdpEnabled : False

Configurer les paramètres ENA Express

Vous pouvez configurer ENA Express pour les types d’instance EC2 pris en charge sans avoir à installer de logiciel supplémentaire.

Cette section explique comment configurer ENA Express depuis AWS Management Console ou depuis le AWS CLI. Pour de plus amples informations, choisissez l’onglet qui correspond à la méthode que vous allez utiliser.

Console

Cet onglet explique comment gérer les paramètres ENA Express pour les interfaces réseau associées à une instance.

Gestion d’ENA Express à partir de la liste des interfaces réseau
  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation de gauche, choisissez Network Interfaces (Interfaces réseau).

  3. Sélectionnez une interface réseau qui doit être attachée à une instance. Vous pouvez cliquer sur le lien Network interface ID (ID d’interface réseau) pour ouvrir la page détaillée ou cocher la case sur le côté gauche de la liste.

  4. Choisissez Manage ENA Express (Gérer ENA Express) dans le menu Action en haut à droite de la page. Cela ouvre la boîte de dialogue Manage ENA Express (Gestion d’ENA Express), qui affiche l’ID de l’interface réseau sélectionnée et les paramètres actuels.

    Note

    Si l’interface réseau que vous avez sélectionnée n’est pas associée à une instance, cette action n’apparaît pas dans le menu.

  5. Pour utiliser ENA Express, cochez la case Enable (Activer).

  6. Lorsque ENA Express est activé, vous pouvez configurer les paramètres UDP. Pour utiliser ENA Express UDP, cochez la case Enable (Activer).

  7. Pour enregistrer vos paramètres, choisissez Save (Enregistrer).

Gérer ENA Express à partir de la liste d’instances
  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation de gauche, sélectionnez instances.

  3. Sélectionnez l’instance que vous voulez gérer. Vous pouvez choisir Instance ID (ID d’instance) pour ouvrir la page détaillée ou cocher la case sur le côté gauche de la liste.

  4. Sélectionnez Network interface (Interface réseau) pour configurer pour votre instance.

  5. Choisissez Manage ENA Express (Gérer ENA Express) dans le menu Action en haut à droite de la page.

  6. Pour configurer ENA Express pour une interface réseau attachée à votre instance, sélectionnez-la dans la liste Network interface (Interface réseau).

  7. Pour utiliser ENA Express pour l’attachement de l’interface réseau sélectionné, cochez la case Enable (Activer).

  8. Lorsque ENA Express est activé, vous pouvez configurer les paramètres UDP. Pour utiliser ENA Express UDP, cochez la case Enable (Activer).

  9. Pour enregistrer vos paramètres, choisissez Save (Enregistrer).

Configurer ENA Express lorsque vous attachez une interface réseau à une instance EC2
  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation de gauche, choisissez Network Interfaces (Interfaces réseau).

  3. Sélectionnez une interface réseau qui n’est pas attachée à une instance (l’état est Available (Disponible). Vous pouvez cliquer sur le lien Network interface ID (ID d’interface réseau) pour ouvrir la page détaillée ou cocher la case sur le côté gauche de la liste.

  4. Sélectionnez l’instance avec laquelle vous souhaitez effectuer l’attachement.

  5. Pour utiliser ENA Express après avoir attaché l’interface réseau à l’instance, cochez la case Enable (Activer).

  6. Lorsque ENA Express est activé, vous pouvez configurer les paramètres UDP. Pour utiliser ENA Express UDP, cochez la case Enable (Activer).

  7. Pour attacher l’interface réseau à l’instance et enregistrer vos paramètres ENA Express, choisissez Attach (Attacher).

AWS CLI

Cet onglet explique comment configurer les paramètres ENA Express dans AWS CLI.

Configurer ENA Express lorsque vous attachez une interface réseau

Pour configurer ENA Express lorsque vous attachez une interface réseau à une instance, exécutez la attach-network-interfacecommande dans le AWS CLI, comme indiqué dans les exemples suivants :

Exemple 1 : Utiliser ENA Express pour le trafic TCP, mais pas pour le trafic UDP

Dans cet exemple, nous configurons EnaSrdEnabled comme true et nous autorisonsEnaSrdUdpEnabled par défaut sur false.

[ec2-user ~]$ aws ec2 attach-network-interface --network-interface-id eni-0123f4567890a1b23 --instance-id i-0f1a234b5cd67e890 --device-index 1 --ena-srd-specification 'EnaSrdEnabled=true' { "AttachmentId": "eni-attach-012c3d45e678f9012" }

Exemple 2 : Utiliser ENA Express à la fois pour le trafic TCP et le trafic UDP

Dans cet exemple, nous configurons EnaSrdEnabled et EnaSrdUdpEnabled comme true.

[ec2-user ~]$ aws ec2 attach-network-interface --network-interface-id eni-0123f4567890a1b23 --instance-id i-0f1a234b5cd67e890 --device-index 1 --ena-srd-specification 'EnaSrdEnabled=true,EnaSrdUdpSpecification={EnaSrdUdpEnabled=true}' { "AttachmentId": "eni-attach-012c3d45e678f9012" }
Mettre à jour les paramètres ENA Express pour l’attachement de votre interface réseau

Pour mettre à jour les paramètres ENA Express pour une interface réseau attachée à une instance, exécutez la modify-network-interface-attributecommande dans le AWS CLI, comme indiqué dans les exemples suivants :

Exemple 1 : Utiliser ENA Express pour le trafic TCP, mais pas pour le trafic UDP

Dans cet exemple, nous configurons EnaSrdEnabled comme true, et nous autorisons EnaSrdUdpEnabled par défaut sur false si cela n’a jamais été défini auparavant.

[ec2-user ~]$ aws ec2 modify-network-interface-attribute --network-interface-id eni-0123f4567890a1b23 --ena-srd-specification 'EnaSrdEnabled=true'

Exemple 2 : Utiliser ENA Express à la fois pour le trafic TCP et le trafic UDP

Dans cet exemple, nous configurons EnaSrdEnabled et EnaSrdUdpEnabled comme true.

[ec2-user ~]$ aws ec2 modify-network-interface-attribute --network-interface-id eni-0123f4567890a1b23 --ena-srd-specification 'EnaSrdEnabled=true,EnaSrdUdpSpecification={EnaSrdUdpEnabled=true}'

Exemple 3 : arrêter d’utiliser ENA Express pour le trafic UDP

Dans cet exemple, nous configurons EnaSrdUdpEnabled comme false.

[ec2-user ~]$ aws ec2 modify-network-interface-attribute --network-interface-id eni-0123f4567890a1b23 --ena-srd-specification 'EnaSrdUdpSpecification={EnaSrdUdpEnabled=false}'
PowerShell

Cet onglet explique comment configurer les paramètres ENA Express à l'aide de PowerShell.

Configurer ENA Express lorsque vous attachez une interface réseau

Pour configurer les paramètres ENA Express pour une interface réseau, exécutez le Add-EC2NetworkInterface Cmdletavec les outils pour, PowerShell comme indiqué dans les exemples suivants :

Exemple 1 : Utiliser ENA Express pour le trafic TCP, mais pas pour le trafic UDP

Dans cet exemple, nous configurons EnaSrdEnabled comme true et nous autorisonsEnaSrdUdpEnabled par défaut sur false.

PS C:\> Add-EC2NetworkInterface ` -NetworkInterfaceId eni-0123f4567890a1b23 ` -InstanceId i-0f1a234b5cd67e890 ` -DeviceIndex 1 ` -EnaSrdSpecification_EnaSrdEnabled $true eni-attach-012c3d45e678f9012

Exemple 2 : Utiliser ENA Express à la fois pour le trafic TCP et le trafic UDP

Dans cet exemple, nous configurons EnaSrdEnabled et EnaSrdUdpEnabled comme true.

PS C:\> Add-EC2NetworkInterface ` -NetworkInterfaceId eni-0123f4567890a1b23 ` -InstanceId i-0f1a234b5cd67e890 ` -DeviceIndex 1 ` -EnaSrdSpecification_EnaSrdEnabled $true ` -EnaSrdUdpSpecification_EnaSrdUdpEnabled $true eni-attach-012c3d45e678f9012
Mettre à jour les paramètres ENA Express pour l’attachement de votre interface réseau

Pour mettre à jour les paramètres ENA Express pour une interface réseau attachée à une instance, exécutez la Add-EC2NetworkInterface Cmdletcommande dans les outils pour PowerShell, comme indiqué dans les exemples suivants :

Exemple 1 : Utiliser ENA Express pour le trafic TCP, mais pas pour le trafic UDP

Dans cet exemple, nous configurons EnaSrdEnabled comme true, et nous autorisons EnaSrdUdpEnabled par défaut sur false si cela n’a jamais été défini auparavant.

PS C:\> Edit-EC2NetworkInterfaceAttribute ` -NetworkInterfaceId eni-0123f4567890a1b23 ` -EnaSrdSpecification_EnaSrdEnabled $true ; Get-EC2NetworkInterface -NetworkInterfaceId eni-0123f4567890a1b23 | ` Select-Object ` NetworkInterfaceId, @{Name = 'EnaSrdEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdEnabled }}, @{Name = 'EnaSrdUdpEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdUdpSpecification.EnaSrdUdpEnabled }} | ` Format-List NetworkInterfaceId : eni-0123f4567890a1b23 EnaSrdEnabled : True EnaSrdUdpEnabled : False

Exemple 2 : Utiliser ENA Express à la fois pour le trafic TCP et le trafic UDP

Dans cet exemple, nous configurons EnaSrdEnabled et EnaSrdUdpEnabled comme true.

PS C:\> Edit-EC2NetworkInterfaceAttribute ` -NetworkInterfaceId eni-0123f4567890a1b23 ` -EnaSrdSpecification_EnaSrdEnabled $true ` -EnaSrdSpecification_EnaSrdUdpSpecification_EnaSrdUdpEnabled $true ; Get-EC2NetworkInterface -NetworkInterfaceId eni-0123f4567890a1b23 | ` Select-Object ` NetworkInterfaceId, @{Name = 'EnaSrdEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdEnabled }}, @{Name = 'EnaSrdUdpEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdUdpSpecification.EnaSrdUdpEnabled }} | ` Format-List NetworkInterfaceId : eni-0123f4567890a1b23 EnaSrdEnabled : True EnaSrdUdpEnabled : True

Exemple 3 : arrêter d’utiliser ENA Express pour le trafic UDP

Dans cet exemple, nous configurons EnaSrdUdpEnabled comme false.

PS C:\> Edit-EC2NetworkInterfaceAttribute ` -NetworkInterfaceId eni-0123f4567890a1b23 ` -EnaSrdSpecification_EnaSrdUdpSpecification_EnaSrdUdpEnabled $false ; Get-EC2NetworkInterface -NetworkInterfaceId eni-0123f4567890a1b23 | ` Select-Object ` NetworkInterfaceId, @{Name = 'EnaSrdEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdEnabled }}, @{Name = 'EnaSrdUdpEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdUdpSpecification.EnaSrdUdpEnabled }} | ` Format-List NetworkInterfaceId : eni-0123f4567890a1b23 EnaSrdEnabled : True EnaSrdUdpEnabled : False

Configuration d'ENA Express au lancement

Vous pouvez utiliser l’une des méthodes suivantes afin de configurer ENA Express pour une AMI lorsque vous lancez une instance depuis l’ AWS Management Console.

  • Vous pouvez configurer ENA Express pour votre AMI lorsque vous lancez une instance à l’aide de l’assistant de lancement d’instance. Pour plus de détails sur la configuration, consultez la rubrique Configuration réseau avancée dans les Paramètres réseau pour l’assistant de lancement d’instance.

  • Vous pouvez configurer ENA Express pour votre AMI lorsque vous utilisez un modèle de lancement. Pour plus d’informations sur la configuration des modèles de lancement, consultez la rubrique Configuration réseau avancée dans les Paramètres réseau pour les modèles de lancement.

Surveiller les performances ENA Express

Après avoir activé ENA Express pour les attachements de l’interface réseau à la fois sur l’instance d’envoi et sur 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 consulter la liste des mesures filtrées pour ENA Express, exécutez la commande ethtool suivante pour votre interface réseau (présentée ici en tant que eth0) :

[ec2-user ~]$ ethtool -S eth0 | grep ena_srd NIC statistics: ena_srd_mode: 0 ena_srd_tx_pkts: 0 ena_srd_eligible_tx_pkts: 0 ena_srd_rx_pkts: 0 ena_srd_resource_utilization: 0
Vérifier les paramètres ENA Express pour une instance

Pour vérifier les paramètres actuels d’ENA Express pour l’attachement à l’interface réseau de votre instance, exécutez la commande ethtool pour répertorier les métriques ENA Express et prenez note de la valeur de la métrique ena_srd_mode. Les valeurs sont les suivantes :

  • 0 = ENA Express désactivé, UDP désactivé

  • 1 = ENA Express activé, UDP désactivé

  • 2 = ENA Express désactivé, UDP activé

    Note

    Cela se produit uniquement lorsque ENA Express a été initialement activé et que UDP a été configuré pour l’utiliser. La valeur précédente est conservée pour le trafic UDP.

  • 3 = ENA Express activé, UDP activé

Une fois que vous avez activé ENA Express pour l’attachement 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 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. Pour vérifier si la transmission de paquets utilise le SRD, vous pouvez comparer le nombre de paquets éligibles (métrique ena_srd_eligible_tx_pkts) par rapport au nombre de paquets SRD transmis (métrique ena_srd_tx_pkts) au cours d’une période donnée.

Vous pouvez surveiller l’utilisation de vos ressources SRD à l’aide de la métrique ena_srd_resource_utilization. Si votre instance est sur le point d’épuiser ses ressources SRD, vous savez qu’il est temps de la faire monter en puissance.

Pour plus d’informations sur les métriques ENA Express, veuillez consulter Métriques pour ENA Express.

Régler les performances pour les paramètres ENA Express

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-ena-utilities/blob/main/ena-express/ check-ena-express-settings .sh

Le script exécute une série de tests et suggère les modifications de configuration recommandées et requises.