

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

# Automatizzazione delle attività di gestione con AWS OpsHub
<a name="automate-task"></a>

Puoi utilizzarlo AWS OpsHub per automatizzare le attività operative che esegui frequentemente su Snowball Edge. Puoi creare un'attività per le azioni ricorrenti che potresti voler eseguire sulle risorse, come il riavvio di server virtuali, l'arresto di istanze EC2 compatibili con Amazon e così via. Fornisci un documento di automazione che esegue in modo sicuro le attività operative ed esegue l'operazione sulle risorse in blocco. AWS È inoltre possibile pianificare flussi di lavoro IT comuni. 

**Nota**  
L'automazione delle attività non è supportata nei cluster.  
Per utilizzare le attività, è necessario avviare prima il servizio Amazon EC2 Systems Manager. Per ulteriori informazioni, consulta [Attivazione della gestione dei dispositivi Snowball Edge su Snowball](https://docs.aws.amazon.com/snowball/latest/developer-guide/aws-sdm.html#enable-sdm) Edge.

**Topics**
+ [Creazione e avvio di un'attività con AWS OpsHub](#create-task)
+ [Visualizzazione dei dettagli di un'attività in AWS OpsHub](#view-task)
+ [Eliminazione di un'attività in AWS OpsHub](#delete-task)

## Creazione e avvio di un'attività con AWS OpsHub
<a name="create-task"></a>

Quando si crea un'attività, specificare i tipi di risorse su cui eseguire l'attività e quindi fornire un documento di attività contenente le istruzioni che eseguono l'attività. Il documento attività è in formato YAML o JSON. È quindi necessario fornire i parametri necessari per l'attività e avviare l'attività.

**Per creare un'attività**

1. Nella sezione **Attività di avvio** del dashboard scegliere** Inizia** per aprire la pagina **Attività** . Se sono state create attività, queste vengono visualizzate in **Attività**. 

1. Scegliere **Crea attività** e fornire i dettagli per l'attività.

1. Per **Nome ruolo**: immettere un nome univoco per la tabella.
**Suggerimento**  
Il nome deve contenere da 3 a 128 caratteri. I caratteri validi sono `a-z`, `A-Z`, `0-9`, `.`, `_` e `-`.

1. Facoltativamente, è possibile scegliere un tipo di destinazione dall'elenco **Tipo di destinazione facoltativo**. Questo è il tipo di risorsa su cui si desidera eseguire l'attività. 

   Ad esempio, puoi specificare **/AWS::EC2::Instance** che le attività devono essere eseguite su un'istanza EC2 compatibile con Amazon o **/** su tutti i tipi di risorse. 

1. Nella sezione **Contenuto**, scegli **YAML** o **JSON** e fornisci lo script che esegue l'operazione. Sono disponibili due opzioni, il formato YAML o JSON. Per alcuni esempi, consulta [Esempi di attività in AWS OpsHub](#task-examples).

1. Scegli **Create** (Crea). L'attività creata viene quindi visualizzata nella pagina **Attività** .

**Avviare un'attività**

1. Nella sezione **Attività di avvio** del dashboard scegliere** Inizia** per aprire la pagina **Attività** . Le attività vengono visualizzate in **Attività**.

1. Scegliere l'attività per aprire la pagina **Attività Start**.

1. Scegliere **Esecuzione semplice** da eseguire sulle destinazioni. 

   Scegliere **Controllo frequenza** per un’esecuzione più sicura su più destinazioni e per definire soglie di concorrenza e di errore. Per questa opzione, si forniscono le informazioni aggiuntive di destinazione e soglia di errore nella sezione **Controllo frequenza** . 

1. Fornire i parametri di input richiesti e scegliere **Avvia attività**. 

   Lo stato dell'attività è **In sospeso** e cambia in **Successo** quando l'attività è stata eseguita correttamente.

### Esempi di attività in AWS OpsHub
<a name="task-examples"></a>

L'esempio seguente riavvia un'istanza EC2 compatibile con Amazon. Richiede due parametri di input: `endpoint` e `instance ID`. 

*Esempio YAML*

```
description: Restart EC2 instance
schemaVersion: '0.3'
parameters:
  Endpoint:
    type: String
    description: (Required) EC2 Service Endpoint URL
  Id:
    type: String
    description: (Required) Instance Id
mainSteps:
  - name: restartInstance
    action: aws:executeScript
    description: Restart EC2 instance step
    inputs:
      Runtime: python3.7
      Handler: restart_instance
      InputPayload:
        Endpoint: "{{ Endpoint }}"
        Id: "{{ Id }}"
      TimeoutSeconds: 30
      Script: |-
        import boto3
        import time
        def restart_instance(payload, context):
            ec2_endpoint = payload['Endpoint']
            instance_id = payload['Id']
            ec2 = boto3.resource('ec2', endpoint_url=ec2_endpoint)
            instance = ec2.Instance(instance_id)
            if instance.state['Name'] != 'stopped':
                instance.stop()
                instance.wait_until_stopped()
            instance.start()
            instance.wait_until_running()
            return {'InstanceState': instance.state}
```

*Esempio JSON*

```
{
  "description" : "Restart EC2 instance",
  "schemaVersion" : "0.3",
  "parameters" : {
    "Endpoint" : {
      "type" : "String",
      "description" : "(Required) EC2 Service Endpoint URL"
    },
    "Id" : {
      "type" : "String",
      "description" : "(Required) Instance Id"
    }
  },
  "mainSteps" : [ {
    "name" : "restartInstance",
    "action" : "aws:executeScript",
    "description" : "Restart EC2 instance step",
    "inputs" : {
      "Runtime" : "python3.7",
      "Handler" : "restart_instance",
      "InputPayload" : {
        "Endpoint" : "{{ Endpoint }}",
        "Id" : "{{ Id }}"
      },
      "TimeoutSeconds" : 30,
      "Script" : "import boto3\nimport time\ndef restart_instance(payload, context):\n    
            ec2_endpoint = payload['Endpoint']\n    instance_id = payload['Id']\n    
            ec2 = boto3.resource('ec2', endpoint_url=ec2_endpoint)\n    
            instance = ec2.Instance(instance_id)\n    
            if instance.state['Name'] != 'stopped':\n        
            instance.stop()\n        
            instance.wait_until_stopped()\n    
            instance.start()\n    
            instance.wait_until_running()\n    
            return {'InstanceState': instance.state}"
    }
  } ]
}
```

## Visualizzazione dei dettagli di un'attività in AWS OpsHub
<a name="view-task"></a>

È possibile visualizzare i dettagli di un'attività di gestione, ad esempio la descrizione e i parametri necessari per eseguire l'attività.

**Per visualizzare i dettagli di un'attività**

1. Nella sezione **Attività di avvio** del dashboard scegliere** Inizia** per aprire la pagina **Attività** . 

1. Nella pagina **Attività** individuare e scegliere l'attività di cui si desidera visualizzare i dettagli.

1. Scegli **Visualizza dettagli** e scegli una delle schede per visualizzare i dettagli. Ad esempio, la scheda **Parametri** mostra i parametri di input nello script.

## Eliminazione di un'attività in AWS OpsHub
<a name="delete-task"></a>

Attenersi alla seguente procedura per eliminare un'attività di gestione.

**Per eliminare un'attività**

1. Nella sezione **Attività di avvio** del dashboard scegliere** Inizia** per aprire la pagina **Attività** . 

1. Individuare l'attività che si desidera eliminare. Scegliere l'attività, quindi scegliere **Elimina**.