

• 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à.

# Creazione di associazioni che eseguono playbook Ansible
<a name="systems-manager-state-manager-ansible"></a>

È possibile creare associazioni State Manager che eseguono playbook Ansible utilizzando il documento SSM `AWS-ApplyAnsiblePlaybooks`. State Manager è uno strumento di AWS Systems Manager. Questo documento offre i seguenti vantaggi per l'esecuzione di playbook:
+ Supporto per l'esecuzione di playbook complessi
+ Supporto per il download di playbook da GitHub e Amazon Simple Storage Service (Amazon S3)
+ Supporto per la struttura di playbook compressa
+ Registrazione migliorata
+ Possibilità di specificare quale playbook eseguire quando i playbook sono raggruppati

**Nota**  
Systems Manager include due documenti SSM che consentono di creare associazioni State Manager che eseguono playbook Ansible: `AWS-RunAnsiblePlaybook` e `AWS-ApplyAnsiblePlaybooks`. Il documento `AWS-RunAnsiblePlaybook` è obsoleto. Rimane disponibile in Systems Manager per scopi di legacy. Ti consigliamo di utilizzare il documento `AWS-ApplyAnsiblePlaybooks` come conseguenza dei miglioramenti descritti qui.  
Le associazioni che eseguono playbook Ansible non sono supportate in macOS.

**Supporto per l'esecuzione di playbook complessi**

Il documento `AWS-ApplyAnsiblePlaybooks` supporta playbook complessi, raggruppati perché copia l'intera struttura di file in una directory locale prima di eseguire il playbook principale specificato. È possibile fornire playbook di origine in file zip o in una struttura di directory. Il file Zip o la directory sono archiviabili in GitHub o Amazon S3. 

**Supporto per il download di playbook da GitHub**

Il documento `AWS-ApplyAnsiblePlaybooks` utilizza il plugin `aws:downloadContent` per scaricare i file di playbook. I file sono archiviabili in GitHub in un singolo file o come un set combinato di file di playbook. Per scaricare contenuti da GitHub, specificare le informazioni sul repository GitHub in formato JSON. Ecco un esempio.

```
{
   "owner":"TestUser",
   "repository":"GitHubTest",
   "path":"scripts/python/test-script",
   "getOptions":"branch:master",
   "tokenInfo":"{{ssm-secure:secure-string-token}}"
}
```

**Supporto per il download di playbook da Amazon S3**

È possibile anche archiviare e scaricare playbook Ansible in Amazon S3 come singolo file .zip o una struttura di directory. Per scaricare contenuti da Amazon S3, specificare il percorso del file. Qui di seguito sono riportati due esempi.

**Esempio 1: download di un file di playbook specifico**

```
{
   "path":"https://s3.amazonaws.com/amzn-s3-demo-bucket/playbook.yml"
}
```

**Esempio 2: download dei contenuti di una directory**

```
{
   "path":"https://s3.amazonaws.com/amzn-s3-demo-bucket/ansible/webservers/"
}
```

**Importante**  
Se specifichi Amazon S3, il profilo dell'istanza AWS Identity and Access Management (IAM) sui nodi gestiti deve includere le autorizzazioni per il bucket S3. Per ulteriori informazioni, consulta la pagina [Configurazione delle autorizzazioni dell'istanza richieste per Systems Manager](setup-instance-permissions.md). 

**Supporto per la struttura di playbook compressa**

Il documento `AWS-ApplyAnsiblePlaybooks` consente di eseguire file .zip compressi nel bundle scaricato. Il documento verifica se i file scaricati contengono un file compresso in formato .zip. Quando viene trovato un file .zip, il documento decomprime automaticamente il file e quindi esegue l'automazione Ansible specificata.

**Registrazione migliorata**

Il documento `AWS-ApplyAnsiblePlaybooks` include un parametro facoltativo per specificare diversi livelli di registrazione. Specifica -v per basso livello di dettaglio, -vv o -vvv per medio livello di dettaglio e -vvvv per la registrazione a livello di debug. Queste opzioni sono mappate direttamente alle opzioni di livello di dettaglio Ansible.

**Possibilità di specificare quale playbook eseguire quando i playbook sono raggruppati**

Il documento `AWS-ApplyAnsiblePlaybooks` include un parametro obbligatorio per specificare quale playbook eseguire quando più playbook vengono raggruppati. Questa opzione offre flessibilità per l'esecuzione di playbook per supportare diversi casi d'uso.

## Comprensione delle dipendenze installate
<a name="systems-manager-state-manager-ansible-depedencies"></a>

Se si specifica **True** per il **InstallDependencies**parametro, Systems Manager verifica che nei nodi siano installate le seguenti dipendenze:
+ **Ubuntu Server/Debian Server**: Apt-get (gestione pacchetto), Python 3, Ansible, Unzip
+ Versioni supportate da **Amazon Linux**: Ansible
+ **RHEL**: Python 3, Ansible, Unzip

Se una o più di queste dipendenze non vengono trovate, Systems Manager le installa automaticamente.

## Creazione di un'associazione che esegue playbook Ansible (console)
<a name="systems-manager-state-manager-ansible-console"></a>

La procedura seguente descrive come utilizzare la console di Systems Manager per creare un'associazione State Manager che esegua playbook Ansibleutilizzando il documento `AWS-ApplyAnsiblePlaybooks`.

**Per creare un'associazione che esegue playbook Ansible (console)**

1. Apri la AWS Systems Manager console all'indirizzo [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Nel pannello di navigazione, scegli **State Manager**.

1. Selezionare **State Manager** poi **Crea associazione**.

1. Per **Nome**, specifica un nome che consente di ricordare lo scopo dell'associazione.

1. Nell'elenco **Documento**, scegli **`AWS-ApplyAnsiblePlaybooks`**.

1. Nella sezione **Parametri**, per **Tipo di sorgente**, scegli uno dei due **GitHub**o **S3**.

   **GitHub**

   Se si sceglie **GitHub**, immetti le informazioni sul repository nel formato seguente.

   ```
   {
      "owner":"user_name",
      "repository":"name",
      "path":"path_to_directory_or_playbook_to_download",
      "getOptions":"branch:branch_name",
      "tokenInfo":"{{(Optional)_token_information}}"
   }
   ```

   **S3**

   Se si sceglie **S3**, immetti le informazioni sul percorso nel formato seguente. 

   ```
   {
      "path":"https://s3.amazonaws.com/path_to_directory_or_playbook_to_download"
   }
   ```

1. Per **Installa dipendenze**, scegli un'opzione.

1. (Facoltativo) Per **F0ile di playbook**, immetti un nome file. Se il playbook è contenuto in un file Zip, specificare un percorso relativo al file Zip.

1. (Facoltativo) Per **Variabili extra**, immetti le variabili per l'invio da State Manager ad Ansible in fase di runtime.

1. (Facoltativo) Per **Verifica**, scegli un'opzione.

1. (Facoltativo) Per **Modalità dettagliata**, scegli un'opzione.

1. Per **Destinazioni**, scegli un'opzione. Per informazioni sull'utilizzo delle destinazioni, consulta [Comprensioni su destinazioni e controlli di velocità nelle associazioni di State Manager](systems-manager-state-manager-targets-and-rate-controls.md).

1. Nella sezione **Specifica pianificazione**, scegli **Conforme a pianificazione** o **Nessuna pianificazione**. Se si sceglie **Conforme a pianificazione**, utilizzare i pulsanti disponibili per creare una pianificazione Cron o rate per l'associazione. 

1. Nella sezione **Opzioni avanzate**, per **Gravità conformità**, scegliere un livello di gravità per l'associazione. Il report di conformità indica se l'associazione è conforme o non conforme e il livello di gravità specificato qui. Per ulteriori informazioni, consulta [Informazioni sulla conformità delle associazioni State Manager](compliance-about.md#compliance-about-association).

1. Nella sezione **Controllo velocità**, configura le opzioni per eseguire le associazioni di State Manager in tutto il parco istanze nodi gestiti. Per informazioni sull'utilizzo dei controlli di velocità, consulta [Comprensioni su destinazioni e controlli di velocità nelle associazioni di State Manager](systems-manager-state-manager-targets-and-rate-controls.md).

   Nella sezione **Simultaneità**, scegli un'opzione: 
   + Scegli **destinazioni** per immettere il numero assoluto di destinazioni che possono eseguire contemporaneamente l'associazione.
   + Scegli **percentuale** per immettere la percentuale del set di destinazione che può eseguire contemporaneamente l'associazione.

   Nella sezione **Soglia di errore**. scegli un'opzione:
   + Scegli **errori** per immettere il numero assoluto di errori consentiti prima che State Manager arresti l'esecuzione delle associazioni su altre destinazioni.
   + Scegli **percentuale** per immettere una percentuale di errori consentiti prima che State Manager arresti l'esecuzione delle associazioni su altre destinazioni.

1. (Facoltativo) In **Opzioni di output**, per salvare l'output del comando in un file, seleziona la casella **Abilita scrittura in S3**. Digita i nomi del bucket e del prefisso (cartella) nelle caselle.
**Nota**  
Le autorizzazioni S3 che consentono di scrivere dati in un bucket S3 sono quelle del profilo dell'istanza assegnate al nodo gestito e non quelle dell'utente IAM che esegue questo processo. Per ulteriori informazioni, consulta le pagine [Configurazione delle autorizzazioni dell'istanza richieste per Systems Manager](setup-instance-permissions.md) oppure [Creazione di un ruolo di servizio IAM per un ambiente ibrido](hybrid-multicloud-service-role.md). Inoltre, se il bucket S3 specificato si trova in un Account AWS diverso, assicurarsi che il profilo dell'istanza o il ruolo di servizio IAM associato all'istanza disponga delle autorizzazioni necessarie per scrivere su quel bucket.

1. Scegli **Crea associazione**.

**Nota**  
Se utilizzi i tag per creare un'associazione su uno o più nodi di destinazione e quindi rimuovi i tag da un nodo, tale nodo non eseguirà più l'associazione. Il nodo viene dissociato dal documento di State Manager. 

## Creazione di un'associazione che esegue playbook Ansible (CLI)
<a name="systems-manager-state-manager-ansible-cli"></a>

La procedura seguente descrive come utilizzare AWS Command Line Interface (AWS CLI) per creare un'State Managerassociazione che esegua Ansible playbook utilizzando il `AWS-ApplyAnsiblePlaybooks` documento. 

**Per creare un'associazione che esegue playbook Ansible (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. Esegui uno dei seguenti comandi per creare un'associazione che esegue playbook Ansible eseguendo il targeting dei nodi tramite tag. Sostituisci ogni *example resource placeholder* con le tue informazioni. Il comando (A) specifica GitHub come tipo di origine. Il comando (B) specifica Amazon S3 come tipo di origine.

   **(A) GitHub fonte**

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

   ```
   aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" \
       --targets Key=tag:TagKey,Values=TagValue \
       --parameters '{"SourceType":["GitHub"],"SourceInfo":["{\"owner\":\"owner_name\", \"repository\": \"name\", \"getOptions\": \"branch:master\"}"],"InstallDependencies":["True_or_False"],"PlaybookFile":["file_name.yml"],"ExtraVariables":["key/value_pairs_separated_by_a_space"],"Check":["True_or_False"],"Verbose":["-v,-vv,-vvv, or -vvvv"],"TimeoutSeconds":["3600"]}' \
       --association-name "name" \
       --schedule-expression "cron_or_rate_expression"
   ```

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

   ```
   aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" ^
       --targets Key=tag:TagKey,Values=TagValue ^
       --parameters '{"SourceType":["GitHub"],"SourceInfo":["{\"owner\":\"owner_name\", \"repository\": \"name\", \"getOptions\": \"branch:master\"}"],"InstallDependencies":["True_or_False"],"PlaybookFile":["file_name.yml"],"ExtraVariables":["key/value_pairs_separated_by_a_space"],"Check":["True_or_False"],"Verbose":["-v,-vv,-vvv, or -vvvv"], "TimeoutSeconds":["3600"]}' ^
       --association-name "name" ^
       --schedule-expression "cron_or_rate_expression"
   ```

------

   Ecco un esempio.

   ```
   aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" \
       --targets "Key=tag:OS,Values=Linux" \
       --parameters '{"SourceType":["GitHub"],"SourceInfo":["{\"owner\":\"ansibleDocumentTest\", \"repository\": \"Ansible\", \"getOptions\": \"branch:master\"}"],"InstallDependencies":["True"],"PlaybookFile":["hello-world-playbook.yml"],"ExtraVariables":["SSM=True"],"Check":["False"],"Verbose":["-v"]}' \
       --association-name "AnsibleAssociation" \
       --schedule-expression "cron(0 2 ? * SUN *)"
   ```

   **(B) Origine S3**

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

   ```
   aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" \
       --targets Key=tag:TagKey,Values=TagValue \
       --parameters '{"SourceType":["S3"],"SourceInfo":["{\"path\":\"https://s3.amazonaws.com/path_to_Zip_file,_directory,_or_playbook_to_download\"}"],"InstallDependencies":["True_or_False"],"PlaybookFile":["file_name.yml"],"ExtraVariables":["key/value_pairs_separated_by_a_space"],"Check":["True_or_False"],"Verbose":["-v,-vv,-vvv, or -vvvv"]}' \
       --association-name "name" \
       --schedule-expression "cron_or_rate_expression"
   ```

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

   ```
   aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" ^
       --targets Key=tag:TagKey,Values=TagValue ^
       --parameters '{"SourceType":["S3"],"SourceInfo":["{\"path\":\"https://s3.amazonaws.com/path_to_Zip_file,_directory,_or_playbook_to_download\"}"],"InstallDependencies":["True_or_False"],"PlaybookFile":["file_name.yml"],"ExtraVariables":["key/value_pairs_separated_by_a_space"],"Check":["True_or_False"],"Verbose":["-v,-vv,-vvv, or -vvvv"]}' ^
       --association-name "name" ^
       --schedule-expression "cron_or_rate_expression"
   ```

------

   Ecco un esempio.

   ```
   aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" \
       --targets "Key=tag:OS,Values=Linux" \
       --parameters '{"SourceType":["S3"],"SourceInfo":["{\"path\":\"https://s3.amazonaws.com/amzn-s3-demo-bucket/playbook.yml\"}"],"InstallDependencies":["True"],"PlaybookFile":["playbook.yml"],"ExtraVariables":["SSM=True"],"Check":["False"],"Verbose":["-v"]}' \
       --association-name "AnsibleAssociation" \
       --schedule-expression "cron(0 2 ? * SUN *)"
   ```
**Nota**  
Le associazioni di State Manager non supportano tutte le espressioni Cron e della frequenza. Per ulteriori informazioni sulla creazione di espressioni Cron e della frequenza per le associazioni, consulta [Riferimento: espressioni Cron e della frequenza per Systems Manager](reference-cron-and-rate-expressions.md).

   Il sistema tenta di creare l'associazione sui nodi e di applicare immediatamente lo stato. 

1. Eseguire il comando riportato sotto per visualizzare uno stato aggiornato dell'associazione appena creata. 

   ```
   aws ssm describe-association --association-id "ID"
   ```