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.

Acciones para AWS FIS

Para crear una plantilla de experimento, debe definir una o más acciones. Para obtener una lista de acciones predefinidas proporcionada por AWS FIS, consulteReferencia de las acciones.

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

Sintaxis de acción

La siguiente es la sintaxis de una acción.

{ "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.

Identificadores de acciones

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

aws:service-name:action-type

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

aws:ec2:stop-instances

Para ver la lista completa de acciones, consulte AWS FIS Referencia de acciones.

Parámetros de acciones

Alguno AWS FISlas acciones tienen parámetros adicionales que son específicos de la acción. Estos parámetros se utilizan para pasar información a AWS FIScuando se ejecuta la acción.

AWS FISadmite tipos de error personalizados mediante la aws:ssm:send-command acción, que utiliza el SSM agente y un documento de SSM comandos para crear la condición de error en las instancias de destino. La aws:ssm:send-command acción incluye un documentArn parámetro que toma el nombre del recurso de Amazon (ARN) de un SSM documento 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 Use la aws:ssm:send-command acción.

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 EC2 instancia de Amazon, no podrás recuperarla una vez finalizada.

Destinos de acciones

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": { "resource_type": "resource_name" }

AWS FISlas acciones admiten los siguientes tipos de recursos para los objetivos de acción:

  • Grupos de Auto Scaling — Grupos de Amazon EC2 Auto Scaling

  • Buckets: buckets de Amazon S3

  • Clúster: EKS clústeres de Amazon

  • Clústeres: clústeres de Amazon o ECS clústeres de bases de datos de Amazon Aurora

  • DBInstances— Instancias de Amazon RDS DB

  • Tablas globales cifradas: tablas globales de Amazon DynamoDB cifradas con una clave administrada por el cliente

  • Tablas globales: Amazon DynamoDB; tablas globales

  • Instancias: EC2 instancias de Amazon

  • Grupos de nodos: grupos de nodos de Amazon EKS

  • Pods: pods de Kubernetes en Amazon EKS

  • ReplicationGroups— ElastiCache Grupos de replicación de Redis

  • Funciones: IAM funciones

  • SpotInstances— Instancias EC2 puntuales de Amazon

  • Subredes: VPC subredes

  • Tareas: ECS tareas de Amazon

  • TransitGateways— Pasarelas de tránsito

  • Volúmenes — EBS Volúmenes de Amazon

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 especifica una duración de 5 minutos, AWS FISconsidera 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 continuación, se muestran algunos ejemplos.

Ejemplo: detener EC2 instancias

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

La siguiente acción detiene las instancias puntuales identificadas mediante el objetivo denominado targetSpotInstances. Espera dos minutos antes de interrumpir la instancia puntual.

"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: despedir a los trabajadores EKS

La siguiente acción finaliza el 50% de las EC2 instancias del EKS clúster identificadas con el objetivo denominado targetNodeGroups.

"actions": { "terminateWorkers": { "actionId": "aws:eks:terminate-nodegroup-instances", "parameters": { "instanceTerminationPercentage": "50" }, "targets": { "Nodegroups": "targetNodeGroups" } } }