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.
Contenido
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
- 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.
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
" } } }