Résolution des problèmes de Session Manager - AWS Systems Manager

Résolution des problèmes de Session Manager

Consultez les informations suivantes pour tenter de résoudre les problèmes liés à AWS Systems Manager Session Manager.

Processus de documentation échoué de façon inattendue : le gestionnaire de documents a expiré

Problème : lors du démarrage d’une session sur un hôte Linux, Systems Manager renvoie le message d’erreur suivant :

document process failed unexpectedly: document worker timed out, check [ssm-document-worker]/[ssm-session-worker] log for crash reason

Si vous avez configuré l’enregistrement SSM Agent, comme décrit dans Affichage des journaux SSM Agent, vous pouvez voir plus de détails dans le journal de débogage. Pour ce problème, Session Manager affiche l’entrée de journal suivante :

failed to create channel: too many open files

Cette erreur indique généralement qu’il y a trop de processus de travail Session Manager en cours d’exécution et que le système d’exploitation sous-jacent a atteint une limite. Vous avez deux options à votre disposition pour résoudre ce problème.

Solution A : augmenter la limite de notification des fichiers du système d’exploitation

Vous pouvez augmenter la limite en exécutant la commande suivante depuis un hôte Linux distinct. Cette commande utilise Run Command de Systems Manager. La valeur spécifiée augmente max_user_instances à 8192. Cette valeur est considérablement supérieure à la valeur par défaut de 128, mais elle ne sollicitera pas les ressources de l’hôte :

aws ssm send-command --document-name AWS-RunShellScript \ --instance-id i-02573cafcfEXAMPLE --parameters \ "commands=sudo sysctl fs.inotify.max_user_instances=8192"

Solution B : diminuer le nombre de notifications de fichiers utilisées par Session Manager l’hôte cible

Exécutez la commande suivante depuis un hôte Linux distinct pour répertorier les sessions exécutées sur l’hôte cible :

aws ssm describe-sessions --state Active --filters key=Target,value=i-02573cafcfEXAMPLE

Passez en revue le résultat de la commande pour identifier les sessions dont vous n’avez plus besoin. Vous pouvez mettre fin à ces sessions en exécutant la commande suivante depuis un hôte Linux distinct :

aws ssm terminate-session —session-id session ID

Optionnellement, une fois qu’il n’y a plus de sessions en cours d’exécution sur le serveur distant, vous pouvez libérer des ressources supplémentaires en exécutant la commande suivante à partir d’un hôte Linux séparé. Cette commande met fin à tous les processus Session Manager exécutés sur l’hôte distant et, par conséquent, à toutes les sessions sur l’hôte distant. Avant d’exécuter cette commande, vérifiez qu’il n’y a aucune session en cours que vous souhaitez conserver :

aws ssm send-command --document-name AWS-RunShellScript \ --instance-id i-02573cafcfEXAMPLE --parameters \ '{"commands":["sudo kill $(ps aux | grep ssm-session-worker | grep -v grep | awk '"'"'{print $2}'"'"')"]}'

Session Manager ne peut pas se connecter à partir de la console Amazon EC2

Problème : après avoir créé une nouvelle instance, l'onglet Session Manager de la console Amazon Elastic Compute Cloud (Amazon EC2) ne vous donne pas la possibilité de vous connecter.

Solution A : créer un profil d'instance : si vous ne l'avez pas déjà fait (comme l'indiquent les informations de l'onglet Session Manager de la console EC2), créez un profil d'instance AWS Identity and Access Management (IAM) en utilisant Quick Setup. Quick Setup est une capacité de AWS Systems Manager.

Session Manager nécessite un profil d'instance IAM pour se connecter à votre instance. Vous pouvez créer un profil d'instance et l'attribuer à votre instance en créant une configuration de gestion des hôtes avec Quick Setup. Une configuration de gestion des hôtes crée un profil d'instance avec les autorisations requises et l'attribue à votre instance. Une configuration de gestion des hôtes active également d'autres fonctionnalités de Systems Manager et crée des rôles IAM pour exécuter ces fonctionnalités. L'utilisation de Quick Setup ou des fonctionnalités activées par la configuration de gestion des hôtes est gratuite. Ouvrez Quick Setup et créez une configuration de gestion des hôtes.

Important

Une fois que vous avez créé la configuration de gestion des hôtes, Amazon EC2 peut prendre plusieurs minutes pour enregistrer la modification et actualiser l'onglet Gestionnaire de session. Si, au bout de deux minutes, l’onglet n’affiche pas un bouton Se connecter, redémarrez votre instance. Après le redémarrage, si vous ne voyez toujours pas l’option de connexion, ouvrez Configuration rapide et vérifiez que vous n’avez qu’une seule configuration de gestion d’hôte. S'il y en a deux, supprimez la configuration la plus ancienne et patientez quelques minutes.

Si vous ne parvenez toujours pas à vous connecter après avoir créé une configuration de gestion des hôtes, ou si vous recevez un message d'erreur, notamment un message d'erreur concernant SSM Agent, consultez l'une des solutions suivantes :

Solution B : aucune erreur, mais impossible de se connecter

Si vous avez créé la configuration de gestion des hôtes, que vous avez attendu plusieurs minutes avant d'essayer de vous connecter et que vous ne parvenez toujours pas à vous connecter, il se peut que vous deviez appliquer manuellement la configuration de gestion des hôtes à votre instance. Utilisez la procédure suivante pour mettre à jour une configuration de gestion des hôtes Quick Setup et appliquer des modifications à une instance.

Pour mettre à jour une configuration de gestion d'hôtes en utilisant Quick Setup
  1. Ouvrez la console AWS Systems Manager à l'adresse https://console.aws.amazon.com/systems-manager/.

  2. Dans le panneau de navigation, sélectionnez Quick Setup.

  3. Dans la liste Configurations, choisissez la configuration de Gestion des hôtes que vous avez créée.

  4. Choisissez Actions, puis Enregistrer la configuration.

  5. Au bas de la section Cibles, sous Choisissez la manière dont vous souhaitez cibler les instances, sélectionnez Manuel.

  6. Dans la section Instances, choisissez l'instance que vous avez créée.

  7. Choisissez Mettre à jour.

Attendez quelques minutes pour qu'EC2 actualise l'onglet Session Manager. Si vous ne parvenez toujours pas à vous connecter ou si vous recevez un message d'erreur, consultez les autres solutions à ce problème.

Solution C : erreur concernant l'absence de l'SSM Agent

Si vous n'avez pas pu créer une configuration de gestion des hôtes en utilisant Quick Setup, ou si vous recevez un message d'erreur indiquant que l'SSM Agent n'est pas installé, il se peut que vous deviez installer manuellement l'SSM Agent sur votre instance. SSM Agent est un logiciel Amazon qui permet à Systems Manager de se connecter à votre instance en utilisant Session Manager. L'SSM Agent est installé par défaut sur la plupart des Amazon Machine Images (AMI). Si votre instance a été créée à partir d'une AMI non standard ou d'une ancienne AMI, vous devrez peut-être installer l'agent manuellement. Pour la procédure d'installation de SSM Agent, consultez la rubrique suivante qui correspond au système d'exploitation de votre instance.

Pour les problèmes liés à SSM Agent, consultez Résolution des problèmes de SSM Agent.

Je n'ai pas le droit de démarrer une session

Problème : vous essayez de démarrer une session, mais le système vous indique que vous ne disposez pas des autorisations nécessaires.

  • Solution : un administrateur système ne vous a pas accordé les autorisations de politique AWS Identity and Access Management (IAM) pour démarrer des sessions Session Manager. Pour obtenir des informations, veuillez consulter Contrôler les accès de session utilisateur aux instances.

SSM Agent pas en ligne

Problème : un message s’affiche sur l’onglet Session Manager de l’instance Amazon EC2 indiquant : SSM Agent n’est pas en ligne. Le SSM Agent n’a pas pu se connecter à un point de terminaison du gestionnaire de systèmes pour s’enregistrer avec le service.

Solution : SSM Agent est un logiciel Amazon qui s’exécute sur des instances Amazon EC2 pour permettre à Session Manager de s’y connecter. Si cette erreur s’affiche, cela signifie que SSM Agent ne peut pas établir une connexion avec le point de terminaison Systems Manager. Le problème peut être dû à des restrictions de pare-feu, à des problèmes de routage ou à un manque de connectivité Internet. Pour résoudre ce problème, étudiez les problèmes de connectivité réseau.

Je n'ai pas le droit de modifier les préférences de session

Problème : vous essayez de mettre à jour des préférences de session globales pour votre organisation, mais le système vous indique que vous ne disposez pas des autorisations nécessaires.

Nœud géré non disponible ou non configuré pour Session Manager

Problème 1 : vous souhaitez démarrer une session sur la page de la console Start a session (Démarrer une session), mais le nœud géré ne figure pas dans la liste.

Problème 2 : un nœud géré auquel vous souhaitez vous connecter figure dans la liste sur la page de la console Start a session (Démarrer une session), mais la page indique que « L'instance que vous avez sélectionnée n'est pas configurée pour utiliser Session Manager ».

Plugin Session Manager introuvable

Pour que vous puissiez utiliser l'AWS CLI pour exécuter des commandes de session, le plugin Session Manager doit également être installé sur votre ordinateur local. Pour plus d’informations, veuillez consulter Installation du plug-in Session Manager pour l'AWS CLI.

Plug-in Session Manager pas ajouté automatiquement au chemin de la ligne de commande (Windows)

Lorsque vous installez le plug-in Session Manager sur Windows, le fichier exécutable session-manager-plugin doit être ajouté automatiquement à la variable d'environnement PATH de votre système d'exploitation. Si la commande échoue après l'avoir exécutée pour vérifier si le plugin Session Manager était correctement installé (aws ssm start-session --target instance-id), vous devrez peut-être effectuer cet ajout manuellement à l'aide de la procédure suivante.

Pour modifier votre variable PATH (Windows)
  1. Appuyez sur la touche Windows et saisissez environment variables.

  2. Sélectionnez Modifier les variables d'environnement pour votre compte.

  3. Sélectionnez PATH, puis Modifier.

  4. Ajoutez des chemins d'accès dans le champ Variable value (Valeur de la variable), en les séparant par des points virgules, tel qu'illustré dans l'exemple : C:\existing\path;C:\new\path

    C:\existing\path représente la valeur déjà dans le champ. C:\new\path représente le chemin que vous souhaitez ajouter, comme indiqué dans ces exemples.

    • machines 64 bits : C:\Program Files\Amazon\SessionManagerPlugin\bin\

    • machines 32 bits : C:\Program Files (x86)\Amazon\SessionManagerPlugin\bin\

  5. Sélectionnez OK deux fois pour appliquer les nouveaux paramètres.

  6. Fermez toute invite de commande en cours d'exécution et rouvrez.

Le plugin Session Manager ne répond pas

Durant une session de réacheminement de port, si un logiciel antivirus est installé sur votre ordinateur local, le réacheminement du trafic peut s'arrêter. Dans certains cas, l'interférence d'un logiciel antivirus avec le plugin Session Manager provoque des deadlocks. Pour résoudre ce problème, autorisez ou excluez le plugin Session Manager dans le logiciel antivirus. Pour obtenir des informations sur le chemin d'installation par défaut pour le plugin Session Manager, veuillez consulter Installation du plug-in Session Manager pour l'AWS CLI.

TargetNotConnected

Problème : vous essayez de démarrer une session, mais le système renvoie le message d'erreur, « An error occurred (TargetNotConnected) when calling the StartSession operation: InstanceID isn't connected » (Une erreur s'est produite (TargetNotConnected) lors de l'appel de l'opération StartSession : InstanceID n'est pas connecté).

  • Solution A : cette erreur est renvoyée lorsque le nœud géré cible spécifié pour la session n'est pas entièrement configuré pour être utilisé avec Session Manager. Pour plus d’informations, veuillez consulter Configuration de Session Manager.

  • Solution B: cette erreur est également renvoyée si vous tentez de démarrer une session sur un nœud géré situé dans un autre Compte AWS ou une autre Région AWS.

Affichage d'un écran vide après le démarrage d'une session

Problème: vous démarrez une session et Session Manager affiche un écran vide.

  • Solution A : ce problème peut se produire lorsque le volume racine du nœud géré est plein. En raison du manque d'espace disque, l'SSM Agent sur le nœud géré cesse de fonctionner. Pour résoudre ce problème, utilisez Amazon CloudWatch pour collecter des métriques et des journaux à partir des systèmes d'exploitation. Pour plus d’informations, consultez Collecter des métriques, des journaux et des traces avec l’agent CloudWatch dans le Guide de l’utilisateur Amazon CloudWatch.

  • Solution B : un écran vide peut s'afficher si vous avez accédé à la console à l'aide d'un lien qui inclut un point de terminaison et une paire de régions non appariées. Par exemple, dans l'URL de la console suivante, us-west-2 est le point de terminaison spécifié, mais us-west-1 est la Région AWS spécifiée :

    https://us-west-2.console.aws.amazon.com/systems-manager/session-manager/sessions?region=us-west-1
  • Solution C : le nœud géré se connecte à Systems Manager à l'aide de points de terminaison de VPC et vos préférences Session Manager écrivent la sortie de session dans un compartiment Amazon S3 ou un groupe de journaux Amazon CloudWatch Logs, mais un point de terminaison de passerelle s3 ou un point de terminaison d'interface logs n'existe pas dans le VPC. Un point de terminaison s3 au format com.amazonaws.region.s3 est requis si vos nœuds gérés se connectent à Systems Manager à l'aide de points de terminaison de VPC et que vos préférences Session Manager écrivent la sortie de session dans un compartiment Amazon S3. Sinon, un point de terminaison logs au format com.amazonaws.region.logsest requis si vos nœuds gérés se connectent à Systems Manager à l'aide de points de terminaison de VPC et que vos préférences Session Manager écrivent la sortie de session dans un groupe de journaux CloudWatch Logs. Pour en savoir plus, consultez Création de points de terminaison de VPC pour Systems Manager.

  • Solution D : le groupe de journaux ou le compartiment Amazon S3 que vous avez spécifié dans vos préférences de session a été supprimé. Pour résoudre ce problème, mettez à jour vos préférences de session avec un groupe de journaux ou un compartiment S3 valide.

  • Solution E : le groupe de journaux ou le compartiment Amazon S3 que vous avez spécifié dans vos préférences de session n'est pas chiffré, mais vous avez défini l'entrée cloudWatchEncryptionEnabled ou s3EncryptionEnabled sur true. Pour résoudre ce problème, mettez à jour vos préférences de session avec un groupe de journaux ou un compartiment Amazon S3 chiffré, ou définissez l'entrée cloudWatchEncryptionEnabled ou s3EncryptionEnabled sur false. Ce scénario s'applique uniquement aux clients qui créent des préférences de session avec les outils de ligne de commande.

Le nœud géré cesse de répondre lorsque les sessions durent longtemps

Problème : votre nœud géré ne répond plus ou se bloque lorsqu'une session dure longtemps.

Solution : réduisez la durée de conservation des journaux de l'SSM Agent pour Session Manager.

Pour réduire la durée de conservation des journaux de l'SSM Agent pour les sessions
  1. Localisez le amazon-ssm-agent.json.template dans le répertoire /etc/amazon/ssm/ pour Linux, ou C:\Program Files\Amazon\SSM pour Windows.

  2. Copiez le contenu du amazon-ssm-agent.json.template dans un nouveau fichier nommé amazon-ssm-agent.json, dans le même répertoire.

  3. Réduisez la valeur par défaut de la valeur SessionLogsRetentionDurationHours dans la propriété SSM et enregistrez le fichier.

  4. Redémarrez SSM Agent.

Une erreur s'est produite (InvalidDocument) lors de l'appel de l'opération StartSession

Problème : Le message d'erreur suivant s'affiche lorsque vous démarrez une session à l'aide de AWS CLI.

An error occurred (InvalidDocument) when calling the StartSession operation: Document type: 'Command' is not supported. Only type: 'Session' is supported for Session Manager.

Solution : Le document SSM que vous avez spécifié pour le paramètre --document-name n'est pas un document de Session. Utilisez la procédure suivante pour afficher la liste des documents de session dans la AWS Management Console.

Pour afficher la liste des documents de session
  1. Ouvrez la console AWS Systems Manager à l'adresse https://console.aws.amazon.com/systems-manager/.

  2. Dans le panneau de navigation, cliquez sur Documents.

  3. Dans la liste des Catégories, sélectionnez Documents de session.