

• La AWS Systems Manager CloudWatch dashboard non sarà più disponibile dopo il 30 aprile 2026. I clienti possono continuare a utilizzare la CloudWatch console Amazon per visualizzare, creare e gestire le proprie CloudWatch dashboard Amazon, proprio come fanno oggi. Per ulteriori informazioni, consulta la [documentazione di Amazon CloudWatch Dashboard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Procedura dettagliata: utilizzare con AWS CLI Run Command
<a name="walkthrough-cli"></a>

La procedura dettagliata di esempio seguente mostra come utilizzare il comando AWS Command Line Interface (AWS CLI) per visualizzare informazioni su comandi e parametri dei comandi, come eseguire comandi e come visualizzare lo stato di tali comandi. 

**Importante**  
Solo gli amministratori attendibili dovrebbero essere autorizzati a utilizzare i documenti AWS Systems Manager preconfigurati mostrati in questo argomento. I comandi o gli script specificati nei documenti Systems Manager vengono eseguiti con privilegi amministrativi sui nodi gestiti. Se un utente è autorizzato a eseguire uno dei documenti Systems Manager predefiniti (qualsiasi documento che inizia con `AWS-`), lo stesso utente avrà anche accesso al nodo come amministratore. Per tutti gli altri utenti, è consigliabile creare documenti restrittivi e condividerli con utenti specifici.

**Topics**
+ [Fase 1. Nozioni di base](#walkthrough-cli-settings)
+ [Fase 2: esecuzione di script di shell per visualizzare i dettagli delle risorse](#walkthrough-cli-run-scripts)
+ [Fase 3: invio di comandi semplici utilizzando il documento `AWS-RunShellScript`](#walkthrough-cli-example-1)
+ [Fase 4: esecuzione di un semplice script Python usando Run Command](#walkthrough-cli-example-2)
+ [Fase 5: esecuzione di uno script Bash usandoRun Command](#walkthrough-cli-example-3)

## Fase 1. Nozioni di base
<a name="walkthrough-cli-settings"></a>

Devi disporre dei privilegi di amministratore sui nodi gestiti da configurare oppure delle autorizzazioni appropriate in AWS Identity and Access Management (IAM). Si noti inoltre che questo esempio utilizza la regione Stati Uniti orientali (Ohio) (us-east-2). Run Commandè disponibile negli [endpoint del servizio Systems Manager Regioni AWS](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region) elencati in. *Riferimenti generali di Amazon Web Services* Per ulteriori informazioni, consulta [Configurazione di nodi gestiti per AWS Systems Manager](systems-manager-setting-up-nodes.md).

**Per eseguire comandi utilizzando AWS CLI**

1. Installa e configura AWS Command Line Interface (AWS CLI), se non l'hai già fatto.

   Per informazioni, consulta la pagina [Installazione o aggiornamento della versione più recente di AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Creare un elenco di tutti i documenti disponibili

   Questo comando elenca tutti i documenti disponibili per il tuo account in base alle (IAM) autorizzazioni. 

   ```
   aws ssm list-documents
   ```

1. Verificare che un nodo gestito sia pronto a ricevere comandi

   L'output del comando seguente mostra se i nodi gestiti sono online.

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-instance-information \
       --output text --query "InstanceInformationList[*]"
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-instance-information ^
       --output text --query "InstanceInformationList[*]"
   ```

------

1. Utilizzare il comando seguente per visualizzare i dettagli su uno determinato nodo gestito.
**Nota**  
Per eseguire i comandi in questa procedura dettagliata, sostituisci l'istanza e il comando. IDs Per i dispositivi AWS IoT Greengrass core gestiti, utilizzate l'ID mi- *ID\$1number* for instance. L'ID comando viene restituito come risposta a **send-command**. IDs Le istanze sono disponibili pressoFleet Manager, uno strumento in AWS Systems Manager..

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-instance-information \
       --instance-information-filter-list key=InstanceIds,valueSet=instance-ID
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-instance-information ^
       --instance-information-filter-list key=InstanceIds,valueSet=instance-ID
   ```

------

## Fase 2: esecuzione di script di shell per visualizzare i dettagli delle risorse
<a name="walkthrough-cli-run-scripts"></a>

Se utilizzi Run Command e il documento `AWS-RunShellScript`, puoi eseguire qualsiasi comando o script su un nodo gestito come se fossi connesso localmente.

**Visualizzare la descrizione e i parametri disponibili**

Usa il comando seguente per visualizzare una descrizione del documento JSON .

------
#### [ Linux & macOS ]

```
aws ssm describe-document \
    --name "AWS-RunShellScript" \
    --query "[Document.Name,Document.Description]"
```

------
#### [ Windows ]

```
aws ssm describe-document ^
    --name "AWS-RunShellScript" ^
    --query "[Document.Name,Document.Description]"
```

------

Usa il comando seguente per visualizzare i parametri disponibili e i dettagli su tali parametri.

------
#### [ Linux & macOS ]

```
aws ssm describe-document \
    --name "AWS-RunShellScript" \
    --query "Document.Parameters[*]"
```

------
#### [ Windows ]

```
aws ssm describe-document ^
    --name "AWS-RunShellScript" ^
    --query "Document.Parameters[*]"
```

------

## Fase 3: invio di comandi semplici utilizzando il documento `AWS-RunShellScript`
<a name="walkthrough-cli-example-1"></a>

Usa il comando seguente per ottenere le informazioni IP per un nodo gestito.

Se prendi come target un nodo gestito Windows Server, cambia il `document-name` a `AWS-RunPowerShellScript` e cambia il `command` da `ifconfig` a `ipconfig`.

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --instance-ids "instance-ID" \
    --document-name "AWS-RunShellScript" \
    --comment "IP config" \
    --parameters commands=ifconfig \
    --output text
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --instance-ids "instance-ID" ^
    --document-name "AWS-RunShellScript" ^
    --comment "IP config" ^
    --parameters commands=ifconfig ^
    --output text
```

------

**Ottenere informazioni sul comando con i dati di risposta**  
Il comando seguente usa l'ID comando restituito dal comando precedente per ottenere i dettagli e i dati di risposta dell'esecuzione del comando. Il sistema restituisce i dati di risposta se il comando è stato completato. Se l'esecuzione del comando mostra `"Pending"` o `"InProgress"`, esegui di nuovo il comando per visualizzare i dati di risposta.

------
#### [ Linux & macOS ]

```
aws ssm list-command-invocations \
    --command-id $sh-command-id \
    --details
```

------
#### [ Windows ]

```
aws ssm list-command-invocations ^
    --command-id $sh-command-id ^
    --details
```

------

**Identificazione dell'utente**

Il comando seguente mostra l'utente predefinito che esegue i comandi. 

------
#### [ Linux & macOS ]

```
sh_command_id=$(aws ssm send-command \
    --instance-ids "instance-ID" \
    --document-name "AWS-RunShellScript" \
    --comment "Demo run shell script on Linux managed node" \
    --parameters commands=whoami \
    --output text \
    --query "Command.CommandId")
```

------

**Ottenere lo stato del comando**  
Il comando seguente usa l'ID comando per ottenere lo stato di esecuzione del comando sul nodo gestito. Questo esempio usa l'ID di comando restituito nel comando precedente. 

------
#### [ Linux & macOS ]

```
aws ssm list-commands \
    --command-id "command-ID"
```

------
#### [ Windows ]

```
aws ssm list-commands ^
    --command-id "command-ID"
```

------

**Ottenere i dettagli del comando**  
Il comando seguente usa l'ID comando del comando precedente per ottenere lo stato di esecuzione del comando per singoli nodo gestito.

------
#### [ Linux & macOS ]

```
aws ssm list-command-invocations \
    --command-id "command-ID" \
    --details
```

------
#### [ Windows ]

```
aws ssm list-command-invocations ^
    --command-id "command-ID" ^
    --details
```

------

**Ottenere informazioni sul comando con i dati di risposta per un nodo gestito specifico**  
Il comando seguente restituisce l'output della richiesta `aws ssm send-command` originale per un nodo gestito specifico. 

------
#### [ Linux & macOS ]

```
aws ssm list-command-invocations \
    --instance-id instance-ID \
    --command-id "command-ID" \
    --details
```

------
#### [ Windows ]

```
aws ssm list-command-invocations ^
    --instance-id instance-ID ^
    --command-id "command-ID" ^
    --details
```

------

**Visualizzare la versione Python**

Il comando seguente restituisce la versione di Python in esecuzione su un nodo.

------
#### [ Linux & macOS ]

```
sh_command_id=$(aws ssm send-command \
    --instance-ids "instance-ID" \
    --document-name "AWS-RunShellScript" \
    --comment "Demo run shell script on Linux Instances" \
    --parameters commands='python -V' \
    --output text --query "Command.CommandId") \
    sh -c 'aws ssm list-command-invocations \
    --command-id "$sh_command_id" \
    --details \
    --query "CommandInvocations[].CommandPlugins[].{Status:Status,Output:Output}"'
```

------

## Fase 4: esecuzione di un semplice script Python usando Run Command
<a name="walkthrough-cli-example-2"></a>

Il seguente comando esegue un semplice script Python "Hello World" utilizzando Run Command.

------
#### [ Linux & macOS ]

```
sh_command_id=$(aws ssm send-command \
    --instance-ids "instance-ID" \
    --document-name "AWS-RunShellScript" \
    --comment "Demo run shell script on Linux Instances" \
    --parameters '{"commands":["#!/usr/bin/python","print \"Hello World from python\""]}' \
    --output text \
    --query "Command.CommandId") \
    sh -c 'aws ssm list-command-invocations \
    --command-id "$sh_command_id" \
    --details \
    --query "CommandInvocations[].CommandPlugins[].{Status:Status,Output:Output}"'
```

------

## Fase 5: esecuzione di uno script Bash usandoRun Command
<a name="walkthrough-cli-example-3"></a>

Gli esempi in questa sezione mostrano come eseguire il seguente script bash usandoRun Command.

Per esempi di utilizzo diRun Commandper eseguire script archiviati in posizioni remote, vedere[Esecuzione di script da Amazon S3](integration-s3.md)e[Esecuzione di script da GitHub](integration-remote-scripts.md).

```
#!/bin/bash
yum -y update
yum install -y ruby
cd /home/ec2-user
curl -O https://aws-codedeploy-us-east-2.s3.amazonaws.com/latest/install
chmod +x ./install
./install auto
```

*Questo script installa l' AWS CodeDeploy agente su Amazon Linux e Red Hat Enterprise Linux (RHEL) istanze, come descritto in [Creare un'istanza Amazon EC2](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-ec2-create.html) per la Guida CodeDeploy per l'utente.AWS CodeDeploy *

Lo script installa l' CodeDeploy agente da un bucket S3 AWS gestito nella regione Stati Uniti orientali (Ohio) (us-east-2),. `aws-codedeploy-us-east-2`

**Esegui uno script bash in un comando AWS CLI **

Nell'esempio seguente viene illustrato come includere lo script bash in un comando CLI utilizzando l'opzione `--parameters`.

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name "AWS-RunShellScript" \
    --targets '[{"Key":"InstanceIds","Values":["instance-id"]}]' \
    --parameters '{"commands":["#!/bin/bash","yum -y update","yum install -y ruby","cd /home/ec2-user","curl -O https://aws-codedeploy-us-east-2.s3.amazonaws.com/latest/install","chmod +x ./install","./install auto"]}'
```

------

**Esegui uno script bash in un file JSON**

Nell'esempio seguente, il contenuto dello script bash viene archiviato in un file JSON e il file viene incluso nel comando usando l'`--cli-input-json`opzione.

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name "AWS-RunShellScript" \
    --targets "Key=InstanceIds,Values=instance-id" \
    --cli-input-json file://installCodeDeployAgent.json
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name "AWS-RunShellScript" ^
    --targets "Key=InstanceIds,Values=instance-id" ^
    --cli-input-json file://installCodeDeployAgent.json
```

------

Il comando `installCodeDeployAgent.json` che fa riferimento al file JSON viene visualizzato nell'esempio seguente.

```
{
    "Parameters": {
        "commands": [
            "#!/bin/bash",
            "yum -y update",
            "yum install -y ruby",
            "cd /home/ec2-user",
            "curl -O https://aws-codedeploy-us-east-2.s3.amazonaws.com/latest/install",
            "chmod +x ./install",
            "./install auto"
        ]
    }
}
```