Conjunto de acciones para AWS FIS - AWS Servicio de inyección de averías

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.

Conjunto de acciones para AWS FIS

Para crear una plantilla de experimento, debe definir una o más acciones para formar el conjunto de acciones. Para obtener una lista de las acciones predefinidas proporcionadas por el AWS FIS, consulte. Acciones

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.

Sintaxis de acción

A continuación, se presenta la sintaxis de un conjunto de acciones:

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

Cuando se define un destino, se proporciona lo siguiente:

action_name

Un nombre para la acción.

actionId

El identificador de la acción.

description

Una descripción opcional.

parameters

Cualquier parámetro de acción.

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.

Para ver ejemplos, consulte Acciones de ejemplo.

Duración de la acción

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 especificas una duración de 5 minutos, el AWS FIS considerará que la acción se ha completado al cabo de 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 continuación, se muestran algunos ejemplos.

Ejemplo: Detener instancias EC2

La siguiente acción detiene las instancias EC2 identificadas con el destino 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" } } }
Ejemplo: Interrumpir instancias de spot

La siguiente acción detiene las instancias puntuales identificadas mediante el objetivo indicado. 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" } } }
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" } } }
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" } } }