

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.

# Gestión de AWS plantillas de experimentos FIS
<a name="manage-experiment-template"></a>

Puede crear y gestionar plantillas de experimentos mediante la consola AWS FIS o la línea de comandos. Una plantilla de experimento contiene una o más acciones que se ejecutan en destinos específicos durante un experimento. También contiene las condiciones de detención que impiden que el experimento se salga de los límites. Para obtener más información acerca de los componentes de una plantilla de experimento, consulte [Componentes de plantillas de experimento](experiment-templates.md). Después de crear una plantilla de experimento, puede utilizarla para ejecutar un experimento.

**Topics**
+ [

# Creación de una plantilla de experimento
](create-template.md)
+ [

# Visualización de plantillas de experimento
](view-template.md)
+ [

# Generación de una vista previa de destino a partir de una plantilla de experimento
](generate-target-preview.md)
+ [

# Inicio de un experimento a partir de una plantilla
](start-experiment-from-template.md)
+ [

# Actualización de una plantilla de experimento
](update-template.md)
+ [

# Etiquetado de plantillas de experimento
](tag-experiment-template.md)
+ [

# Eliminación de una plantilla de experimento
](delete-template.md)
+ [

# Ejemplos de AWS plantillas de experimentos FIS
](experiment-template-example.md)

# Creación de una plantilla de experimento
<a name="create-template"></a>

Antes de empezar, complete las siguientes tareas:
+ [Planifique su experimento](getting-started-planning.md).
+ Cree un rol de IAM que conceda permiso al servicio AWS FIS para realizar acciones en su nombre. Para obtener más información, consulte [Funciones de IAM para los experimentos de AWS FIS](getting-started-iam-service-role.md).
+ Asegúrese de tener acceso al FIS. AWS Para obtener más información, consulte [Ejemplos de política de AWS FIS](security_iam_id-based-policy-examples.md).

**Para crear una plantilla de experimento con la consola**

1. Abra la consola AWS FIS en. [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/)

1. En el panel de navegación, elija **Plantillas de experimento**.

1. Elija **Crear plantilla de experimento**.

1. En el **paso 1, Especificar los detalles de la plantilla**, haga lo siguiente:

   1. En **Descripción y nombre**, introduzca una descripción para la plantilla, por ejemplo`Amazon S3 Network Disrupt Connectivity`.

   1. (Opcional) Para **Segmentación de cuentas**, seleccione **Varias cuentas** para configurar una plantilla de experimento con varias cuentas.

   1. Seleccione **Siguiente** y vaya al **paso 2, Especificar acciones y objetivos**. 

1. En **Acciones**, especifique el conjunto de acciones de la plantilla. Para cada acción, elija **Agregar acción** y complete lo siguiente:
   + En **Nombre**, escriba un nombre para la acción.

     Se permiten caracteres alfanuméricos, guiones (-) y guiones bajos (\$1). El nombre debe comenzar por una letra. No se permiten espacios. El nombre de cada acción debe ser único en esta plantilla.
   + (Opcional) En **Descripción**, ingrese una descripción para la acción. La longitud máxima es de 512 caracteres.
   + (Opcional) En **Comenzar después**, seleccione otra acción definida en esta plantilla que debe completarse antes de que comience la acción actual. De lo contrario, la acción se ejecuta al inicio del experimento.
   + En **Tipo de acción**, elija la acción AWS FIS.
   + En **Destino**, elija un destino que haya definido en la sección **Destinos**. Si aún no ha definido un objetivo para esta acción, el AWS FIS crea uno nuevo para usted.
   + En **Parámetros de acción**, especifique los parámetros de la acción. Esta sección aparece solo si la acción del AWS FIS tiene parámetros.
   + Seleccione **Save**.

1. En **Destinos**, defina los recursos de destino en los que se van a llevar a cabo las acciones. Debe especificar al menos un ID de recurso o una etiqueta de recurso como destino. Seleccione **Editar** para editar el objetivo que AWS FIS creó para usted en el paso anterior, o bien elija **Agregar** objetivo. En cada destino, haga lo siguiente:
   + En **Nombre**, escriba un nombre para el destino.

     Se permiten caracteres alfanuméricos, guiones (-) y guiones bajos (\$1). El nombre debe comenzar por una letra. No se permiten espacios. Cada nombre de destino debe ser único en esta plantilla.
   + En **Tipo de recurso**, elija un tipo de recurso que sea compatible con la acción.
   + En **Método de destino**, realice una de las siguientes acciones:
     + Elija **Recurso IDs** y, a continuación, elija o añada el recurso IDs.
     + Elija las **etiquetas, los filtros y los parámetros de los recursos** y, a continuación, agregue las etiquetas y los filtros que necesite. Para obtener más información, consulte [Identificación de recursos de destino](targets.md#target-identification).
   + En **Modo de selección**, elija **Recuento** para ejecutar la acción en el número especificado de destinos identificados o elija **Porcentaje** para ejecutar la acción en el porcentaje especificado de los destinos identificados. De forma predeterminada, la acción se ejecuta en todos los destinos identificados.
   + Seleccione **Save**.

1. Para actualizar una acción con el destino que ha creado, busque la acción en **Acciones**, elija **Editar** y, a continuación, actualice **Destino**. Puede utilizar el mismo destino para varias acciones.

1. (Opcional) Para **ver las opciones de experimento**, selecciona el comportamiento del modo de resolución del objetivo vacío. 

1. Seleccione **Siguiente** para ir al **paso 3, Configurar el acceso al servicio**. 

1. En **Acceso al servicio**, elija **Usar un rol de IAM existente** y, a continuación, elija el rol de IAM que creó, tal como se describe en los requisitos previos de este tutorial. Si su rol no aparece, compruebe que tiene la relación de confianza requerida. Para obtener más información, consulte [Funciones de IAM para los experimentos de AWS FIS](getting-started-iam-service-role.md).

1. (Solo experimentos con varias cuentas) En el caso de **Configuraciones de cuentas de destino**, agregue un ARN de rol y una descripción opcional para cada cuenta de destino. Para cargar el rol de la cuenta de destino ARNs con un archivo CSV, selecciona **Cargar el rol ARNs para todas las cuentas de destino** y, a continuación, **elige Elegir un archivo.CSV**

1. Selecciona **Siguiente** para ir al **paso 4, Configurar los ajustes opcionales**. 

1. (Opcional) Para **las condiciones de parada**, selecciona las CloudWatch alarmas de Amazon para las condiciones de parada. Para obtener más información, consulte [Condiciones de parada para AWS FIS](stop-conditions.md).

1. (Opcional) En **Registros**, configure la opción de destino. Para enviar registros a un bucket de S3, seleccione **Enviar a un bucket de Amazon S3** y escriba el nombre y el prefijo del bucket. Para enviar registros a CloudWatch registros, seleccione **Enviar a CloudWatch registros** e introduzca el grupo de registros.

1. (Opcional) En **Etiquetas**, elija **Agregar nueva etiqueta** y especifique una clave y un valor de etiqueta. Las etiquetas que agregue se aplican a la plantilla de experimento, no a los experimentos que se ejecutan con la plantilla.

1. Seleccione **Siguiente** para ir al **paso 5, Revisar y crear**. 

1. Revisa la plantilla y selecciona **Crear plantilla de experimento**. Cuando se le solicite la confirmación, introduzca `create` y, a continuación, seleccione **Crear plantilla de experimento**. 

**Para crear una plantilla de experimento con la CLI**  
Utilice el comando [create-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/create-experiment-template.html).

Puede cargar una plantilla de experimento desde un archivo JSON. 

Utilice el parámetro `--cli-input-json`.

```
aws fis create-experiment-template --cli-input-json fileb://<path-to-json-file>
```

Para obtener más información, consulte [Generar una plantilla de esqueleto de la CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html) en la *Guía del usuario de la AWS Command Line Interface *. Para ver ejemplos de plantillas, consulte [Ejemplos de AWS plantillas de experimentos FIS](experiment-template-example.md).

# Visualización de plantillas de experimento
<a name="view-template"></a>

Puede ver las plantillas de experimento que ha creado.

**Para ver una plantilla de experimento con la consola**

1. Abra la consola AWS FIS en [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/).

1. En el panel de navegación, elija **Plantillas de experimento**.

1. Para ver la información de una plantilla específica, seleccione el **ID de plantilla de experimento**.

1. En la sección **Detalles**, puede ver la descripción y las condiciones de detención de la plantilla.

1. Para ver las acciones de la plantilla de experimento, elija **Acciones**.

1. Para ver los destinos de la plantilla de experimento, elija **Destinos**.

1. Para ver las etiquetas de la plantilla de experimento, elija **Etiquetas**.

**Para ver una plantilla de experimento con la CLI**  
Utilice el [list-experiment-templates](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/list-experiment-templates.html)comando para obtener una lista de plantillas de experimentos y utilice el [get-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/get-experiment-template.html)comando para obtener información sobre una plantilla de experimento específica.

# Generación de una vista previa de destino a partir de una plantilla de experimento
<a name="generate-target-preview"></a>

 Antes de iniciar un experimento, se puede generar una vista previa de destino para comprobar que la plantilla de experimento está configurada para destinarse a los recursos esperados. Cuando comienza el experimento real, los recursos de destino del mismo pueden ser diferentes de los de la vista previa, ya que los recursos se pueden eliminar, actualizar o muestrear de forma aleatoria. Al generar una vista previa de destino, se inicia un experimento en el que se omiten todas las acciones. 

**nota**  
Al generar una vista previa de destino no es posible verificar que el usuario disponga de los permisos necesarios para realizar acciones en sus recursos.

**Para iniciar una vista previa de destino con la consola**

1. Abra la consola AWS FIS en [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/).

1. En el panel de navegación, elija **Plantillas de experimento**.

1. Para ver los destinos de la plantilla de experimento, elija **Destinos**.

1. Para verificar los recursos de destino de la plantilla de experimento, elija **Generar vista previa**. Cuando ejecute un experimento, esta vista previa de destino se actualizará automáticamente con los destinos a partir del experimento más reciente.

**Para iniciar una vista previa de destino con la CLI**
+ Ejecute el siguiente comando [start-experiment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/start-experiment.html). Reemplace los valores en cursiva por sus propios valores.

  ```
  aws fis start-experiment \
      --experiment-options actionsMode=skip-all \
      --experiment-template-id EXTxxxxxxxxx
  ```

# Inicio de un experimento a partir de una plantilla
<a name="start-experiment-from-template"></a>

Después de crear una plantilla de experimento, puede iniciar los experimentos con esa plantilla.

Al iniciar un experimento, creamos una instantánea de la plantilla especificada y la utilizamos para ejecutar el experimento. Por lo tanto, si la plantilla de experimento se actualiza o elimina mientras el experimento está en ejecución, esos cambios no afectarán al experimento en ejecución.

Al iniciar un experimento, el AWS FIS crea un rol vinculado al servicio en tu nombre. Para obtener más información, consulte [Utilice funciones vinculadas al servicio para el servicio de inyección de errores AWS](using-service-linked-roles.md).

Tras iniciar el experimento, puede detenerlo en cualquier momento. Para obtener más información, consulte [Detener un experimento](stop-experiment.md).

**Para iniciar un experimento con la consola**

1. Abra la consola de la AWS FIS en. [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/)

1. En el panel de navegación, elija **Plantillas de experimento**.

1. Seleccione la plantilla de experimento y elija **Iniciar experimento**.

1. (Opcional) Para agregar una etiqueta a su experimento, elija **Agregar nueva etiqueta** e ingrese una clave y un valor de etiqueta.

1. Elija **Start experiment** (Iniciar experimento). Cuando se le pida que confirme, ingrese **start** y elija **Iniciar experimento**.

**Para iniciar un experimento con la CLI**  
Utilice el comando [start-experiment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/start-experiment.html).

# Actualización de una plantilla de experimento
<a name="update-template"></a>

Puede actualizar una plantilla de experimento existente. Al actualizar una plantilla de experimento, los cambios no afectan a ningún experimento en ejecución que utilice la plantilla.

**Para actualizar una plantilla de experimento con la consola**

1. Abra la consola AWS FIS en. [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/)

1. En el panel de navegación, elija **Plantillas de experimento**.

1. Seleccione la plantilla de experimento y elija **Acciones**, **Actualizar plantilla de experimento**.

1. Modifique los detalles de la plantilla según sea necesario y elija **Actualizar plantilla de experimento**.

**Para actualizar una plantilla de experimento con la CLI**  
Utilice el comando [update-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/update-experiment-template.html).

# Etiquetado de plantillas de experimento
<a name="tag-experiment-template"></a>

Puede aplicar sus propias etiquetas a las plantillas de experimento para ayudarle a organizarlos. También puede implementar [políticas de IAM basadas en etiquetas](security_iam_service-with-iam.md#security_iam_service-with-iam-tags) para controlar el acceso a las plantillas de experimento.

**Para etiquetar una plantilla de experimento con la consola**

1. Abra la consola AWS FIS en. [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/)

1. En el panel de navegación, elija **Plantillas de experimento**.

1. Seleccione la plantilla experimento y elija **Acciones**, **Administrar etiquetas**.

1. Para agregar una nueva etiqueta, elija **Agregar nueva etiqueta** y, a continuación, especifique una clave y un valor.

   Para eliminar una etiqueta, elija **Eliminar** de la etiqueta.

1. Seleccione **Save**.

**Para etiquetar una plantilla de experimento con la CLI**  
Utilice el comando [tag-resource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/tag-resource.html).

# Eliminación de una plantilla de experimento
<a name="delete-template"></a>

Si ya no necesita una plantilla de experimento, puede eliminarla. Al eliminar una plantilla de experimento, no se ve afectado ningún experimento en ejecución que utilice la plantilla. El experimento continúa ejecutándose hasta que se complete o detenga. Sin embargo, las plantillas de experimento que se eliminen no estarán disponibles para su visualización en la página **Experimentos** de la consola.

**Para eliminar una plantilla de experimento con la consola**

1. Abra la consola AWS FIS en. [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/)

1. En el panel de navegación, elija **Plantillas de experimento**.

1. Seleccione la plantilla de experimento y elija **Acciones**, **Eliminar plantilla de experimento**.

1. Cuando se le pida confirmación, ingrese **delete** y elija **Eliminar plantilla de experimento**.

**Para eliminar una plantilla de experimento con la CLI**  
Utilice el comando [delete-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/delete-experiment-template.html).

# Ejemplos de AWS plantillas de experimentos FIS
<a name="experiment-template-example"></a>

Si utilizas la API AWS FIS o una herramienta de línea de comandos para crear una plantilla de experimento, puedes crearla en notación de JavaScript objetos (JSON). Para obtener más información acerca de los componentes de una plantilla de experimento, consulte [AWS Componentes de la plantilla de experimento FIS](experiment-templates.md).

Para crear un experimento con una de las plantillas de ejemplo, guárdala en un archivo JSON (por ejemplo,`my-template.json`), sustituye los valores de los marcadores de posición por tus propios valores y, a continuación, ejecuta el siguiente [create-experiment-template](https://docs.aws.amazon.com/cli/latest/reference/fis/create-experiment-template.html)comando. *italics*

```
aws fis create-experiment-template --cli-input-json file://my-template.json
```

**Topics**
+ [

## Detenga EC2 las instancias en función de los filtros
](#stop-instances-filters)
+ [

## Detenga un número específico de instancias EC2
](#stop-instances-count)
+ [

## Ejecute un documento AWS FIS SSM preconfigurado
](#cpu-fault-injection)
+ [

## Ejecución de un manual de procedimientos de Automation
](#run-automation-runbook)
+ [

## Limite las acciones de la API en las EC2 instancias con la función de IAM de destino
](#inject-api-throttle)
+ [

## Prueba de esfuerzo de la CPU de los pods de un clúster de Kubernetes
](#stress-test)
+ [

## Excepción de rendimiento aprovisionada para un número específico de Kinesis Data Streams
](#throughput-kinesis)
+ [

## Experimenta con un ejemplo de permisos de rol
](#permissions-example)

## Detenga EC2 las instancias en función de los filtros
<a name="stop-instances-filters"></a>

El siguiente ejemplo detiene todas las EC2 instancias de Amazon en ejecución en la región especificada con la etiqueta especificada en la VPC especificada. Las reinicia después de dos minutos.

```
{
    "tags": {
        "Name": "StopEC2InstancesWithFilters"
    },
    "description": "Stop and restart all instances in us-east-1b with the tag env=prod in the specified VPC",
    "targets": {
        "myInstances": {
            "resourceType": "aws:ec2:instance",
            "resourceTags": {
                "env": "prod"
            },
            "filters": [
                {
                    "path": "Placement.AvailabilityZone",
                    "values": ["us-east-1b"]
                },
                {
                    "path": "State.Name",
                    "values": ["running"]
                },
                {
                    "path": "VpcId",
                    "values": [ "vpc-aabbcc11223344556"]
                }
            ],
            "selectionMode": "ALL"
        }
    },
    "actions": {
        "StopInstances": {
            "actionId": "aws:ec2:stop-instances",
            "description": "stop the instances",
            "parameters": {
                "startInstancesAfterDuration": "PT2M"
            },
            "targets": {
                "Instances": "myInstances"
            }
        }
    },
    "stopConditions": [
        {
            "source": "aws:cloudwatch:alarm",
            "value": "arn:aws:cloudwatch:us-east-1:111122223333:alarm:alarm-name"
        }
    ],
    "roleArn": "arn:aws:iam::111122223333:role/role-name"
}
```

## Detenga un número específico de instancias EC2
<a name="stop-instances-count"></a>

El siguiente ejemplo detiene tres instancias con la etiqueta especificada. AWS El FIS selecciona las instancias específicas para detenerlas de forma aleatoria. Reinicia estas instancias después de dos minutos.

```
{
    "tags": {
        "Name": "StopEC2InstancesByCount"
    },
    "description": "Stop and restart three instances with the specified tag",
    "targets": {
        "myInstances": {
            "resourceType": "aws:ec2:instance",
            "resourceTags": {
                "env": "prod"
            },
            "selectionMode": "COUNT(3)"
        }
    },
    "actions": {
        "StopInstances": {
            "actionId": "aws:ec2:stop-instances",
            "description": "stop the instances",
            "parameters": {
                "startInstancesAfterDuration": "PT2M"
            },
            "targets": {
                "Instances": "myInstances"
            }
        }
    },
    "stopConditions": [
        {
            "source": "aws:cloudwatch:alarm",
            "value": "arn:aws:cloudwatch:us-east-1:111122223333:alarm:alarm-name"
        }
    ],
    "roleArn": "arn:aws:iam::111122223333:role/role-name"
}
```

## Ejecute un documento AWS FIS SSM preconfigurado
<a name="cpu-fault-injection"></a>

[En el siguiente ejemplo, se ejecuta una inyección de errores de CPU durante 60 segundos en la EC2 instancia especificada mediante un documento AWS FIS SSM preconfigurado, -CPU-Stress. AWSFIS-Run](actions-ssm-agent.md#awsfis-run-cpu-stress) AWS El FIS supervisa el experimento durante dos minutos.

```
{
    "tags": {
        "Name": "CPUStress"
    },
    "description": "Run a CPU fault injection on the specified instance",
    "targets": {
        "myInstance": {
            "resourceType": "aws:ec2:instance",
            "resourceArns": ["arn:aws:ec2:us-east-1:111122223333:instance/instance-id"],
            "selectionMode": "ALL"
        }
    },
    "actions": {
        "CPUStress": {
            "actionId": "aws:ssm:send-command",
            "description": "run cpu stress using ssm",
            "parameters": {
                "duration": "PT2M",
                "documentArn": "arn:aws:ssm:us-east-1::document/AWSFIS-Run-CPU-Stress",
                "documentParameters": "{\"DurationSeconds\": \"60\", \"InstallDependencies\": \"True\", \"CPU\": \"0\"}"
            },
            "targets": {
                "Instances": "myInstance"
            }
        }
    },
    "stopConditions": [
        {
            "source": "aws:cloudwatch:alarm",
            "value": "arn:aws:cloudwatch:us-east-1:111122223333:alarm:alarm-name"
        }
    ],
    "roleArn": "arn:aws:iam::111122223333:role/role-name"
}
```

## Ejecución de un manual de procedimientos de Automation
<a name="run-automation-runbook"></a>

[En el siguiente ejemplo, se publica una notificación a Amazon SNS mediante un manual proporcionado por Systems Manager, AWS-Publish. SNSNotification](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-publishsnsnotification.html) El rol debe tener permisos para publicar notificaciones en el tema de SNS especificado.

```
{
    "description": "Publish event through SNS",
    "stopConditions": [
        {
            "source": "none"
        }
    ],
    "targets": {
    },
    "actions": {
        "sendToSns": {
            "actionId": "aws:ssm:start-automation-execution",
            "description": "Publish message to SNS",
            "parameters": {
                "documentArn": "arn:aws:ssm:us-east-1::document/AWS-PublishSNSNotification",
                "documentParameters": "{\"Message\": \"Hello, world\", \"TopicArn\": \"arn:aws:sns:us-east-1:111122223333:topic-name\"}",
                "maxDuration": "PT1M"
            },
            "targets": {
            }
        }
    },
    "roleArn": "arn:aws:iam::111122223333:role/role-name"
}
```

## Limite las acciones de la API en las EC2 instancias con la función de IAM de destino
<a name="inject-api-throttle"></a>

El siguiente ejemplo limita el 100 % de las llamadas a la API especificadas en la definición de acción para las llamadas a la API realizadas por los roles de IAM especificados en la definición de destino.

**nota**  
Si desea dirigirse a EC2 instancias que son miembros de un grupo de Auto Scaling, utilice la acción **aws:ec2: asg-insufficient-instance-capacity -error** y, en su lugar, segmente por grupo de Auto Scaling. Para obtener más información, consulte [aws:ec2:asg-insufficient-instance-capacity-error](fis-actions-reference.md#asg-ice).

```
{
    "tags": {
        "Name": "ThrottleEC2APIActions"
    },
    "description": "Throttle the specified EC2 API actions on the specified IAM role",
    "targets": {
        "myRole": {
            "resourceType": "aws:iam:role",
            "resourceArns": ["arn:aws:iam::111122223333:role/role-name"],
            "selectionMode": "ALL"
        }
    },
    "actions": {
        "ThrottleAPI": {
            "actionId": "aws:fis:inject-api-throttle-error",
            "description": "Throttle APIs for 5 minutes",
            "parameters": {
                "service": "ec2",
                "operations": "DescribeInstances,DescribeVolumes",
                "percentage": "100",
                "duration": "PT2M"
            },
            "targets": {
                "Roles": "myRole"
            }
        }
    },
    "stopConditions": [
        {
            "source": "aws:cloudwatch:alarm",
            "value": "arn:aws:cloudwatch:us-east-1:111122223333:alarm:alarm-name"
        }
    ],
    "roleArn": "arn:aws:iam::111122223333:role/role-name"
}
```

## Prueba de esfuerzo de la CPU de los pods de un clúster de Kubernetes
<a name="stress-test"></a>

En el siguiente ejemplo, se utiliza Chaos Mesh para realizar una prueba de esfuerzo de la CPU de los pods en un clúster de Kubernetes de Amazon EKS durante un minuto.

```
{
    "description": "ChaosMesh StressChaos example",
    "targets": {
        "Cluster-Target-1": {
            "resourceType": "aws:eks:cluster",
            "resourceArns": [
                "arn:aws:eks:arn:aws::111122223333:cluster/cluster-id"
            ],
            "selectionMode": "ALL"
        }
    },
    "actions": {
        "TestCPUStress": {
            "actionId": "aws:eks:inject-kubernetes-custom-resource",
            "parameters": {
                "maxDuration": "PT2M",
                "kubernetesApiVersion": "chaos-mesh.org/v1alpha1",
                "kubernetesKind": "StressChaos",
                "kubernetesNamespace": "default",
                "kubernetesSpec": "{\"selector\":{\"namespaces\":[\"default\"],\"labelSelectors\":{\"run\":\"nginx\"}},\"mode\":\"all\",\"stressors\": {\"cpu\":{\"workers\":1,\"load\":50}},\"duration\":\"1m\"}"
            },
            "targets": {
                "Cluster": "Cluster-Target-1"
            }
        }
    },
    "stopConditions": [{
        "source": "none"
    }],
    "roleArn": "arn:aws:iam::111122223333:role/role-name",
    "tags": {}
}
```

En el siguiente ejemplo, se utiliza Litmus para realizar una prueba de esfuerzo de la CPU de los pods en un clúster de Kubernetes de Amazon EKS durante un minuto.

```
{
    "description": "Litmus CPU Hog",
    "targets": {
        "MyCluster": {
            "resourceType": "aws:eks:cluster",
            "resourceArns": [
                "arn:aws:eks:arn:aws::111122223333:cluster/cluster-id"
            ],
            "selectionMode": "ALL"
        }
    },
    "actions": {
        "MyAction": {
            "actionId": "aws:eks:inject-kubernetes-custom-resource",
            "parameters": {
                "maxDuration": "PT2M",
                "kubernetesApiVersion": "litmuschaos.io/v1alpha1",
                "kubernetesKind": "ChaosEngine",
                "kubernetesNamespace": "litmus",
                "kubernetesSpec": "{\"engineState\":\"active\",\"appinfo\":{\"appns\":\"default\",\"applabel\":\"run=nginx\",\"appkind\":\"deployment\"},\"chaosServiceAccount\":\"litmus-admin\",\"experiments\":[{\"name\":\"pod-cpu-hog\",\"spec\":{\"components\":{\"env\":[{\"name\":\"TOTAL_CHAOS_DURATION\",\"value\":\"60\"},{\"name\":\"CPU_CORES\",\"value\":\"1\"},{\"name\":\"PODS_AFFECTED_PERC\",\"value\":\"100\"},{\"name\":\"CONTAINER_RUNTIME\",\"value\":\"docker\"},{\"name\":\"SOCKET_PATH\",\"value\":\"/var/run/docker.sock\"}]},\"probe\":[]}}],\"annotationCheck\":\"false\"}"
            },
            "targets": {
                "Cluster": "MyCluster"
            }
        }
    },
    "stopConditions": [{
        "source": "none"
    }],
    "roleArn": "arn:aws:iam::111122223333:role/role-name",
    "tags": {}
}
```

## Excepción de rendimiento aprovisionada para un número específico de Kinesis Data Streams
<a name="throughput-kinesis"></a>

El siguiente ejemplo arroja una excepción de rendimiento aprovisionada para el 100% de las solicitudes de hasta cinco Kinesis Data Streams con la etiqueta especificada. AWS El FIS selecciona las transmisiones a las que desea afectar de forma aleatoria. Después de 5 minutos, se elimina la avería.

```
{
    "description": "Kinesis stream experiment",
    "targets": {
        "KinesisStreams-Target-1": {
            "resourceType": "aws:kinesis:stream",
            "resourceTags": {
                   "tag-key": "tag-value"
            },
            "selectionMode": "COUNT(5)"
        }
    },
    "actions": {
         "kinesis": {
              "actionId": "aws:kinesis:stream-provisioned-throughput-exception",
              "description": "my-stream",
              "parameters": {
                   "duration": "PT5M",
                   "percentage": "100",
                   "service": "kinesis"
              },
              "targets": {
                    "KinesisStreams": "KinesisStreams-Target-1"
              }
         }
   },
   "stopConditions": [
         {
              "source": "none"
         }
   ],
   "roleArn": "arn:aws:iam::111122223333:role/role-name",
   "tags": {},
   "experimentOptions": {
       "accountTargeting": "single-account",
       "emptyTargetResolutionMode": "fail"
   }    
}
```

## Experimenta con un ejemplo de permisos de rol
<a name="permissions-example"></a>

El siguiente permiso te permite ejecutar las `aws:kinesis:stream-expired-iterator-exception` acciones `aws:kinesis:stream-provisioned-throughput-exception` y en una transmisión específica, lo que afecta al 50% de las solicitudes.

```
{
    "Version": "2012-10-17",		 	 	 
     "Statement": [
        {
            "Effect": "Allow",
            "Action": "kinesis:InjectApiError",
            "Resource": "*"
            "Condition": {
                "ForAllValues:StringEquals": {
                    "kinesis:FisActionId": [
                        "aws:kinesis:stream-provisioned-throughput-exception",
                        "aws:kinesis:stream-expired-iterator-exception" 
                    ],
                    "kinesis:FisTargetArns": [
                        "arn:aws:kinesis:us-east-1:111122223333:stream/stream-name"
                    ],
                },
                "NumericEquals": {
                    "kinesis:FisInjectPercentage": "50"
                }
            }
        },
        {
             "Action": [
                   "kinesis:DescribeStreamSummary",
              ],
             "Resource": "*",
             "Effect": "Allow"
        }
    ]
}
```