Ishita vous aide à résoudre
les problèmes entre les instances
et les hôtes sur site

ishita_network_issue_vpc_onprem_ig

Je constate une perte de paquets ou des problèmes de latence entre mes instances Linux Amazon Elastic Compute Cloud (Amazon EC2) et mon hôte sur site par passerelle Internet. Comment résoudre ces problèmes de performances de réseau ?

Pour diagnostiquer les problèmes de réseau tels que la perte de paquets ou la latence, commencez pas tester le réseau pour isoler la source du problème. Les étapes suivantes peuvent aider à déterminer si la source du problème est un réseau ou une application.

Avant de procéder au dépannage, vérifiez les éléments suivants :

  • Veillez à ce que les utilitaires réseau soient installés sur les deux points de terminaison (l’instance EC2 et l’hôte sur site).
  • Utilisez une instance EC2 qui prend en charge la mise en réseau améliorée et assurez-vous que les pilotes soient à jour. La mise en réseau améliorée fournit un taux d’I/O supérieur avec une plus faible utilisation du CPU, ce qui permet d’éviter les problèmes de niveau instance lors de l’exécution des tests de performances. Si la mise en réseau améliorée n’est pas activée, consultez Activation de la mise en réseau améliorée sur votre instance.
  • Connectez-vous votre instance Linux pour accéder aux instances et veillez à ce qu’il existe une connectivité bout en bout entre votre instance EC2 et votre hôte sur site.

Installez les outils suivants pour dépanner et tester votre réseau :

  • AWSSupport-SetupIPMonitoringFromVPC pour collecter les métriques de réseau telles que la perte de paquets, la latence, MTR, tcptraceroute et tracepath.
  • MTR pour vérifier la perte de paquets ICMP ou TCP et les problèmes de latence.
  • Traceroute pour déterminer les problèmes de latence ou de routage.
  • Hping3 pour déterminer la perte de paquets TCP de bout en bout et les problèmes de latence.
  • Tcpdump pour analyser les échantillons de capture de paquets.

Examiner les sauts sur traceroute ou les rapports MTR en adoptant une approche de bas en haut. Par exemple, vérifiez les pertes éventuelles sur le dernier saut/la destination, puis examinez les sauts suivants. Si la perte de paquets et les problèmes de latence continuent jusqu’au dernier saut, il s’agit d’un problème de réseau ou de routage. Si vous voyez une perte de paquets ou un problème de latence uniquement sur un saut dans tout le parcours, le problème vient peut-être du débit du plan de contrôle qui impose une limite sur ce nœud. Vérifiez si le dernier saut signalé correspond à la destination indiquée dans la commande. Si ce n’est pas le cas, il s’agit peut-être d’un problème provoqué par un groupe de sécurité restrictif.

Testez les performances avec AWSSupport-SetupIPMonitoringFromVPC

Cet outil intégré collecte de nombreuses métriques dont vous avez besoin pour dépanner votre réseau. Pour plus d’informations, consultez Outil de débogage pour la connectivité depuis Amazon VPC.

Testez les performances à l’aide de MTR

La commande Linux MTR fournit une sortie mise à jour en permanence, ce qui vous permet d'analyser les performances du réseau. Cet outil de diagnostic combine la fonction des utilitaires traceroute et ping. Dans la plupart des distributions Linux traceroute et MTR sont déjà installés. Toutefois, vous pouvez également les télécharger depuis le gestionnaire de package de logiciels de votre distribution.

Pour installer MTR, exécutez les commandes suivantes :

Amazon Linux :

sudo yum install mtr

Ubuntu :

sudo apt-get install mtr

Pour tester les performances de votre réseau à l’aide de MTR, exécutez ce test de manière bidirectionnelle entre l’adresse IP publique de vos instances EC2 et votre hôte sur site. Le parcours entre les nœuds d’un réseau TCP/IP peut changer si la direction est inversée. Par conséquent, il est important d’obtenir des résultats MTR dans les deux directions. Vous pouvez utiliser un traçage basé sur TCP au lieu d'ICMP car la plupart des appareils Internet annulent la priorité des demandes trace basées sur ICMP.

Examiner votre perte de paquets. La perte de paquets sur un seul saut n’indique généralement pas un problème. La perte peut résulter de la stratégie d’un plan de contrôle entraînant l’émission de messages «ICMP time exceeded ». Si vous remarquez une perte de paquets durable allant jusqu’au saut de destination, ou une perte de paquets sur plusieurs sauts, cette perte peut-être indiquer l’existence d’un problème.

Remarque : il est courant que certaines requêtes expirent.

MTR basé sur ICMP :

mtr -n -c 200 <Public IP EC2 instance/on-premises host> --report

MTR basé sur TCP :

mtr -n -T -c 200 <Public IP EC2 instance/on-premises host> --report

L’argument -T exécute un MTR basé sur TCP et l’option --report place le MTR en mode rapport. MTR s’exécute pour le nombre de cycles spécifié par l’option -c. Imprimez les statistiques, puis quittez.

Remarque : il arrive avec certaines versions de MTR que le saut final signale une valeur incorrecte en cas d’utilisation de TCP. Il s’agit d’un problème connu.

Testez les performances à l’aide de la commande traceroute

L’utilitaire traceroute de Linux identifie le parcours suivi entre un nœud client et le nœud de destination. L’utilitaire enregistre pour chaque routeur le temps de réponse en millisecondes à la requête. L’utilitaire calcule également le temps que met chaque saut pour atteindre sa destination.

Pour installer traceroute, exécutez les commandes suivantes :

Amazon Linux :

sudo yum install traceroute

Ubuntu :

sudo apt-get install traceroute

Remarque : Traceroute n’est pas nécessaire si un rapport MTR est exécuté. MTR fournit des statistiques en matière de latence et de perte de paquets vers une destination.

Assurez-vous que le port 22 ou le port que vous testez est ouvert dans les deux sens. Si vous résolvez les problèmes de connectivité réseau à l'aide de l'utilitaire traceroute, exécutez la commande dans les deux sens, c'est-à-dire du client vers le serveur, puis du serveur vers le client. Le parcours entre les nœuds d’un réseau TCP/IP peut changer si la direction est inversée. Utilisez un traçage basé sur TCP au lieu d'ICMP car la plupart des appareils Internet annulent la priorité des demandes trace basées sur ICMP.

traceroute basé sur ICMP :

sudo traceroute <Public IP of EC2 instance/on-premises host>

traceroute basé sur TCP :

sudo traceroute -T -p 22 –n <Public IP of EC2 instance/on-premises host>

L’argument -T -p 22 -n effectue un traçage basé sur TCP sur le port 22.

Testez les performances à l’aide de hping3

Hping3 est un assembleur et analyseur de paquets TCP/IP utilisable en ligne de commandes qui mesure la latence et la perte de paquets de bout-en-bout sur une connexion TCP. En plus des demandes echo ICMP, hping3 prend en charge les protocoles TCP, UDP et RAW-IP, dispose d'un mode traceroute, a la capacité d'envoyer des fichiers à travers un canal couvert. Hping3 est conçu pour analyser les hôtes, contribuer à la réalisation de tests d’intrusion, tester les systèmes de détection d’intrusion et envoyer des fichiers entre hôtes.

MTR et traceroute capturent la latence par saut. Toutefois, hping3 récolte des résultats indiquant la latence min/moy/max bout-en-bout sur TCP en plus de la perte de paquets. Pour installer hping3, exécutez les commandes suivantes :

Amazon Linux :

sudo yum --enablerepo=epel install hping3

Ubuntu :

sudo apt-get install hping3

La commande suivante envoie 50 paquets TCP SYN sur le port 0. Par défaut, hping3 envoie des en-têtes TCP au port 0 de l'hôte cible avec un paramètre winsize de 64 sans balise TCP :

hping3 -S -c 50 -V <Public IP of EC2 instance/on-premises host>

La commande suivante envoie 50 paquets TCP SYN sur le port 22 :

hping3 -S -c 50 -V <Public IP of EC2 instance/on-premises host> -p 22

Remarque : veillez à ce que le port 22 ou le port que vous testez soit bien ouvert.

Testez la capture de paquets à l'aide de tcpdump

Il est recommandé d'effectuer des captures simultanées de paquets sur votre instance EC2 et sur votre hôte sur site lorsque vous diagnostiquez des problèmes de perte de paquets ou de latence. En procédant ainsi, vous isolez le problème aux niveaux du réseau et de l’application. Pour installer tcpdump, exécutez les commandes suivantes :

Amazon Linux :

sudo yum install tcpdump

Ubuntu :

sudo apt-get install tcpdump

Si vous constatez une perte de paquets dans votre réseau, reportez-vous à la documentation de votre fournisseur pour obtenir des instructions sur la façon de vérifier les périphériques réseau à des fins d'analyse et de dépannage. Si vous êtes multiconnecté, exécutez ces tests à l’aide d’un autre fournisseur de service Internet et comparez les résultats.


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 26/10/2017

Date de mise à jour : 14/02/2019