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.
Rubriques
- Processus de documentation échoué de façon inattendue : le gestionnaire de documents a expiré
- Session Manager ne peut pas se connecter à partir de la console Amazon EC2
- Je n'ai pas le droit de démarrer une session
- SSM Agent pas en ligne
- Je n'ai pas le droit de modifier les préférences de session
- Nœud géré non disponible ou non configuré pour Session Manager
- Plugin Session Manager introuvable
- Plug-in Session Manager pas ajouté automatiquement au chemin de la ligne de commande (Windows)
- Le plugin Session Manager ne répond pas
- TargetNotConnected
- Affichage d'un écran vide après le démarrage d'une session
- Le nœud géré cesse de répondre lorsque les sessions durent longtemps
- Une erreur s'est produite (InvalidDocument) lors de l'appel de l'opération StartSession
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
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
Ouvrez la console AWS Systems Manager à l'adresse https://console.aws.amazon.com/systems-manager/
. Dans le panneau de navigation, sélectionnez Quick Setup.
-
Dans la liste Configurations, choisissez la configuration de Gestion des hôtes que vous avez créée.
-
Choisissez Actions, puis Enregistrer la configuration.
-
Au bas de la section Cibles, sous Choisissez la manière dont vous souhaitez cibler les instances, sélectionnez Manuel.
-
Dans la section Instances, choisissez l'instance que vous avez créée.
-
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.
-
Solution : un administrateur système ne vous a pas accordé les autorisations de politique IAM pour configurer des préférences Session Manager. Pour plus d’informations, veuillez consulter Accorder ou révoquer des autorisations utilisateur pour mettre à jour des préférences Session Manager.
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.
-
Solution A : le nœud géré auquel vous souhaitez vous connecter n'est peut-être pas configuré pour AWS Systems Manager. Pour en savoir plus, consultez Configuration de la console unifiée Systems Manager pour une organisation.
Note
Si AWS Systems Manager SSM Agent est déjà en cours d'exécution sur un nœud géré lorsque vous attachez le profil d'instance IAM, vous devrez peut-être redémarrer l'agent avant que l'instance ne soit répertoriée sur la page de console Start a session (Démarrer une session).
-
Solution B : la configuration de proxy que vous avez appliquée à l'SSM Agent sur votre nœud géré peut être incorrecte. Si la configuration du proxy est incorrecte, le nœud géré ne sera pas en mesure d'atteindre les points de terminaison de service nécessaires, ou le nœud pourra signaler un système d'exploitation différent à Systems Manager. Pour plus d’informations, consultez Configuration de SSM Agent pour l’utilisation d’un proxy sur les nœuds Linux et Configurer l'SSM Agent pour utiliser un proxy pour les instances Windows Server.
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 ».
-
Solution A : le nœud géré a été configuré pour une utilisation avec le service Systems Manager, mais le profil d'instance IAM attaché au nœud n'inclut peut-être pas les autorisations relatives à la fonctionnalité Session Manager. Pour en savoir plus, consultez la page Vérifier ou créer un profil d'instance IAM avec des autorisations Session Manager.
-
Solution B : le nœud géré n'exécute pas une version de l'SSM Agent qui prend en charge Session Manager. Mettez à jour l'SSM Agent du nœud vers la version 2.3.68.0 ou ultérieure.
Mettez manuellement à jour l'SSM Agent sur un nœud géré en suivant la procédure décrite sur les pages Installation et désinstallation manuelles de SSM Agent sur les instances EC2 pour Windows Server, Installation et désinstallation manuelles de SSM Agent sur les instances EC2 pour Linux ou Installation et désinstallation manuelles de SSM Agent sur les instances EC2 pour macOS, selon votre système d'exploitation.
Vous pouvez également utiliser le document Run Command
AWS-UpdateSSMAgent
pour mettre à jour la version de l'agent sur un ou plusieurs nœuds gérés à la fois. Pour plus d’informations, veuillez consulter Mise à jour de SSM Agent à l'aide de Run Command.Astuce
Pour garder constamment votre agent à jour, nous vous recommandons de configurer la mise à jour automatique de l'SSM Agent vers la dernière version, tel qu'expliqué ci-dessous :
-
Exécutez
AWS-UpdateSSMAgent
dans le cadre d'une association State Manager. Pour plus d’informations, veuillez consulter Guide détaillé : mise à jour automatique de SSM Agent avec l’AWS CLI. -
Exécutez
AWS-UpdateSSMAgent
dans le cadre d'une fenêtre de maintenance. Pour de plus amples informations sur l'utilisation des fenêtres de maintenance, veuillez consulter Création et gestion de fenêtres de maintenance à l’aide de la console et Tutoriel : Créer et configurer une fenêtre de maintenance en utilisant l’AWS CLI.
-
-
Solution C : le nœud géré ne peut pas atteindre les points de terminaison de service nécessaires. Vous pouvez améliorer la posture de sécurité de vos nœuds gérés en utilisant des points de terminaison d'interface optimisés par AWS PrivateLink à des fins de connexion aux points de terminaison Systems Manager. L'alternative à l'utilisation de points de terminaison d'interface consiste à activer l'accès Internet sortant sur vos nœuds gérés. Pour de plus amples informations, veuillez consulter Utilisez PrivateLink pour configurer un point de terminaison de VPC pour Session Manager.
-
Solution D : le nœud géré dispose de ressources d'UC ou de mémoire limitées. Même si votre nœud géré est fonctionnel, s'il ne dispose pas de ressources suffisantes, vous ne pouvez pas établir de session. Pour de plus amples informations, veuillez consulter Résolution d'un problème d'instance inaccessible.
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
), vous devrez peut-être effectuer cet ajout manuellement à l'aide de la procédure suivante.instance-id
Pour modifier votre variable PATH (Windows)
-
Appuyez sur la touche Windows et saisissez
environment variables
. -
Sélectionnez Modifier les variables d'environnement pour votre compte.
-
Sélectionnez PATH, puis Modifier.
-
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
représente la valeur déjà dans le champ.C:\existing\path
représente le chemin que vous souhaitez ajouter, comme indiqué dans ces exemples.C:\new\path
-
machines 64 bits :
C:\Program Files\Amazon\SessionManagerPlugin\bin\
-
machines 32 bits :
C:\Program Files (x86)\Amazon\SessionManagerPlugin\bin\
-
-
Sélectionnez OK deux fois pour appliquer les nouveaux paramètres.
-
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é, maisus-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'interfacelogs
n'existe pas dans le VPC. Un point de terminaisons3
au formatcom.amazonaws.
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 terminaisonregion
.s3logs
au formatcom.amazonaws.
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 groupe de journaux CloudWatch Logs. Pour en savoir plus, consultez Création de points de terminaison de VPC pour Systems Manager.region
.logs -
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
ous3EncryptionEnabled
surtrue
. 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éecloudWatchEncryptionEnabled
ous3EncryptionEnabled
surfalse
. 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
-
Localisez le
amazon-ssm-agent.json.template
dans le répertoire/etc/amazon/ssm/
pour Linux, ouC:\Program Files\Amazon\SSM
pour Windows. -
Copiez le contenu du
amazon-ssm-agent.json.template
dans un nouveau fichier nomméamazon-ssm-agent.json
, dans le même répertoire. -
Réduisez la valeur par défaut de la valeur
SessionLogsRetentionDurationHours
dans la propriétéSSM
et enregistrez le fichier. -
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
Ouvrez la console AWS Systems Manager à l'adresse https://console.aws.amazon.com/systems-manager/
. -
Dans le panneau de navigation, cliquez sur Documents.
-
Dans la liste des Catégories, sélectionnez Documents de session.