aws:runCommand: esecuzione di un comando su un'istanza gestita - AWS Systems Manager

aws:runCommand: esecuzione di un comando su un'istanza gestita

Esegue i comandi specificati.

Nota

L'automazione supporta solo l'output di una operazione AWS Systems Manager Run Command. Un runbook può includere più operazioni Run Command, ma l'output è supportato solo per un'operazione alla volta.

Input

Questa operazione supporta la maggior parte dei parametri dell'operazione SendCommand. Per ulteriori informazioni, consulta SendCommand.

YAML
- name: checkMembership action: 'aws:runCommand' inputs: DocumentName: AWS-RunPowerShellScript InstanceIds: - '{{InstanceIds}}' Parameters: commands: - (Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain
JSON
{ "name": "checkMembership", "action": "aws:runCommand", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "InstanceIds": [ "{{InstanceIds}}" ], "Parameters": { "commands": [ "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" ] } } }
DocumentName

Se il documento Tipo di comando è di proprietà dell'utente o di AWS, specificare il nome del documento. Se stai usando un documento condiviso con te da un Account AWS differente, specifica l'Amazon Resource Name (ARN) del documento. Per ulteriori informazioni sull'utilizzo di documenti condivisi, consulta Utilizzo di documenti SSM condivisi.

Tipo: stringa

Campo obbligatorio: sì

InstanceIds

ID delle istanze in cui eseguire il comando. Puoi specificare un massimo di 50 ID.

È inoltre possibile utilizzare lo pseudo parametro {{RESOURCE_ID}} al posto degli ID di istanza per eseguire il comando su tutte le istanze del gruppo di destinazione. Per ulteriori informazioni sugli pseudoparametri, consulta Utilizzo degli pseudo parametri durante la registrazione delle attività della finestra di manutenzione.

Un'altra alternativa consiste nell'inviare comandi a un parco istanze utilizzando il parametro Targets. Il parametro Targets accetta i tag di Amazon Elastic Compute Cloud (Amazon EC2). Per ulteriori informazioni su come utilizzare il parametro Targets, consulta Esecuzione di comandi su vasta scala.

Tipo: StringList

Obbligatorio: No (se non si specifica InstanceIds o si utilizza lo pseudo parametro {{RESOURCE_ID}}, è necessario specificare il parametro Targets).

Targets (Destinazioni)

Una matrice di criteri di ricerca che definisce le istanze come destinazioni utilizzando una combinazione di chiave-valore specificata dall'utente. Targets è obbligatorio se non vengono forniti uno o più ID di istanza nella chiamata. Per ulteriori informazioni su come utilizzare il parametro Targets, consulta Esecuzione di comandi su vasta scala.

Tipo: MapList (lo schema della mappa nell'elenco deve corrispondere all'oggetto). Per ulteriori informazioni, consulta Target (Destinazione) nella Documentazione di riferimento dell'API di AWS Systems Manager.

Obbligatorio: No (se non si specifica Targets, è necessario specificare InstanceIds o utilizzare lo pseudo parametro {{RESOURCE_ID}}).

Di seguito è riportato un esempio.

YAML
- name: checkMembership action: aws:runCommand inputs: DocumentName: AWS-RunPowerShellScript Targets: - Key: tag:Stage Values: - Gamma - Beta - Key: tag-key Values: - Suite Parameters: commands: - (Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain
JSON
{ "name": "checkMembership", "action": "aws:runCommand", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "Targets": [ { "Key": "tag:Stage", "Values": [ "Gamma", "Beta" ] }, { "Key": "tag:Application", "Values": [ "Suite" ] } ], "Parameters": { "commands": [ "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" ] } } }
Parametri

Parametri obbligatori e facoltativi specificati nel documento.

Tipo: Map

Campo obbligatorio: no

CloudWatchOutputConfig

Opzioni di configurazione per l'invio dell'output del comando ad Amazon CloudWatch Logs. Per ulteriori informazioni sull'invio dell'output del comando ad CloudWatch Logs, consulta Configurazione degli Amazon CloudWatch Logs per Run Command.

Tipo: StringMap (lo schema della mappa nell'elenco deve corrispondere all'oggetto. Per ulteriori informazioni, consulta CloudWatchOutputConfig nella Documentazione di riferimento API di AWS Systems Manager).

Campo obbligatorio: no

Di seguito è riportato un esempio.

YAML
- name: checkMembership action: aws:runCommand inputs: DocumentName: AWS-RunPowerShellScript InstanceIds: - "{{InstanceIds}}" Parameters: commands: - "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" CloudWatchOutputConfig: CloudWatchLogGroupName: CloudWatchGroupForSSMAutomationService CloudWatchOutputEnabled: true
JSON
{ "name": "checkMembership", "action": "aws:runCommand", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "InstanceIds": [ "{{InstanceIds}}" ], "Parameters": { "commands": [ "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" ] }, "CloudWatchOutputConfig" : { "CloudWatchLogGroupName": "CloudWatchGroupForSSMAutomationService", "CloudWatchOutputEnabled": true } } }
Commento

Informazioni definite dall'utente sul comando.

Tipo: string

Campo obbligatorio: no

DocumentHash

Hash del documento.

Tipo: string

Campo obbligatorio: no

DocumentHashType

Tipo di hash.

Tipo: stringa

Valori validi: Sha256 | Sha1

Campo obbligatorio: no

NotificationConfig

Configurazioni per l'invio delle notifiche.

Campo obbligatorio: no

OutputS3BucketName

Nome del bucket S3 per le risposte dell'output del comando.

Tipo: string

Campo obbligatorio: no

OutputS3KeyPrefix

Prefisso.

Tipo: string

Campo obbligatorio: no

ServiceRoleArn

L'ARN del ruolo AWS Identity and Access Management (IAM).

Tipo: string

Campo obbligatorio: no

TimeoutSeconds

La quantità di tempo di attesa in secondi per il recapito di un comando alla AWS Systems Manager SSM Agent su un'istanza. Se il comando non viene ricevuto da SSM Agent sull'istanza prima che venga raggiunto il valore specificato, lo stato del comando cambia in Delivery Timed Out.

Tipo: integer

Campo obbligatorio: no

Valori validi: 30-2592000

Output
CommandId

ID del comando.

Stato

Stato del comando.

ResponseCode

Codice di risposta del comando. Se il documento eseguito presenta più di un passaggio, non viene restituito un valore per questo output.

Output

Output del comando. Se il comando è rivolto a un tag o a più istanze, non viene restituito alcun valore di output. È possibile utilizzare le operazioni API GetCommandInvocation e ListCommandInvocations per recuperare l'output di singole istanze.