

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

# Azioni per AWS FIS
<a name="action-sequence"></a>

Per creare un modello di esperimento, è necessario definire una o più azioni. Per un elenco delle azioni predefinite fornite da AWS FIS, vedere. [Riferimento alle azioni](fis-actions-reference.md)

È possibile eseguire un'azione solo una volta durante un esperimento. Per eseguire la stessa azione AWS FIS più di una volta nello stesso esperimento, aggiungila al modello più volte utilizzando nomi diversi.

**Topics**
+ [Sintassi dell'azione](#action-syntax)
+ [Identificatori di azione](#action-identifiers)
+ [Parametri dell'operazione](#action-parameters)
+ [Obiettivi d'azione](#action-targets)
+ [Durata operazione](#action-duration)
+ [Esempio di azioni](#example-actions)

## Sintassi dell'azione
<a name="action-syntax"></a>

Di seguito è riportata la sintassi di un'azione.

```
{
    "actions": {
        "action_name": {
            "actionId": "aws:service:action-type",
            "description": "string",
            "parameters": {
                "name": "value"
             },
            "startAfter": ["action_name", ...],
            "targets": {
                "ResourceType": "target_name"
            }
        }
    }
}
```

Quando si definisce un'azione, si fornisce quanto segue:

***action\$1name***  
Un nome per l'operazione.

**actionId**  
L'[identificatore dell'azione](#action-identifiers).

**description**  
Descrizione facoltativa

**parameters**  
Qualsiasi [parametro di azione](#action-parameters).

**startAfter**  
Qualsiasi azione che deve essere completata prima che questa azione possa iniziare. Altrimenti, l'azione viene eseguita all'inizio dell'esperimento.

**targets**  
Qualsiasi [obiettivo d'azione](#action-targets).

Per alcuni esempi, consulta [Esempio di azioni](#example-actions).

## Identificatori di azione
<a name="action-identifiers"></a>

Ogni azione AWS FIS ha un identificatore con il seguente formato:

```
aws:service-name:action-type
```

Ad esempio, la seguente azione arresta le istanze Amazon EC2 di destinazione:

```
aws:ec2:stop-instances
```

Per un elenco completo delle azioni, consulta la. [AWS FIS Riferimento alle azioni](fis-actions-reference.md)

## Parametri dell'operazione
<a name="action-parameters"></a>

Alcune azioni AWS FIS dispongono di parametri aggiuntivi specifici dell'azione. Questi parametri vengono utilizzati per passare informazioni al AWS FIS quando l'azione viene eseguita. 

AWS FIS supporta tipi di errore personalizzati utilizzando l'`aws:ssm:send-command`azione, che utilizza l'agente SSM e un documento di comando SSM per creare la condizione di errore sulle istanze di destinazione. L'`aws:ssm:send-command`azione include un `documentArn` parametro che prende come valore l'Amazon Resource Name (ARN) di un documento SSM. Specifichi i valori per i parametri quando aggiungi l'azione al modello di esperimento.

Per ulteriori informazioni sulla specificazione dei parametri per l'`aws:ssm:send-command`azione, consultate[Usa l'azione aws:ssm:send-command](actions-ssm-agent.md#specifying-ssm-actions).

Ove possibile, è possibile inserire una configurazione di rollback (nota anche come *azione successiva*) all'interno dei parametri dell'azione. Una post-operazione ripristina una destinazione allo stato in cui si trovava prima dell’esecuzione dell’operazione stessa. L'azione di post viene eseguita dopo il tempo specificato nella durata dell'azione. Non tutte le azioni possono supportare le azioni di pubblicazione. Ad esempio, se l'azione interrompe un'istanza Amazon EC2, non è possibile ripristinare l'istanza dopo che è stata terminata.

## Obiettivi d'azione
<a name="action-targets"></a>

Un'azione viene eseguita sulle risorse di destinazione specificate. Dopo aver definito un obiettivo, è possibile specificarne il nome quando si definisce un'azione.

```
"targets": {
    "ResourceType": "resource_name"
}
```

AWS Le azioni FIS supportano i seguenti tipi di risorse per gli obiettivi d'azione:
+ **AutoScalingGroups**— Gruppi Amazon EC2 Auto Scaling
+ Bucket: **bucket** Amazon S3
+ **Cluster: cluster** Amazon EKS
+ Cluster: **cluster** Amazon ECS, Aurora DSQL o Amazon Aurora DB
+ **DBInstances**— Istanze database Amazon RDS
+ Funzioni: **funzioni** AWS Lambda 
+ **Istanze**: istanze Amazon EC2
+ **KinesisStreams**— Flussi di dati Kinesis
+ **ManagedResources**— Cluster Amazon EKS, Application and Network Load Balancer di Amazon EC2 e gruppi Amazon EC2 Auto Scaling abilitati per lo spostamento zonale ARC.
+ **MultiRegionClusters**— Cluster multiregionali Amazon MemoryDB
+ **Nodegroups — gruppi** di nodi Amazon EKS
+ **Pods: pod** Kubernetes su Amazon EKS
+ **ReplicationGroups** ElastiCache — Gruppi di replica
+ **Ruoli: ruoli** IAM
+ **SpotInstances**— Istanze Spot Amazon EC2
+ **Sottoreti: sottoreti** VPC
+ **Tabelle: tabelle** globali di Amazon DynamoDB multiregione fortemente e alla fine coerenti
+ **Attività: attività** di Amazon ECS
+ **TransitGateways**— Gateway di transito
+ **VirtualInterfaces**— Interfacce Direct Connect virtuali
+ **Volumi: volumi** Amazon EBS
+ **VPCEndpoints**— Endpoint Amazon VPC

Per alcuni esempi, consulta [Esempio di azioni](#example-actions).

## Durata operazione
<a name="action-duration"></a>

Se un'azione include un parametro che è possibile utilizzare per specificare la durata dell'azione, per impostazione predefinita, l'azione viene considerata completa solo dopo la scadenza della durata specificata. Se hai impostato l'opzione dell'`emptyTargetResolutionMode`esperimento su`skip`, l'azione verrà completata immediatamente con lo stato «ignorato» quando nessun obiettivo è stato risolto. Ad esempio, se si specifica una durata di 5 minuti, AWS FIS considera l'azione completa dopo 5 minuti. Quindi avvia l'azione successiva, fino al completamento di tutte le azioni.

La durata può essere il periodo di tempo in cui viene mantenuta una condizione di azione o il periodo di tempo per il quale vengono monitorate le metriche. Ad esempio, la latenza viene iniettata per il periodo di tempo specificato. Per i tipi di azioni quasi istantanee, come l'interruzione di un'istanza, le condizioni di arresto vengono monitorate per la durata specificata.

Se un'azione include un'azione di post all'interno dei parametri dell'azione, l'azione di post viene eseguita dopo il completamento dell'azione. Il tempo necessario per completare l'azione successiva potrebbe causare un ritardo tra la durata dell'azione specificata e l'inizio dell'azione successiva (o la fine dell'esperimento, se tutte le altre azioni sono state completate).

## Esempio di azioni
<a name="example-actions"></a>

Di seguito sono riportati alcuni esempi di azioni.

**Esempi**
+ [Arresta le istanze EC2](#example-action-stop-instances)
+ [Interrompi le istanze Spot](#example-action-send-spot-instance-interupptions)
+ [Interrompi il traffico di rete](#example-action-disrupt-connectivity)
+ [Licenziate i dipendenti EKS](#example-action-terminate-nodegroup-instances)
+ [Avvia ARC zonal autoshift](#example-start-arc-zonal-autoshift)<a name="example-action-stop-instances"></a>

**Esempio: fermare le istanze EC2**  
La seguente azione arresta le istanze EC2 identificate utilizzando la destinazione denominata. *targetInstances* Dopo due minuti, riavvia le istanze di destinazione.

```
"actions": {
    "stopInstances": {
        "actionId": "aws:ec2:stop-instances",
        "parameters": {
            "startInstancesAfterDuration": "PT2M"
        },
        "targets": {
            "Instances": "targetInstances"
        }
    }
}
```<a name="example-action-send-spot-instance-interupptions"></a>

**Esempio: istanze Interrupt Spot**  
L'azione seguente interrompe le istanze Spot identificate utilizzando la destinazione denominata. *targetSpotInstances* Attende due minuti prima di interrompere l'istanza Spot.

```
"actions": {
    "interruptSpotInstances": {
        "actionId": "aws:ec2:send-spot-instance-interruptions",
        "parameters": {
            "durationBeforeInterruption": "PT2M"
        },
        "targets": {
            "SpotInstances": "targetSpotInstances"
        }
    }
}
```<a name="example-action-disrupt-connectivity"></a>

**Esempio: interrompere il traffico di rete**  
L'azione seguente nega il traffico tra le sottoreti di destinazione e le sottoreti in altre zone di disponibilità.

```
"actions": {
    "disruptAZConnectivity": {
        "actionId": "aws:network:disrupt-connectivity",
        "parameters": {
            "scope": "availability-zone",
            "duration": "PT5M"
        },
        "targets": {
            "Subnets": "targetSubnets"
        }
    }
}
```<a name="example-action-terminate-nodegroup-instances"></a>

**Esempio: licenziare i lavoratori EKS**  
La seguente azione interrompe il 50% delle istanze EC2 nel cluster EKS identificate utilizzando il target denominato. *targetNodeGroups*

```
"actions": {
    "terminateWorkers": {
        "actionId": "aws:eks:terminate-nodegroup-instances",
        "parameters": {
            "instanceTerminationPercentage": "50"
        },
        "targets": {
            "Nodegroups": "targetNodeGroups"
        }
    }
}
```<a name="example-start-arc-zonal-autoshift"></a>

**Esempio: avvia ARC zonal autoshift**  
L'azione seguente avvia uno spostamento automatico zonale ARC che sposta le risorse gestite lontano da for. *az-in-parameters* *duration-in-parameteres* Il tipo di risorsa `ManagedResources` viene utilizzato come chiave per il nome della destinazione nel modello di esperimento FIS. AWS 

```
{
    "description": "aaa",
    "targets": {
        "ManagedResources-Target-1": {
            "resourceType": "aws:arc:zonal-shift-managed-resource",
            "resourceArns": [
                "arn:aws:elasticloadbalancing:us-east-1:0124567890:loadbalancer/app/application/11223312312516",
            ],
            "selectionMode": "ALL"
        }
    },
    "actions": {
        "arc": {
            "actionId": "aws:arc:start-zonal-autoshift",
            "parameters": {
                "availabilityZoneIdentifier": "us-east-1a",
                "duration": "PT1M"
            },
            "targets": {
               "ManagedResources": "ManagedResources-Target-1"
            }
        }
    },
    "stopConditions": [
        {
            "source": "none"
        }
    ],
    "roleArn": "arn:aws:iam::718579638765:role/fis",
    "tags": {},
    "experimentOptions": {
        "accountTargeting": "single-account",
        "emptyTargetResolutionMode": "fail"
    }
}
```