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.
Exemples : Enregistrement de tâches avec une fenêtre de maintenance
Vous pouvez enregistrer une tâche dansRun Command, une fonctionnalité de AWS Systems Manager, avec une fenêtre de maintenance à l'aide du AWS Command Line Interface (AWS CLI), comme illustré dans Enregistrer des tâches avec la fenêtre de maintenance. Vous pouvez également enregistrer des tâches pour les flux de travail, les AWS Lambda fonctions et les AWS Step Functions tâches de Systems Manager Automation, comme expliqué plus loin dans cette rubrique.
Note
Spécifiez une ou plusieurs cibles pour des tâches de fenêtre de maintenance de type Run Command. En fonction de la tâche, les cibles sont facultatives pour les autres types de tâches de la fenêtre de maintenance (Automation AWS Lambda, et AWS Step Functions). Pour de plus amples informations sur l'exécution de tâches qui ne spécifient pas de cibles, consultez Enregistrement de tâches de fenêtre de maintenance sans cibles.
Dans cette rubrique, nous donnons des exemples d'utilisation de la commande AWS Command Line Interface (AWS CLI) register-task-with-maintenance-window
pour enregistrer chacun des quatre types de tâches pris en charge avec une fenêtre de maintenance. Les exemples sont uniquement fournis à titre de démonstration. Mais vous pouvez les modifier afin de créer des commandes réelles d'enregistrement des tâches.
Utilisation de l'cli-input-json option --
Afin de mieux gérer vos options de tâches, vous pouvez utiliser l'option de commande --cli-input-json
, avec les valeurs d'options référencées dans un fichier JSON.
Pour utiliser l'exemple de contenu de fichier JSON que nous fournissons dans les exemples suivants, effectuez les opérations suivantes sur votre machine locale :
-
Créez un fichier portant un nom comme
MyRunCommandTask.json
,MyAutomationTask.json
ou tout autre nom de votre choix. -
Copiez le contenu de notre exemple JSON dans le fichier.
-
Modifiez le contenu du fichier pour l'enregistrement de vos tâches, puis enregistrez le fichier.
-
Dans le répertoire où vous avez stocké le fichier, exécutez la commande suivante. Remplacez le nom de fichier par
MyFile.json.
À propos des pseudo-paramètres
Dans certains exemples, nous utilisons des pseudo-paramètres comme méthode pour transmettre des informations d'ID à vos tâches. Par exemple, vous pouvez utiliser {{TARGET_ID}}
et {{RESOURCE_ID}}
pour transmettre des ID de ressources AWS
à des tâches Automation, Lambda et Step Functions. Pour plus d'informations sur les pseudo-paramètres dans les contenus --task-invocation-parameters
, consultez Utilisation de pseudo-paramètres lors de l'enregistrement des tâches de la fenêtre de maintenance.
- Plus d'informations
-
-
À propos des register-task-with-maintenance options -windows.
-
register-task-with-maintenance-window dans la référence de commande de l'AWS CLI
-
RegisterTaskWithMaintenanceWindow dans la Référence d'API AWS Systems Manager
-
Exemples d'enregistrement de tâches
Les sections suivantes fournissent un exemple de AWS CLI commande pour enregistrer un type de tâche pris en charge et un exemple JSON pouvant être utilisé avec l'--cli-input-json
option.
Les exemples suivants montrent comment enregistrer des tâches Systems Manager Run Command avec une fenêtre de maintenance à l'aide de l' AWS CLI.
Contenu JSON à utiliser avec l'option de fichier --cli-input-json
:
{ "TaskType": "RUN_COMMAND", "WindowId": "mw-0c50858d01EXAMPLE", "Description": "My Run Command task to update SSM Agent on an instance", "MaxConcurrency": "1", "MaxErrors": "1", "Name": "My-Run-Command-Task", "Priority": 10, "Targets": [ { "Key": "WindowTargetIds", "Values": [ "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ] } ], "TaskArn": "AWS-UpdateSSMAgent", "TaskInvocationParameters": { "RunCommand": { "Comment": "A TaskInvocationParameters test comment", "NotificationConfig": { "NotificationArn": "arn:aws:sns:
region
:123456789012:my-sns-topic-name", "NotificationEvents": [ "All" ], "NotificationType": "Invocation" }, "OutputS3BucketName": "DOC-EXAMPLE-BUCKET", "OutputS3KeyPrefix": "S3-PREFIX
", "TimeoutSeconds": 3600 } } }
Les exemples suivants montrent comment enregistrer des tâches Automation Systems Manager avec une fenêtre de maintenance à l'aide de l' AWS CLI :
AWS CLI commande :
Contenu JSON à utiliser avec l'option de fichier --cli-input-json
:
{ "WindowId": "mw-0c50858d01EXAMPLE", "TaskArn": "AWS-PatchInstanceWithRollback", "TaskType": "AUTOMATION","TaskInvocationParameters": { "Automation": { "DocumentVersion": "1", "Parameters": { "instanceId": [ "{{RESOURCE_ID}}" ] } } } }
Les exemples suivants montrent comment enregistrer des tâches de fonctions Lambda avec une fenêtre de maintenance à l'aide de la AWS CLI.
Pour ces exemples, l'utilisateur qui a créé la fonction Lambda l'a nommée SSMrestart-my-instances
et a créé deux paramètres appelés instanceId
et targetType
.
Important
La politique IAM pour Maintenance Windows exige que vous donniez un préfixe SSM
à la fonction Lambda (ou alias). Avant de procéder à l'enregistrement de ce type de tâche, mettez à jour son nom AWS Lambda pour inclureSSM
. Par exemple, si votre nom de fonction Lambda est MyLambdaFunction
, remplacez-le par SSMMyLambdaFunction
.
AWS CLI commande :
Contenu JSON à utiliser avec l'option de fichier --cli-input-json
:
{ "WindowId": "mw-0c50858d01EXAMPLE", "Targets": [ { "Key": "WindowTargetIds", "Values": [ "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ] } ], "TaskArn": "SSM_RestartMyInstances", "TaskType": "LAMBDA", "MaxConcurrency": "10", "MaxErrors": "10", "TaskInvocationParameters": { "Lambda": { "ClientContext": "ew0KICAi--truncated--0KIEXAMPLE", "Payload": "{ \"instanceId\": \"{{RESOURCE_ID}}\", \"targetType\": \"{{TARGET_TYPE}}\" }", "Qualifier": "$LATEST" } }, "Name": "My-Lambda-Task", "Description": "A description for my LAMBDA task", "Priority": 5 }
Les exemples suivants montrent comment enregistrer des tâches de machine d'état Step Functions avec une fenêtre de maintenance à l'aide de la AWS CLI.
Note
Les tâches de la fenêtre de maintenance prennent uniquement en charge les flux de travail Step Functions Standard State Machine. Ils ne prennent pas en charge les flux de travail Express State Machine. Pour plus d'informations sur les types de flux de travail basés sur des machines à états, consultez la section Flux de travail standard et express dans le guide du AWS Step Functions développeur.
Pour ces exemples, l'utilisateur qui a créé la machine d'état Step Functions à créé une machine d'état nommée SSMMyStateMachine
avec un paramètre appelé instanceId
.
Important
La politique AWS Identity and Access Management (IAM) pour Maintenance Windows exige que vous préfixiez les noms des machines d'état Step Functions par. SSM
Avant de procéder à l'enregistrement de ce type de tâche, vous devez mettre à jour son nom AWS Step Functions pour l'inclureSSM
. Par exemple, si le nom de votre machine d'état est MyStateMachine
, remplacez-le par SSMMyStateMachine
.
AWS CLI commande :
Contenu JSON à utiliser avec l'option de fichier --cli-input-json
:
{ "WindowId": "mw-0c50858d01EXAMPLE", "Targets": [ { "Key": "WindowTargetIds", "Values": [ "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" ] } ], "TaskArn": "SSM_MyStateMachine", "TaskType": "STEP_FUNCTIONS", "MaxConcurrency": "10", "MaxErrors": "10", "TaskInvocationParameters": { "StepFunctions": { "Input": "{ \"instanceId\": \"{{TARGET_ID}}\" }", "Name": "{{INVOCATION_ID}}" } }, "Name": "My-Step-Functions-Task", "Description": "A description for my Step Functions task", "Priority": 5 }