

Strumento di gestione degli incidenti AWS Systems Manager non è più aperto a nuovi clienti. I clienti esistenti possono continuare a utilizzare il servizio normalmente. Per ulteriori informazioni, vedi [modifica della Strumento di gestione degli incidenti AWS Systems Manager disponibilità](https://docs.aws.amazon.com/incident-manager/latest/userguide/incident-manager-availability-change.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à.

# Tutorial: Utilizzo dei runbook di Systems Manager Automation con Incident Manager
<a name="tutorials-runbooks"></a>

Puoi utilizzare i runbook di [AWS Systems Manager automazione](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) per semplificare le attività comuni di manutenzione, distribuzione e riparazione dei servizi. AWS In questo tutorial, creerai un runbook personalizzato per automatizzare una risposta agli incidenti in Incident Manager. Lo scenario di questo tutorial prevede un CloudWatch allarme Amazon assegnato a una metrica Amazon EC2. Quando l'istanza entra in uno stato che attiva l'allarme, Incident Manager esegue automaticamente le seguenti attività:

1. Crea un incidente in Incident Manager.

1. Avvia un runbook che tenta di risolvere il problema.

1. Pubblica i risultati del runbook nella pagina dei dettagli dell'incidente in Incident Manager.

Il processo descritto in questo tutorial può essere utilizzato anche con EventBridge eventi Amazon e altri tipi di AWS risorse. Automatizzando la risposta correttiva ad allarmi ed eventi, puoi ridurre l'impatto di un incidente sulla tua organizzazione e sulle sue risorse.

Questo tutorial descrive come modificare un CloudWatch allarme assegnato a un'istanza Amazon EC2 per un piano di risposta di Incident Manager. Se non hai configurato un allarme, un'istanza o un piano di risposta, ti consigliamo di configurare tali risorse prima di iniziare. Per ulteriori informazioni, consulta i seguenti argomenti:
+ [Utilizzo degli CloudWatch allarmi Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) nella Guida per l'* CloudWatch utente di Amazon*
+ [Istanze Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Instances.html) *nella Guida per l'utente di Amazon EC2*
+ [Istanze Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Instances.html) *nella Guida per l'utente di Amazon EC2*
+ [Creazione e configurazione dei piani di risposta in Incident Manager](response-plans.md)

**Importante**  
Creando AWS risorse e utilizzando le fasi di automazione del runbook, dovrai sostenere dei costi. Per ulteriori informazioni, consultare [Prezzi di AWS](https://aws.amazon.com/pricing).

**Topics**
+ [Attività 1: creazione del runbook](#tutorials-runbook-create)
+ [Attività 2: creazione di un ruolo IAM](#tutorials-runbook-IAM-role)
+ [Attività 3: collegare il runbook al piano di risposta](#tutorials-runbook-response-plan)
+ [Attività 4: Assegnazione di un CloudWatch allarme al piano di risposta](#tutorials-runbook-alarm)
+ [Attività 5: verifica dei risultati](#tutorials-runbook-verify)

## Attività 1: creazione del runbook
<a name="tutorials-runbook-create"></a>

Utilizzare la procedura seguente per creare un runbook nella console Systems Manager. Quando viene richiamato da un incidente di Incident Manager, il runbook riavvia un'istanza Amazon EC2 e aggiorna l'incidente con informazioni sull'esecuzione del runbook. Prima di iniziare, verifica di disporre dell'autorizzazione per creare un runbook. Per ulteriori informazioni, consulta [Setting up Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-setup.html) nella *Guida per l'utente di AWS Systems Manager *.

**Importante**  
Esamina i seguenti dettagli importanti sulla creazione del runbook di questo tutorial:  
Il runbook è destinato a un incidente creato da una fonte di CloudWatch allarme. Se si utilizza questo runbook per altri tipi di incidenti, ad esempio incidenti creati manualmente, l'evento della sequenza temporale nel primo passaggio del runbook non verrà trovato e il sistema restituirà un errore.
Il runbook richiede che l'allarme includa una dimensione chiamata CloudWatch . `InstanceId` Gli allarmi per i parametri delle istanze Amazon EC2 hanno questa dimensione. Se utilizzi questo runbook con altre metriche (o con altre fonti di incidenti, ad esempio EventBridge), devi modificare il `JsonDecode2` passaggio in modo che corrisponda ai dati acquisiti nello scenario. 
Il runbook tenta di risolvere il problema che ha generato l'allarme riavviando l'istanza Amazon EC2. In caso di incidente reale, potresti non voler riavviare l'istanza. Aggiorna il runbook con le azioni correttive specifiche che desideri che il sistema intraprenda.

*Per ulteriori informazioni sulla creazione di runbook, consulta [Working with runbook](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html) nella Guida per l'utente.AWS Systems Manager * 

**Per creare un runbook**

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 **Documenti**.

1. Scegli **Automazione**.

1. Per **Nome**, inserisci un nome descrittivo per il runbook, ad esempio. **IncidentResponseRunbook**

1. Scegliere la scheda **Editor**, quindi **Edit (Modifica)**.

1. Incolla il contenuto seguente nell'editor:

   ```
   description: This runbook attempts to restart an Amazon EC2 instance that caused an incident.
   schemaVersion: '0.3'
   parameters:
     IncidentRecordArn:
       type: String
       description: The incident
   mainSteps:
     - name: ListTimelineEvents
       action: 'aws:executeAwsApi'
       outputs:
         - Selector: '$.eventSummaries[0].eventId'
           Name: eventId
           Type: String
       inputs:
         Service: ssm-incidents
         Api: ListTimelineEvents
         incidentRecordArn: '{{IncidentRecordArn}}'
         filters:
           - key: eventType
             condition:
               equals:
                 stringValues:
                   - SSM Incident Trigger
       description: This step retrieves the ID of the first timeline event with the CloudWatch alarm details.
     - name: GetTimelineEvent
       action: 'aws:executeAwsApi'
       inputs:
         Service: ssm-incidents
         Api: GetTimelineEvent
         incidentRecordArn: '{{IncidentRecordArn}}'
         eventId: '{{ListTimelineEvents.eventId}}'
       outputs:
         - Name: eventData
           Selector: $.event.eventData
           Type: String
       description: This step retrieves the timeline event itself.
     - name: JsonDecode
       action: 'aws:executeScript'
       inputs:
         Runtime: python3.8
         Handler: script_handler
         Script: |-
           import json
   
           def script_handler(events, context):
             data = json.loads(events["eventData"])
             return data
         InputPayload:
           eventData: '{{GetTimelineEvent.eventData}}'
       outputs:
         - Name: rawData
           Selector: $.Payload.rawData
           Type: String
       description: This step parses the timeline event data.
     - name: JsonDecode2
       action: 'aws:executeScript'
       inputs:
         Runtime: python3.8
         Handler: script_handler
         Script: |-
           import json
   
           def script_handler(events, context):
             data = json.loads(events["rawData"])
             return data
         InputPayload:
           rawData: '{{JsonDecode.rawData}}'
       outputs:
         - Name: InstanceId
           Selector: '$.Payload.detail.configuration.metrics[0].metricStat.metric.dimensions.InstanceId'
           Type: String
       description: This step parses the CloudWatch event data.
     - name: RestartInstance
       action: 'aws:executeAutomation'
       inputs:
         DocumentName: AWS-RestartEC2Instance
         DocumentVersion: $DEFAULT
         RuntimeParameters:
           InstanceId: '{{JsonDecode2.InstanceId}}'
       description: This step restarts the Amazon EC2 instance
   ```

1. Scegli **Crea automazione**.

## Attività 2: creazione di un ruolo IAM
<a name="tutorials-runbook-IAM-role"></a>

Usa il seguente tutorial per creare un ruolo AWS Identity and Access Management (IAM) che dia a Incident Manager il permesso di avviare un runbook specificato in un piano di risposta. Il runbook di questo tutorial riavvia un'istanza Amazon EC2. Specificherai questo ruolo IAM nella prossima attività quando collegherai il runbook al tuo piano di risposta. 

**Crea un ruolo IAM che avvii un runbook da un piano di risposta**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione, scegli **Ruoli** e quindi **Crea ruolo**.

1. In **Tipo di entità affidabile**, verifica che il **AWS servizio** sia selezionato.

1. **In Caso d'uso**, nel campo **Casi d'uso per altri AWS servizi**, immettere**Incident Manager**.

1. Scegli **Incident Manager**, quindi scegli **Avanti**.

1. Nella pagina **Aggiungi autorizzazioni**, scegli **Crea politica**. L'editor delle autorizzazioni si aprirà in una nuova finestra o scheda del browser. 

1. Nell'editor, scegli la scheda **JSON**.

1. Copia e incolla la seguente politica di autorizzazione nell'editor JSON. Sostituisci *account\$1ID* con l'ID dell' Account AWS .

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:ssm:*:111122223333:document/IncidentResponseRunbook",
                   "arn:aws:ssm:*::document/AWS-RestartEC2Instance",
                   "arn:aws:ssm:*:111122223333:automation-execution/*"
               ],
               "Action": "ssm:StartAutomationExecution"
           },
           {
               "Effect": "Allow",
               "Resource": "arn:aws:ssm:*:*:automation-execution/*",
               "Action": "ssm:GetAutomationExecution"
           },
           {
               "Effect": "Allow",
               "Resource": "arn:aws:ssm-incidents:*:*:*",
               "Action": "ssm-incidents:*"
           },
           {
               "Effect": "Allow",
               "Resource": "arn:aws:iam::*:role/AWS-SystemsManager-AutomationExecutionRole",
               "Action": "sts:AssumeRole"
           },
           {
               "Effect": "Allow",
               "Resource": "*",
               "Action": [
                   "ec2:StopInstances",
                   "ec2:DescribeInstanceStatus",
                   "ec2:StartInstances"
               ]
           }
       ]
   }
   ```

------

1. Scegli **Successivo: Tag**.

1. (Facoltativo) Se necessario, aggiungi dei tag alla tua policy.

1. Scegli **Prossimo: Rivedi**.

1. Nel campo **Nome**, inserisci un nome che ti aiuti a identificare il ruolo utilizzato per questo tutorial. 

1. (Facoltativo) Inserisci una descrizione nel campo **Descrizione**.

1. Scegli **Crea policy**.

1. Torna alla finestra o alla scheda del browser relativa al ruolo che stai creando. Viene visualizzata la pagina **Aggiungi autorizzazioni**.

1. Scegli il pulsante di aggiornamento (situato accanto al pulsante **Crea politica**), quindi inserisci il nome della politica di autorizzazione che hai creato nella casella del filtro.

1. **Scegli la politica di autorizzazione che hai creato, quindi scegli Avanti.**

1. Nella pagina **Nome, rivedi e crea**, in **Nome ruolo**, inserisci un nome che ti aiuti a identificare il ruolo utilizzato per questo tutorial. 

1. (Facoltativo) Inserisci una descrizione nel campo **Descrizione**.

1. Esamina i dettagli del ruolo, aggiungi i tag se necessario e scegli **Crea ruolo**.

## Attività 3: collegare il runbook al piano di risposta
<a name="tutorials-runbook-response-plan"></a>

Collegando il runbook al piano di risposta di Incident Manager, garantisci un processo di mitigazione coerente, ripetibile e tempestivo. Il runbook funge anche da punto di partenza per i resolver per determinare la loro prossima linea d'azione. 

**Per assegnare il runbook al piano di risposta**

1. Apri la console [Incident Manager](https://console.aws.amazon.com/systems-manager/incidents/home).

1. Scegli **i piani di risposta**.

1. Per **Piano di risposta**, scegli un piano di risposta esistente e scegli **Modifica**. Se non disponi di un piano di risposta esistente, scegli **Crea piano di risposta** per creare un nuovo piano di risposta. 

   Completare i seguenti campi:

   1. Nella sezione **Runbook**, scegli **Seleziona runbook esistente**.

   1. Per **Owner**, verifica che l'opzione **Owned by me sia selezionata**.

   1. Per **Runbook**, scegli il runbook in cui hai creato. [Attività 1: creazione del runbook](#tutorials-runbook-create)

   1. Per **Versione**, scegli **Predefinito al momento dell'esecuzione**.

   1. Nella sezione **Ingressi**, per il **IncidentRecordArn**parametro, selezionate **Incident ARN.**

   1. Nella sezione **Autorizzazioni di esecuzione**, scegli il ruolo IAM in cui hai creato. [Attività 2: creazione di un ruolo IAM](#tutorials-runbook-IAM-role)

1. Salvare le modifiche.

## Attività 4: Assegnazione di un CloudWatch allarme al piano di risposta
<a name="tutorials-runbook-alarm"></a>

Utilizza la seguente procedura per assegnare un CloudWatch allarme per un'istanza Amazon EC2 al tuo piano di risposta. 

**Per assegnare un CloudWatch allarme al tuo piano di risposta**

1. Apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Nel pannello di navigazione, in **Allarmi**, scegli **Tutti gli allarmi**.

1. Scegli un allarme per un'istanza Amazon EC2 che desideri collegare al tuo piano di risposta.

1. Seleziona **Azioni**, quindi scegli **Modifica**. Verifica che la metrica abbia una dimensione chiamata. `InstanceId`

1. Scegli **Next (Successivo)**.

1. Per la **procedura guidata di configurazione delle azioni**, selezionare **Aggiungi azione Systems Manager**.

1. Scegli **Crea incidente**.

1. Scegli il piano di risposta in cui hai creato[Attività 3: collegare il runbook al piano di risposta](#tutorials-runbook-response-plan).

1. Seleziona **Update Alarm (Aggiorna allarme)**.

## Attività 5: verifica dei risultati
<a name="tutorials-runbook-verify"></a>

Per verificare che l' CloudWatch allarme crei un incidente e quindi elabori il runbook specificato nel piano di risposta, è necessario attivare l'allarme. Dopo aver attivato l'allarme e aver terminato l'elaborazione del runbook, è possibile verificare i risultati del runbook utilizzando la procedura seguente. *Per informazioni sull'attivazione di un allarme, vedere [set-alarm-state](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/set-alarm-state.html)nel Command Reference.AWS CLI *

1. Aprire la [console Incident Manager](https://console.aws.amazon.com/systems-manager/incidents/home).

1. Scegli l'incidente creato dall' CloudWatch allarme.

1. Scegli la scheda **Runbooks**.

1. Visualizza le azioni eseguite sulla tua istanza Amazon EC2 nella sezione **Runbook steps**. 

   L'immagine seguente mostra come i passaggi eseguiti dal runbook creato in questo tutorial vengono riportati nella console. Ogni passaggio è elencato con un timestamp e un messaggio di stato.  
![\[Le fasi di un runbook di automazione vengono riportate con timestamp e report sullo stato, ad esempio «Operazione completata».\]](http://docs.aws.amazon.com/it_it/incident-manager/latest/userguide/images/tutorial-runbooks-1.png)

   **Per visualizzare tutti i dettagli dell' CloudWatch allarme, espandi il passaggio **JsonDecode2**, quindi espandi Output.**

**Importante**  
È necessario ripulire tutte le modifiche alle risorse implementate durante questo tutorial che non si desidera conservare. Ciò include le modifiche alle risorse di Incident Manager, come i piani delle risorse e gli incidenti, le modifiche agli CloudWatch allarmi e il ruolo IAM che hai creato per questo tutorial.