Résolution des problèmes liés aux fenêtres de maintenance - AWS Systems Manager

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.

Résolution des problèmes liés aux fenêtres de maintenance

Consultez les informations suivantes pour tenter de résoudre les problèmes liés aux fenêtres de maintenance.

Erreur de modification de tâche : sur la page de modification de tâche de fenêtre de maintenance, la liste de rôles IAM affiche un message d'erreur : « We couldn't find the IAM maintenance window role specified for this task. It might have been deleted, or it might not have been created yet. » (Nous n'avons pas pu trouver le rôle de fenêtre de maintenance IAM spécifié pour cette tâche. Il a peut-être été supprimé ou il n'a peut-être pas encore été créé.)

Problème 1 : le rôle de fenêtre de maintenance AWS Identity and Access Management (IAM) que vous avez indiqué initialement a été supprimé après avoir créé la tâche.

Correctifs possibles : 1) sélectionnez un autre rôle de fenêtre de maintenance IAM, s'il existe pour votre compte, ou créez-en un nouveau et sélectionnez-le pour cette tâche.

Problème 2 : si la tâche a été créée à l'aide de l'AWS Command Line Interface (AWS CLI), de AWS Tools for Windows PowerShell ou d'un kit SDK AWS, un nom de rôle de fenêtre de maintenance IAM inexistant pourrait avoir été spécifié. Par exemple, il est possible que le rôle de fenêtre de maintenance IAM ait été supprimé avant de créer la tâche, ou que le nom de rôle ait été saisi de façon incorrecte, par exemple, myrole au lieu de my-role.

Correctifs possibles : sélectionnez le nom correct du rôle de fenêtre de maintenance IAM que vous souhaitez utiliser, ou créez-en un nouveau à spécifier pour cette tâche.

Toutes les cibles de fenêtre de maintenance ne sont pas mises à jour

Problème : vous remarquez que des tâches de fenêtre de maintenance ne se sont pas exécutées sur toutes les ressources ciblées par votre fenêtre de maintenance. Par exemple, dans les résultats d'exécution de la fenêtre de maintenance, la tâche de cette ressource est marquée comme ayant échoué ou expiré.

Solution: les raisons les plus courantes pour lesquelles une tâche de fenêtre de maintenance ne s'exécute pas sur une ressource cible concernent la connectivité et la disponibilité. Par exemple :

  • Systems Manager a perdu la connexion avec la ressource avant ou pendant l'opération de la fenêtre de maintenance.

  • La ressource était hors ligne ou arrêtée pendant l'opération de la fenêtre de maintenance.

Vous pouvez attendre la prochaine fenêtre de maintenance planifiée pour exécuter des tâches sur les ressources. Vous pouvez exécuter manuellement les tâches de fenêtre de maintenance sur les ressources qui n'étaient pas disponibles ou qui étaient hors connexion.

La tâche échoue avec le statut d'invocation de tâche : « The provided role does not contain the correct SSM permissions. » (Le rôle fourni ne contient pas les autorisations SSM correctes).

Problème : Vous avez spécifié une fonction du service de fenêtre de maintenance pour une tâche, mais la tâche ne s'exécute pas correctement et le statut d'invocation de la tâche indique que « The provided role does not contain the correct SSM permissions. » (Le rôle fourni ne contient pas les autorisations SSM correctes).

  • Solution : Dans Tâche 1 : création d'une politique pour votre fonction du service de fenêtre d'entretien personnalisée, nous fournissons une politique de base que vous pouvez attacher à votre fonction du service de fenêtre de maintenance personnalisée. Cette politique comprend les autorisations nécessaires pour de nombreux scénarios de tâches. Cependant, en raison de la grande variété de tâches que vous pouvez exécuter, vous devrez peut-être fournir des autorisations supplémentaires dans la politique pour votre rôle de fenêtre de maintenance.

    Par exemple, certaines actions Automation utilisent des piles AWS CloudFormation. Par conséquent, vous devrez peut-être ajouter les autorisations supplémentaires cloudformation:CreateStack, cloudformation:DescribeStacks, et cloudformation:DeleteStack à la politique pour votre fonction du service de fenêtre de maintenance.

    Autre exemple, le runbook d'automatisation AWS-CopySnapshot requiert des autorisations pour créer un instantané Amazon Elastic Block Store (Amazon EBS). Par conséquent, vous devrez peut-être ajouter l'autorisation ec2:CreateSnapshot.

    Pour plus d'informations sur les autorisations de rôle requises par un runbook d'automatisation géré par AWS, consultez les descriptions de runbook dans la référence du runbook d'automatisation d'AWS Systems Manager.

    Pour plus d'informations sur les autorisations de rôle requises par un document SSM géré par AWS, consultez le contenu du document dans la section Documents de la console Systems Manager.

    Pour plus d'informations sur les autorisations de rôle nécessaires pour les tâches Step Functions, les tâches Lambda, les runbooks d'automatisation personnalisés et les documents SSM, vérifiez les autorisations requises auprès de l'auteur de ces ressources.

La tâche échoue avec le message d'erreur : « L'étape échoue lorsqu'elle valide et résout les entrées de l'étape »

Problème : un runbook Automation ou un document de commande Systems Manager utilisé dans une tâche exige que vous spécifiez des entrées telles que InstanceId ou SnapshotId, mais une valeur n'est pas fournie ou n'est pas fournie correctement.

  • Solution 1 : si votre tâche ne cible qu'une seule ressource, telle qu'un nœud ou un instantané, saisissez son ID dans les paramètres d'entrée de la tâche.

  • Solution 2 : si votre tâche cible plusieurs ressources, comme la création d'images à partir de plusieurs nœuds lorsque vous utilisez le runbook AWS-CreateImage, vous pouvez utiliser l'un des pseudo-paramètres pris en charge pour les tâches de fenêtre de maintenance dans les paramètres d'entrée afin de représenter les ID des nœuds dans la commande.

    Les commandes suivantes enregistrent une tâche Systems Manager Automation auprès d'une fenêtre de maintenance en utilisant la AWS CLI. La valeur --targets indique un ID de cible de fenêtre de maintenance. En outre, même si le paramètre --targets spécifie un ID de cible de fenêtre, les paramètres du runbook Automation exigent qu'un ID de nœud soit fourni. Dans ce cas, la commande utilise le pseudo paramètre {{RESOURCE_ID}} en tant que la valeur InstanceId.

    Commande de l'AWS CLI :

    Linux & macOS

    L'exemple de commande suivant redémarre les instances Amazon Elastic Compute Cloud (Amazon EC2) appartenant au groupe cible de fenêtre de maintenance portant l'ID e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE.

    aws ssm register-task-with-maintenance-window \ --window-id "mw-0c50858d01EXAMPLE" \ --targets Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE \ --task-arn "AWS-RestartEC2Instance" \ --service-role-arn arn:aws:iam::123456789012:role/MyMaintenanceWindowServiceRole \ --task-type AUTOMATION \ --task-invocation-parameters "Automation={DocumentVersion=5,Parameters={InstanceId='{{RESOURCE_ID}}'}}" \ --priority 0 --max-concurrency 10 --max-errors 5 --name "My-Restart-EC2-Instances-Automation-Task" \ --description "Automation task to restart EC2 instances"
    Windows
    aws ssm register-task-with-maintenance-window ^ --window-id "mw-0c50858d01EXAMPLE" ^ --targets Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE ^ --task-arn "AWS-RestartEC2Instance" ^ --service-role-arn arn:aws:iam::123456789012:role/MyMaintenanceWindowServiceRole ^ --task-type AUTOMATION ^ --task-invocation-parameters "Automation={DocumentVersion=5,Parameters={InstanceId='{{RESOURCE_ID}}'}}" ^ --priority 0 --max-concurrency 10 --max-errors 5 --name "My-Restart-EC2-Instances-Automation-Task" ^ --description "Automation task to restart EC2 instances"

    Pour de plus amples informations sur l'utilisation de pseudo-paramètres pour les tâches de fenêtre de maintenance, veuillez consulter Utilisation de pseudo-paramètres lors de l'enregistrement des tâches de la fenêtre de maintenance et Exemples d'enregistrement de tâches.

Messages d'erreur : « Les tâches de la fenêtre de maintenance sans cibles ne prennent pas en charge MaxConcurrency les valeurs » et « Les tâches de la fenêtre de maintenance sans cibles ne prennent pas en charge MaxErrors les valeurs »

Problème : lorsque vous enregistrez une tâche de type Run Command, vous devez spécifier au moins une cible sur laquelle la tâche doit s'exécuter. Pour les autres types de tâches (Automation, AWS Lambda et AWS Step Functions), selon la nature de la tâche, les cibles sont facultatives. Les options MaxConcurrency (le nombre de ressources sur lesquelles exécuter une tâche simultanément) et MaxErrors (le nombre d'échecs d'exécution de la tâche sur les ressources cibles avant que la tâche n'échoue) ne sont ni requises, ni prises en charge pour les tâches de fenêtre de maintenance qui ne spécifient pas de cibles. Le système génère ces messages d'erreur si des valeurs sont spécifiées pour l'une ou l'autre de ces options alors qu'aucune cible de tâche n'est spécifiée.

Solution : si vous recevez l'une de ces erreurs, supprimez les valeurs de concomitance et de seuil d'erreur avant de poursuivre l'enregistrement ou de mettre à jour la tâche de fenêtre de maintenance.

Pour de plus amples informations sur l'exécution des tâches qui ne spécifient pas de cibles, veuillez consulter Enregistrement de tâches de fenêtre de maintenance sans cibles dans le Guide de l'utilisateur AWS Systems Manager.