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.
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 :
-
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'
-
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'
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.
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
Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/.
-
Dans le panneau de navigation de gauche, choisissez Instance Types (Types d’instance).
-
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.
-
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
Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.
-
Dans le panneau de navigation de gauche, choisissez Network Interfaces (Interfaces réseau).
-
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.
-
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
Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.
-
Dans le panneau de navigation de gauche, sélectionnez instances.
-
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.
-
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
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
Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.
-
Dans le panneau de navigation de gauche, choisissez Network Interfaces (Interfaces réseau).
-
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.
-
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.
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.
-
Pour utiliser ENA Express, cochez la case Enable (Activer).
-
Lorsque ENA Express est activé, vous pouvez configurer les paramètres UDP. Pour utiliser ENA Express UDP, cochez la case Enable (Activer).
-
Pour enregistrer vos paramètres, choisissez Save (Enregistrer).
Gérer ENA Express à partir de la liste d’instances
Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.
-
Dans le panneau de navigation de gauche, sélectionnez instances.
-
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.
-
Sélectionnez Network interface (Interface réseau) pour configurer pour votre instance.
-
Choisissez Manage ENA Express (Gérer ENA Express) dans le menu Action en haut à droite de la page.
-
Pour configurer ENA Express pour une interface réseau attachée à votre instance, sélectionnez-la dans la liste Network interface (Interface réseau).
-
Pour utiliser ENA Express pour l’attachement de l’interface réseau sélectionné, cochez la case Enable (Activer).
-
Lorsque ENA Express est activé, vous pouvez configurer les paramètres UDP. Pour utiliser ENA Express UDP, cochez la case Enable (Activer).
-
Pour enregistrer vos paramètres, choisissez Save (Enregistrer).
Configurer ENA Express lorsque vous attachez une interface réseau à une instance EC2
Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.
-
Dans le panneau de navigation de gauche, choisissez Network Interfaces (Interfaces réseau).
-
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.
-
Sélectionnez l’instance avec laquelle vous souhaitez effectuer l’attachement.
-
Pour utiliser ENA Express après avoir attaché l’interface réseau à l’instance, cochez la case Enable (Activer).
-
Lorsque ENA Express est activé, vous pouvez configurer les paramètres UDP. Pour utiliser ENA Express UDP, cochez la case Enable (Activer).
-
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
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é
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.