Esempi: registrazione delle operazioni con una finestra di manutenzione
È possibile registrare un'attività in Run Command, una funzionalità di AWS Systems Manager, con una finestra di manutenzione che utilizza il AWS Command Line Interface (AWS CLI), come dimostrato in Registrazione di attività con la finestra di manutenzione. È anche possibile eseguire la registrazione di task per i flussi di lavoro di automazione di Systems Manager, le funzioni di AWS Lambda e le attività di AWS Step Functions, come descritto di seguito in questo argomento.
Nota
Specifica uno o più target per le attività di tipo Run Command della finestra di manutenzione. A seconda dell'attività, gli obiettivi sono facoltativi per altri tipi di attività della finestra di manutenzione (Automazione, AWS Lambda e AWS Step Functions). Per ulteriori informazioni sull'esecuzione di attività che non specificano destinazioni, consulta Registrazione delle attività della finestra di manutenzione senza destinazioni.
In questo argomento, vengono presentati alcuni esempi di utilizzo del comando AWS Command Line Interface (AWS CLI) register-task-with-maintenance-window
per registrare ciascuno dei quattro tipi di task supportati con una finestra di manutenzione. Gli esempi sono solo a titolo dimostrativo, ma è possibile modificarli per creare comandi di registrazione di task funzionanti.
Utilizzo dell'opzione --cli-input-json
Per ottimizzare la gestione delle opzioni relative ai task, è possibile utilizzare l'opzione di comando --cli-input-json
, con i valori delle opzioni inclusi in un file JSON.
Per utilizzare il contenuto del file JSON di esempio disponibile negli esempi, eseguire la procedura seguente nel computer locale:
-
Creare un file assegnandogli, ad esempio, il nome
MyRunCommandTask.json
,MyAutomationTask.json
oppure il nome desiderato. -
Copiare il contenuto dell'esempio JSON nel file.
-
Modificare il contenuto del file per la registrazione del task, quindi salvare il file.
-
Nella stessa directory in cui è stato salvato il file, eseguire il comando seguente. Sostituire
MyFile.json
con il nome di file desiderato.
Pseudo parametri nelle attività della finestra di manutenzione
In alcuni esempi vengono utilizzati gli pseudoparametri come metodo per passare le informazioni sugli ID ai task. Ad esempio, {{TARGET_ID}}
e {{RESOURCE_ID}}
possono essere utilizzati per passare gli ID delle risorse AWS all'automazione, alle attività Step Functions e Lambda. Per ulteriori informazioni sugli pseudoparametri nel parametro --task-invocation-parameters
, consulta Utilizzo degli pseudo parametri durante la registrazione delle attività della finestra di manutenzione.
- Ulteriori informazioni
-
-
Opzioni dei parametri per il comando register-task-with-maintenance-windows.
-
register-task-with-maintenance-window in Riferimento ai comandi AWS CLI
-
RegisterTaskWithMaintenanceWindow nel documento di riferimento delle API AWS Systems Manager
-
Esempi di registrazione dei task
Le seguenti sezioni forniscono un comando di esempio dell'AWS CLI per la registrazione di un tipo di task supportato e un esempio JSON che possono essere utilizzati con l'opzione --cli-input-json
.
I seguenti esempi illustrano come registrare i task Run Command di Systems Manager con una finestra di manutenzione utilizzando l'AWS CLI.
Contenuto JSON da utilizzare con l'opzione di file --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": "amzn-s3-demo-bucket", "OutputS3KeyPrefix": "S3-PREFIX
", "TimeoutSeconds": 3600 } } }
I seguenti esempi illustrano come registrare i task di automazione di Systems Manager con una finestra di manutenzione utilizzando l' AWS CLI:
Comando AWS CLI:
Contenuto JSON da utilizzare con l'opzione di file --cli-input-json
:
{ "WindowId": "mw-0c50858d01EXAMPLE", "TaskArn": "AWS-PatchInstanceWithRollback", "TaskType": "AUTOMATION","TaskInvocationParameters": { "Automation": { "DocumentVersion": "1", "Parameters": { "instanceId": [ "{{RESOURCE_ID}}" ] } } } }
I seguenti esempi illustrano come registrare i task delle funzioni di Lambda con una finestra di manutenzione utilizzando l' AWS CLI.
Per questi esempi, l'utente che ha creato la funzione Lambda ha denominato tale funzione SSMrestart-my-instances
e ha creato due parametri denominati instanceId
e targetType
.
Importante
La policy IAM per Maintenance Windows prevede che il nome (o l'alias) della funzione Lambda sia associato al prefisso SSM
. Prima di procedere alla registrazione di questo tipo di task, è necessario aggiornare il relativo nome in AWS Lambda in modo da includere SSM
. Ad esempio, se il nome della funzione Lambda è MyLambdaFunction
, modifica tale nome in SSMMyLambdaFunction
.
Comando AWS CLI:
Contenuto JSON da utilizzare con l'opzione di file --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 }
I seguenti esempi illustrano come registrare i task delle macchine a stati Step Functions con una finestra di manutenzione utilizzando l' AWS CLI.
Nota
Le attività della finestra di manutenzione supportano solo i flussi di lavoro delle macchine a stati standard di Step Functions. Non supportano i flussi di lavoro delle macchine a stati express. Per informazioni sui tipi di flusso di lavoro delle macchine a stati, consulta Standard vs. Express Workflows (Differenze flussi di lavoro standard ed express) nella Guida per gli sviluppatori di AWS Step Functions.
Per questi esempi, l'utente che ha creato le macchine a stati Step Functions ha creato una macchina a stati denominata SSMMyStateMachine
con un parametro denominato instanceId
.
Importante
La policy (IAM) AWS Identity and Access Management per Maintenance Windows prevede che i nomi delle macchine a stati Step Functions siano associati al prefisso SSM
. Prima di procedere alla registrazione di questo tipo di task, è necessario aggiornare il relativo nome in AWS Step Functions in modo da includere SSM
. Ad esempio, se il nome della macchina a stati è MyStateMachine
, modifica tale nome in SSMMyStateMachine
.
Comando AWS CLI:
Contenuto JSON da utilizzare con l'opzione di file --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 }