

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Acciones para el AWS FIS
<a name="action-sequence"></a>

Para crear una plantilla de experimento, debe definir una o más acciones. Para obtener una lista de las acciones predefinidas proporcionadas por el AWS FIS, consulte[Referencia de las acciones](fis-actions-reference.md).

Puede ejecutar una acción solo una vez durante un experimento. Para ejecutar la misma acción del AWS FIS más de una vez en el mismo experimento, agréguela a la plantilla varias veces con nombres diferentes.

**Topics**
+ [Sintaxis de acción](#action-syntax)
+ [Identificadores de acciones](#action-identifiers)
+ [Parámetros de acción](#action-parameters)
+ [Destinos de acciones](#action-targets)
+ [Duración de la acción](#action-duration)
+ [Acciones de ejemplo](#example-actions)

## Sintaxis de acción
<a name="action-syntax"></a>

A continuación, se presenta la sintaxis de una acción:

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

Cuando se define un destino, se proporciona lo siguiente:

***action\$1name***  
Un nombre para la acción.

**actionId**  
El [identificador de la acción](#action-identifiers).

**description**  
Una descripción opcional.

**parameters**  
Cualquier [parámetro de acción](#action-parameters).

**startAfter**  
Cualquier acción que deba completarse antes de que se pueda iniciar esta acción. De lo contrario, la acción se ejecuta al inicio del experimento.

**targets**  
Cualquier [destino de acción](#action-targets).

Para ver ejemplos, consulte [Acciones de ejemplo](#example-actions).

## Identificadores de acciones
<a name="action-identifiers"></a>

Cada acción AWS del FIS tiene un identificador con el siguiente formato:

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

Por ejemplo, la siguiente acción detiene las instancias de destino de Amazon EC2:

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

Para ver la lista completa de acciones, consulte [AWS FIS Referencia de acciones](fis-actions-reference.md).

## Parámetros de acción
<a name="action-parameters"></a>

Algunas acciones de AWS la FIS tienen parámetros adicionales que son específicos de la acción. Estos parámetros se utilizan para pasar información al AWS FIS cuando se ejecuta la acción. 

AWS El FIS admite tipos de errores personalizados mediante la `aws:ssm:send-command` acción, que utiliza el agente SSM y un documento de comandos SSM para crear la condición de error en las instancias de destino. La acción `aws:ssm:send-command` incluye un parámetro `documentArn` que toma el nombre de recurso de Amazon (ARN) de un documento de SSM como valor. Los valores de los parámetros se especifican al agregar la acción a la plantilla de experimento.

Para obtener más información acerca de cómo especificar parámetros para la acción `aws:ssm:send-command`, consulte [Uso de la acción aws:ssm:send-command](actions-ssm-agent.md#specifying-ssm-actions).

Siempre que sea posible, puede introducir una configuración de reversión (también denominada *acción posterior*) en los parámetros de la acción. Una acción posterior devuelve el destino al estado en el que se encontraba antes de que se ejecutara la acción. La acción posterior se ejecuta después del tiempo especificado en la duración de la acción. No todas las acciones admiten acciones posteriores. Por ejemplo, si la acción termina una instancia de Amazon EC2, no podrá recuperarla una vez terminada.

## Destinos de acciones
<a name="action-targets"></a>

Una acción se ejecuta en los recursos de destino que especifique. Tras definir un destino, puede especificar su nombre al definir una acción.

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

AWS Las acciones del FIS admiten los siguientes tipos de recursos para los objetivos de acción:
+ **AutoScalingGroups**— Grupos de Amazon EC2 Auto Scaling
+ **Buckets**: buckets de Amazon S3
+ **Clúster**: clústeres de Amazon EKS
+ **Clústeres: clústeres** de Amazon ECS, Aurora DSQL o Amazon Aurora DB
+ **DBInstances**— Instancias de base de datos de Amazon RDS
+ **Funciones — AWS Lambda funciones**
+ **Instancias**: instancias de Amazon EC2
+ **KinesisStreams**— Flujos de datos de Kinesis
+ **ManagedResources**— Clústeres de Amazon EKS, balanceadores de carga de aplicaciones y redes de Amazon EC2 y grupos de Auto Scaling de Amazon EC2 que están habilitados para el cambio zonal de ARC.
+ **MultiRegionClusters**— Clústeres multirregionales de Amazon MemoryDB
+ **Grupos de nodos**: grupos de nodos de Amazon EKS
+ **Pods**: pods de Kubernetes en Amazon EKS
+ **ReplicationGroups**— Grupos de replicación ElastiCache 
+ **Roles**: roles de IAM
+ **SpotInstances**— Instancias puntuales de Amazon EC2
+ **Subredes**: subredes de VPC
+ **Tablas: tablas** globales multirregionales de Amazon DynamoDB sólidas y, finalmente, consistentes
+ **Tareas**: tareas de Amazon ECS
+ **TransitGateways**— Pasarelas de tránsito
+ **VirtualInterfaces**— Interfaces Direct Connect virtuales
+ **Volúmenes**: volúmenes de Amazon EBS
+ **VPCEndpoints**— Puntos de enlace de Amazon VPC

Para ver ejemplos, consulte [Acciones de ejemplo](#example-actions).

## Duración de la acción
<a name="action-duration"></a>

Si una acción incluye un parámetro que se puede usar para especificar la duración de la acción, la acción se considera completa de forma predeterminada solo después de que haya transcurrido la duración especificada. Si ha establecido la opción de experimento de `emptyTargetResolutionMode` en `skip`, la acción se completará inmediatamente con el estado 'omitida' cuando no se hayan resuelto destinos. Por ejemplo, si especifica una duración de 5 minutos, el AWS FIS considerará que la acción ha finalizado transcurridos 5 minutos. A continuación, inicia la siguiente acción, hasta que se hayan completado todas las acciones.

La duración puede ser el tiempo durante el que se mantiene una condición de acción o el tiempo durante el que se monitorizan las métricas. Por ejemplo, la latencia se inyecta durante el tiempo especificado. Para los tipos de acción casi instantáneos, como la terminación de una instancia, las condiciones de detención se monitorizan durante el tiempo especificado.

Si una acción incluye una acción posterior en los parámetros de acción, la acción posterior se ejecuta una vez completada la acción. El tiempo que se tarda en completar la acción posterior puede provocar un retraso entre la duración de la acción especificada y el comienzo de la siguiente acción (o el final del experimento, si se han completado todas las demás acciones).

## Acciones de ejemplo
<a name="example-actions"></a>

A continuación, se muestran algunos ejemplos.

**Ejemplos**
+ [Detener instancias de EC2](#example-action-stop-instances)
+ [Interrumpir instancias de spot](#example-action-send-spot-instance-interupptions)
+ [Interrumpir el tráfico de red](#example-action-disrupt-connectivity)
+ [Terminar procesos de trabajo de EKS](#example-action-terminate-nodegroup-instances)
+ [Inicie el cambio automático zonal ARC](#example-start-arc-zonal-autoshift)<a name="example-action-stop-instances"></a>

**Ejemplo: Detener instancias de EC2**  
La siguiente acción detiene las instancias de EC2 identificadas mediante el objetivo denominado. *targetInstances* Después de dos minutos, reinicia las instancias de destino.

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

**Ejemplo: Interrumpir instancias de spot**  
La siguiente acción detiene las instancias puntuales identificadas mediante el objetivo nombrado*targetSpotInstances*. Espera dos minutos antes de interrumpir la instancia de spot.

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

**Ejemplo: Interrumpir el tráfico de red**  
La siguiente acción deniega el tráfico entre las subredes de destino y las subredes de otras zonas de disponibilidad.

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

**Ejemplo: Terminar procesos de trabajo de EKS**  
La siguiente acción cierra el 50% de las instancias de EC2 del clúster de EKS identificadas con el objetivo nombrado. *targetNodeGroups*

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

**Ejemplo: inicie el cambio automático zonal ARC**  
La siguiente acción inicia un cambio automático zonal ARC que desplaza los recursos gestionados en lugar de para. *az-in-parameters* *duration-in-parameteres* El tipo de recurso `ManagedResources` se utiliza como clave para el nombre del objetivo en la plantilla de experimento del AWS FIS.

```
{
    "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"
    }
}
```