Passer au contenu

Pourquoi le message d'erreur « Plugin with name Standard_Stream not found » s’affiche-t-il lorsque j'utilise Session Manager pour me connecter à mon instance Amazon EC2 ?

Lecture de 7 minute(s)
0

Je ne peux pas utiliser Session Manager, une fonctionnalité d'AWS Systems Manager, pour accéder à mon instance Amazon Elastic Compute Cloud (Amazon EC2). Cependant, j'ai reçu le message d'erreur « Plugin with name Standard_Stream not found ».

Brève description

Si AWS Systems Manager Agent (SSM Agent) ne parvient pas à créer les fichiers requis pour établir une session, le message d'erreur suivant s'affiche :

« Your session has been terminated for the following reasons: Plugin with name Standard_Stream not found. Step name: Standard_Stream »

Ce problème se produit généralement si l'espace de stockage de votre instance est insuffisant ou si un trop grand nombre de fichiers sont ouverts simultanément.

Pour identifier la cause du problème, consultez les journaux de votre système pour y trouver des messages d'erreur spécifiques. Puis, effectuez les actions de dépannage suivantes en fonction des erreurs que vous recevez.

Résolution

Résoudre l'erreur « No space left on device »

Vous devez disposer d’un espace suffisant sur la partition racine pour que SSM Agent puisse créer les données temporaires nécessaires au démarrage d'une session. Si le message d'erreur « No space left on device » s'affiche, vous devez augmenter l'espace disponible sur le système de fichiers racine. Tout d'abord, supprimez les fichiers inutilisés de la partition racine. Si l’espace n’est toujours pas suffisant, utilisez Elastic Volumes pour augmenter votre volume Amazon Elastic Block Store (Amazon EBS). Vous pouvez également utiliser l'une des méthodes suivantes pour étendre le système de fichiers racine au niveau du système d'exploitation (OS).

Utiliser SSH ou la console série EC2 pour étendre le système de fichiers racine

Procédez comme suit :

  1. Utilisez SSH ou l’EC2 Serial Console pour vous connecter à votre instance.
    Remarque : pour utiliser l’EC2 Serial Console, vous devez configurer l'accès à l’EC2 Serial Console. Pour plus d'informations sur les exigences, consultez la section Prérequis pour l’EC2 Serial Console.

  2. Pour vérifier l'espace disponible sur la partition racine, exécutez la commande suivante :

    df -Th

    Exemple de sortie :

    $ df -Th
    
    Filesystem Type Size Used Avail Use% Mounted on
    
    devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
    
    tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm
    
    tmpfs tmpfs 1.6G 440K 1.6G 1% /run
    
    /dev/nvme0n1p1 xfs 8.0G 2.0G 6.0G 25% /
    
    tmpfs tmpfs 3.9G 0 3.9G 0% /tmp
    
    /dev/nvme0n1p128 vfat 10M 1.3M 8.7M 13% /boot/efi
    
    tmpfs tmpfs 782M 0 782M 0% /run/user/1000
  3. Pour afficher des détails tels que le nom et les types de systèmes de fichiers des périphériques de stockage en mode bloc et de la partition racine, exécutez la commande lsblk suivante :

    lsblk -f

    Exemple de sortie :

    $ lsblk -f
    NAME          FSTYPE LABEL           UUID                                 MOUNTPOINT
    nvme0n1
    ├─nvme0n1p1   xfs    /               abcd123-abcd-1234-abcd-abcdef1234 /
    └─nvme0n1p128
  4. Pour étendre une partition, exécutez la commande suivante :

    sudo growpart /dev/nvme0n1 1

    Remarque : remplacez nvme0n1 par le nom de la partition.

  5. Pour vérifier que vous avez étendu la partition, réexécutez la commande lsblk. Dans la sortie, assurez-vous que la taille de la partition est identique à la taille du volume.

  6. Pour étendre le système de fichiers, exécutez l'une des commandes suivantes en fonction de votre type de système de fichiers.
    Volumes ext4 :

    sudo resize2fs /dev/nvme0n1p1

    Remarque : remplacez nvme0n1p1 par le nom de la partition.
    Volumes XFS :

    sudo xfs_growfs -d /

Utiliser une instance de secours pour étendre le système de fichiers racine

Si vous ne pouvez pas utiliser SSH pour vous connecter à une instance inaccessible, créez une instance de secours dans la même zone de disponibilité que l'instance inaccessible. Pour obtenir des instructions, consultez la section Résoudre l'erreur « No space left on device » de la rubrique Comment résoudre les problèmes liés à une instance Linux EC2 qui échoue à une vérification d’état en raison d'une utilisation excessive des ressources ?Après avoir monté le volume racine sur l'instance de secours, étendez le système de fichiers.

Résoudre les erreurs « Too many open files »

Si vous dépassez le nombre maximal de ressources inotify, SSM Agent ne peut pas créer les nouveaux descripteurs de fichiers requis pour établir une session. Ce problème se produit si un trop grand nombre de fichiers ou de descripteurs de fichiers sont ouverts simultanément, ou si le sous-système inotify du noyau a dépassé son quota maximum d'instances ou de surveillance. Pour plus d'informations, consultez la page inotify sur le site Web de man7.

Pour résoudre ce problème, procédez comme suit :

Redémarrez ou redémarrez votre instance

Pour redémarrer tous les processus et libérer les ressources inotify en cours d'utilisation, redémarrez ou arrêtez et démarrez l'instance.

Remarque : lorsque vous arrêtez et démarrez une instance, son adresse IP publique change. Une bonne pratique consiste à utiliser une adresse IP Elastic pour acheminer le trafic externe vers votre instance au lieu d'une adresse IP publique. Si vous utilisez Amazon Route 53, vous devrez peut-être mettre à jour les enregistrements DNS Route 53 lorsque l'adresse IP publique change.

Avant d'arrêter et de démarrer votre instance, effectuez les actions suivantes :

Augmentez votre quota inotify

Si vous rencontrez toujours des problèmes après un redémarrage, procédez comme suit pour augmenter le quota inotify sur votre instance :

  1. Exécutez les commandes suivantes pour vérifier le quota inotify :
    cat /proc/sys/fs/inotify/max_user_watches
    cat /proc/sys/fs/inotify/max_user_instances
    Remarque : par défaut, le nombre max_user_watches est 8192 et max_user_instances est 128.
  2. Pour augmenter temporairement les valeurs de quota maximales, exécutez la commande suivante :
    sudo sysctl fs.inotify.max_user_watches=newwatchesquota
    sudo sysctl fs.inotify.max_user_instances=newinstancesquota
    Remarque : remplacez newwatchesquota par le nouveau quota pour max_user_watches et newinstancesquota par le nouveau quota pour max_user_instances. La commande précédente met à jour les quotas jusqu'au prochain redémarrage de l'instance. Il est recommandé de tester d'abord les valeurs mises à jour par le biais de modifications temporaires.
  3. Pour rendre les mises à jour des quotas permanentes, ajoutez les paramètres suivants au fichier /etc/sysctl.conf :
    echo "fs.inotify.max_user_watches = newwatchesquota" >> /etc/sysctl.d/20-fs-inotify.conf
    echo "fs.inotify.max_user_instances = newinstancesquota" >> /etc/sysctl.d/20-fs-inotify.conf
    Remarque : remplacez newwatchesquota par le nouveau quota pour max_user_watches et newinstancesquota par le nouveau quota pour max_user_instances.
  4. Redémarrez l'instance pour appliquer les modifications.

Remarque : il est recommandé de surveiller les performances de votre système après avoir modifié votre instance afin de vérifier que les quotas mis à jour correspondent aux exigences de votre système.

Informations connexes

Pourquoi ne puis-je pas utiliser le Gestionnaire de sessions pour me connecter à mon instance Amazon EC2 ?

Comment puis-je étendre mon système de fichiers Linux après avoir augmenté le volume Amazon EBS sur mon instance EC2 ?

AWS OFFICIELA mis à jour il y a 5 mois