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