Je souhaite enregistrer une tâche documentaire d'automatisation pour une fenêtre de maintenance AWS Systems Manager qui cible plusieurs instances Amazon Elastic Compute Cloud (Amazon EC2).
Brève description
Lorsque vous enregistrez une tâche d'automatisation dans la fenêtre de maintenance, vous devez saisir des valeurs de paramètres d'entrée qui sont transmises à la tâche lors de son exécution. Les paramètres d'entrée requis sont identiques à ceux définis dans le contenu du document d’automatisation. Vous pouvez utiliser des valeurs de pseudo-paramètres dans les champs de paramètres d'entrée requis pour référencer de façon dynamique les ID de ressources ciblés par la fenêtre de maintenance. Les pseudo-paramètres, tels que {{RESOURCE_ID}}, vous permettent de cibler plusieurs ressources afin de ne pas avoir à saisir chaque ID de ressource individuellement.
Par exemple, le document AWS-StopEC2Instance fourni par Amazon nécessite que vous saisissiez l'ID de l'instance en tant que paramètre. Utilisez un pseudo-paramètre pour que la fenêtre de maintenance cible plusieurs instances ou lorsque vous ne connaissez pas l'ID de l'instance.
Remarque : Pour le type de cible INSTANCE, les pseudo-paramètres {{TARGET_ID}} et {{RESOURCE_ID}} fournissent uniquement l'ID d'instance. Cependant, pour le type de cible RESOURCE_GROUP {{TARGET_ID}} et {{RESOURCE_ID}} renvoient l'ID dans des formats différents. Pour plus d'informations et une liste des pseudo-paramètres disponibles, consultez la section Utilisation de pseudo-paramètres lors de l'enregistrement des tâches dans la fenêtre de maintenance.
Résolution
Vous pouvez utiliser la console Systems Manager ou l'interface de ligne de commande AWS (AWS CLI) pour enregistrer les tâches d'automatisation dans les fenêtres de maintenance avec des pseudo-paramètres.
Utiliser console Systems Manager
Procédez comme suit :
- Ouvrez la console Systems Manager.
- Dans le volet de navigation, sélectionnez Fenêtres de maintenance, puis sélectionnez votre fenêtre de maintenance.
- Sur la page Tâches, sélectionnez Enregistrer des tâches, puis Enregistrer une tâche d'automatisation.
- Sur la page Enregistrer une tâche d'automatisation, saisissez les informations suivantes :
Dans Document d'automatisation, sélectionnez le document que vous souhaitez que la tâche exécute.
Pour Cibles, spécifiez les informations sur votre cible.
Pour Paramètres d'entrée, saisissez une valeur de pseudo-paramètre. Par exemple, saisissez TARGET_ID ou RESOURCE_ID pour le paramètre qui nécessite un ID de ressource.
Pour Contrôle du débit, spécifiez les informations sur votre débit.
Pour Rôle de service IAM, sélectionnez un rôle de service AWS Identity and Access Management (IAM).
- Sélectionnez Enregistrer une tâche d'automatisation.
Utiliser l’AWS CLI
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes AWS CLI, consultez la section Résoudre les erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'interface.
Exécutez la commande register-task-with-maintenance-window.
L'exemple de commande suivant enregistre une tâche d'automatisation qui inclut le paramètre {{RESOURCE_ID}} :
aws ssm register-task-with-maintenance-window --window-id mw-1234567890EXAMPLE --targets Key=WindowTargetIds,Values=6c226ea3-463a-4533-8a2d-EXAMPLE --task-arn AWS-StopEC2Instance --task-type AUTOMATION --name MyMaintenanceWindowTask --max-concurrency 10 --max-errors 5 --task-invocation-parameters={\"Automation\":{\"Parameters\":{\"InstanceId\":[\"{{RESOURCE_ID}}\"]}}} --service-role-arn YOUR_SERVICE_ROLE_ARN
Lorsque la tâche de la fenêtre de maintenance s'exécute, l'ID de ressource de chaque cible est transmis au système. Dans l'exemple précédent, le paramètre InstanceId reçoit l'ID d'instance pour chaque cible du groupe cible.
Informations connexes
Pseudo-paramètres pris en charge
Options de paramètres pour la commande register-task-with-maintenance-windows