

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Gerenciando modelos AWS de experimentos do FIS
<a name="manage-experiment-template"></a>

Você pode criar e gerenciar modelos de experimentos usando o console AWS FIS ou a linha de comando. Um modelo de experimento contém uma ou mais ações a serem executadas em alvos específicos durante um experimento. Ele também contém as condições de parada que evitam que o experimento ultrapasse os limites. Para ter mais informações sobre os componentes de um modelo de experimento, consulte [Componentes do modelo de experimento](experiment-templates.md). Depois de criar um modelo de experimento, você pode usá-lo para executar um experimento.

**Topics**
+ [Criar um modelo de experimento](create-template.md)
+ [Visualizar modelos de experimentos](view-template.md)
+ [Gerar uma pré-visualização de destinos com base em um modelo de experimento](generate-target-preview.md)
+ [Iniciar um experimento a partir de um modelo](start-experiment-from-template.md)
+ [Atualizar um modelo de experimento](update-template.md)
+ [Marcar modelos de experimentos](tag-experiment-template.md)
+ [Excluir um modelo de experimento](delete-template.md)
+ [Exemplos de AWS modelos de experimentos FIS](experiment-template-example.md)

# Criar um modelo de experimento
<a name="create-template"></a>

Antes de começar, conclua as seguintes tarefas:
+ [Planejar seu experimento](getting-started-planning.md).
+ Crie uma função do IAM que conceda ao serviço AWS FIS permissão para realizar ações em seu nome. Para obter mais informações, consulte [Funções do IAM para experimentos AWS do FIS](getting-started-iam-service-role.md).
+ Certifique-se de ter acesso ao AWS FIS. Para obter mais informações, consulte [Exemplos de políticas do AWS FIS](security_iam_id-based-policy-examples.md).

**Para criar um modelo de experimento usando o console**

1. Abra o console AWS FIS em. [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/)

1. No painel de navegação, selecione **Modelos de experimento**.

1. Escolha **Criar modelo de experimento**.

1. Para **a Etapa 1, Especificar detalhes do modelo**, faça o seguinte:

   1. Em **Descrição e nome**, insira uma descrição para o modelo, como`Amazon S3 Network Disrupt Connectivity`.

   1. (Opcional) Em **Segmentação de contas**, escolha **Várias contas** para configurar um modelo de experimento com várias contas.

   1. Escolha **Avançar** e vá para a **Etapa 2, Especifique ações e alvos**. 

1. Em **Ações**, especifique o conjunto de ações para o modelo. Para cada ação, escolha **Adicionar ação** e conclua o seguinte:
   + Em **Nome**, insira um nome para a ação.

     Os caracteres permitidos são caracteres alfanuméricos, hífens (-) e sublinhados (\$1). O nome deve iniciar com uma letra. Espaços não são permitidos. Cada nome de ação deve ser exclusivo neste modelo.
   + (Opcional) Para **Descrição**, insira uma descrição para a ação. O tamanho máximo é de 512 caracteres.
   + (Opcional) Para **Iniciar depois**, selecione outra ação definida neste modelo que deve ser concluída antes do início da ação atual. Caso contrário, a ação será executada no início do experimento.
   + Em **Tipo de ação**, escolha a ação AWS FIS.
   + Para **Destino**, escolha um destino que você definiu na seção **Destinos**. Se você ainda não definiu um alvo para essa ação, o AWS FIS cria um novo alvo para você.
   + Em **Parâmetros de ação**, especifique os parâmetros da ação. Essa seção aparece somente se a ação AWS FIS tiver parâmetros.
   + Escolha **Salvar**.

1. Para **Destinos**, defina os recursos de destino nos quais deseja realizar as ações. Você deve especificar pelo menos um ID de recurso ou uma tag de recurso como destino. Escolha **Editar** para editar o alvo que o AWS FIS criou para você na etapa anterior ou escolha **Adicionar destino**. Para cada destino, faça o seguinte:
   + Para **Nome**, insira um nome para o destino.

     Os caracteres permitidos são caracteres alfanuméricos, hífens (-) e sublinhados (\$1). O nome deve iniciar com uma letra. Espaços não são permitidos. Cada nome de destino deve ser exclusivo neste modelo.
   + Para **Tipo de recurso**, escolha um tipo de recurso compatível com a ação.
   + Para **Método do destino**, siga um destes procedimentos:
     + Escolha **Recurso IDs** e, em seguida, escolha ou adicione o recurso IDs.
     + Escolha **tags, filtros e parâmetros de recursos** e, em seguida, adicione as tags e os filtros necessários. Para obter mais informações, consulte [Identificar recursos de destino](targets.md#target-identification).
   + Para **Modo de seleção**, escolha **Contagem** para executar a ação no número especificado de destinos identificados ou escolha **Porcentagem** para executar a ação na porcentagem especificada de destinos identificados. Por padrão, a ação é executada em todos os destinos identificados.
   + Escolha **Salvar**.

1. Para atualizar uma ação com o destino que você criou, localize a ação em **Ações**, escolha **Editar** e, em seguida, atualize o **Destino**. Você pode usar o mesmo destino para várias ações.

1. (Opcional) Para **opções de experimento**, selecione o comportamento do modo de resolução de alvo vazio. 

1. Escolha **Avançar** para ir para a **Etapa 3, Configurar o acesso ao serviço**. 

1. Em **Acesso ao serviço**, escolha **Usar um perfil do IAM existente** e, em seguida, escolha o perfil do IAM que você criou conforme descrito nos pré-requisitos deste tutorial. Se sua função não for exibida, verifique se ela tem a relação de confiança necessária. Para obter mais informações, consulte [Funções do IAM para experimentos AWS do FIS](getting-started-iam-service-role.md).

1. (Somente experimentos com várias contas) Em **Configurações da conta de destino**, adicione um ARN do perfil e uma descrição opcional para cada conta de destino. Para carregar a função da conta de destino ARNs com um arquivo CSV, escolha **Carregar função ARNs para todas as contas de destino** e, em seguida, **escolha Escolher arquivo.CSV**

1. Escolha **Avançar** para ir para a **Etapa 4, Definir configurações opcionais**. 

1. (Opcional) Para **condições de parada**, selecione os CloudWatch alarmes da Amazon para as condições de parada. Para obter mais informações, consulte [Condições de parada para o AWS FIS](stop-conditions.md).

1. (Opcional) Para **Logs**, configure a opção de destino. Para enviar logs para um bucket do S3, escolha **Enviar para um bucket do Amazon S3** e insira o nome e o prefixo do bucket. Para enviar registros para CloudWatch registros, escolha **Enviar para CloudWatch registros** e entre no grupo de registros.

1. (Opcional) Em **Tags**, escolha **Adicionar nova tag** e especifique uma chave de tag e um valor de tag. As tags que você adiciona são aplicadas ao seu modelo de experimento, não aos experimentos que são executados usando o modelo.

1. Escolha **Avançar** para ir para a **Etapa 5, Revisar e criar**. 

1. Revise o modelo e escolha **Criar modelo de experimento**. Quando a confirmação for solicitada, insira e`create`, em seguida, escolha **Criar modelo de experimento**. 

**Para criar um modelo de experimento usando a CLI**  
Use o comando [create-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/create-experiment-template.html).

Você pode carregar um modelo de experimento a partir de um arquivo JSON. 

Use o parâmetro `--cli-input-json`.

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

Para obter mais informações, consulte [Gerar um modelo de esqueleto de CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html) no *Guia do usuário do AWS Command Line Interface *. Para obter modelos de exemplo, consulte [Exemplos de AWS modelos de experimentos FIS](experiment-template-example.md).

# Visualizar modelos de experimentos
<a name="view-template"></a>

Você pode ver os modelos de experimento que você criou.

**Para visualizar um modelo de experimento usando o console**

1. Abra o console AWS FIS em. [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/)

1. No painel de navegação, selecione **Modelos de experimento**.

1. Para visualizar informações sobre um modelo específico, selecione o **ID do modelo de experimento**.

1. Na seção **Detalhes**, você pode ver a descrição e as condições de interrupção do modelo.

1. Para visualizar as ações do modelo de experimento, escolha **Ações**.

1. Para visualizar os destinos do modelo de experimento, escolha **Destinos**.

1. Para visualizar as tags do modelo de experimento, escolha **Tags**.

**Para visualizar um modelo de experimento usando a CLI**  
Use o [list-experiment-templates](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/list-experiment-templates.html)comando para obter uma lista de modelos de experimento e use o [get-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/get-experiment-template.html)comando para obter informações sobre um modelo de experimento específico.

# Gerar uma pré-visualização de destinos com base em um modelo de experimento
<a name="generate-target-preview"></a>

 Antes de iniciar um experimento, você pode gerar uma pré-visualização de destinos para verificar se o modelo do experimento está configurado para atingir os recursos esperados. Os recursos que são definidos como destino quando você inicia o experimento real podem ser diferentes dos recursos da pré-visualização, pois eles podem ser removidos, atualizados ou amostrados aleatoriamente. Ao gerar uma pré-visualização de destinos, você inicia um experimento que ignora todas as ações. 

**nota**  
A geração de uma pré-visualização de destinos não permite verificar se você tem as permissões necessárias para realizar ações nos recursos.

**Como iniciar uma pré-visualização de destinos usando o console**

1. Abra o console AWS FIS em. [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/)

1. No painel de navegação, selecione **Modelos de experimento**.

1. Para visualizar os destinos do modelo de experimento, escolha **Destinos**.

1. Para verificar os recursos de destino para o modelo de experimento, escolha **Gerar pré-visualização**. Quando você executa um experimento, essa pré-visualização de destinos é atualizada automaticamente com os destinos do experimento mais recente.

**Como iniciar uma pré-visualização de destinos usando a CLI**
+ Execute o comando [start-experiment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/start-experiment.html) a seguir. Substitua os valores em itálico por seus próprios valores.

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

# Iniciar um experimento a partir de um modelo
<a name="start-experiment-from-template"></a>

Depois de criar um modelo de experimento, você pode começar os experimentos usando esse modelo.

Quando você inicia um experimento, criamos um snapshot do modelo especificado e usamos esse snapshot para executar o experimento. Portanto, se o modelo do experimento for atualizado ou excluído durante a execução do experimento, essas alterações não terão impacto no experimento em execução.

Quando você inicia um experimento, o AWS FIS cria uma função vinculada ao serviço em seu nome. Para obter mais informações, consulte [Use funções vinculadas ao serviço para o AWS Fault Injection Service](using-service-linked-roles.md).

Depois de iniciar o experimento, você pode interrompê-lo a qualquer momento. Para obter mais informações, consulte [Interromper um experimento](stop-experiment.md).

**Para iniciar um experimento usando o console**

1. Abra o console AWS FIS em. [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/)

1. No painel de navegação, selecione **Modelos de experimento**.

1. Selecione o modelo de experimento e escolha **Iniciar experimento**.

1. (Opcional) Para adicionar uma tag ao experimento, escolha **Adicionar nova tag** e insira uma chave de tag e um valor de tag.

1. Escolha **Start experiment** (Iniciar experimento). Quando a confirmação for solicitada, insira **start** e escolha **Iniciar experimento**.

**Para iniciar um experimentos usando a CLI**  
Use o comando [start-experiment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/start-experiment.html).

# Atualizar um modelo de experimento
<a name="update-template"></a>

Você pode atualizar um modelo de experimento existente. Quando você atualiza um modelo de experimento, as alterações não afetam nenhum experimento em execução que use o modelo.

**Para atualizar um modelo de experimento usando o console**

1. Abra o console AWS FIS em. [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/)

1. No painel de navegação, selecione **Modelos de experimento**.

1. Selecione o modelo do experimento e escolha **Ações**, **Atualizar modelo de experimento**.

1. Modifique os detalhes do modelo conforme necessário e escolha **Atualizar modelo de experimento**.

**Para atualizar um modelo de experimento usando a CLI**  
Use o comando [update-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/update-experiment-template.html).

# Marcar modelos de experimentos
<a name="tag-experiment-template"></a>

Você pode aplicar suas próprias tags aos modelos de experimento para ajudar na organização. Você também pode implementar [políticas do IAM baseadas em tags](security_iam_service-with-iam.md#security_iam_service-with-iam-tags) para controlar o acesso aos modelos de experimentos.

**Para marcar um modelo de experimento usando o console**

1. Abra o console AWS FIS em. [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/)

1. No painel de navegação, selecione **Modelos de experimento**.

1. Selecione o modelo de experimento e escolha **Ações**, **Gerenciar tags**.

1. Para adicionar uma nova tag, escolha **Adicionar nova tag** e especifique uma chave e valor.

   Para remover uma tag, selecione **Remover** para a tag.

1. Escolha **Salvar**.

**Para marcar um modelo de experimento usando a CLI**  
Use o comando [tag-resource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/tag-resource.html).

# Excluir um modelo de experimento
<a name="delete-template"></a>

Se você não precisar mais de um modelo de experimento, poderá excluí-lo. Quando você exclui um modelo de experimento, quaisquer experimentos em execução que usem o modelo não são afetados. O experimento continua em andamento até ser concluído ou interrompido. No entanto, os modelos de experimentos excluídos não estão disponíveis para visualização na página **Experimentos** no console.

**Para excluir um modelo de experimento usando o console**

1. Abra o console AWS FIS em. [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/)

1. No painel de navegação, selecione **Modelos de experimento**.

1. Selecione o modelo do experimento e escolha **Ações**, **Excluir modelo de experimento**.

1. Quando a confirmação for solicitada, insira **delete** e escolha **Excluir experimento**.

**Para excluir um modelo de experimento usando a CLI**  
Use o comando [delete-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/delete-experiment-template.html).

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

Se você estiver usando a API AWS FIS ou uma ferramenta de linha de comando para criar um modelo de experimento, poderá criar o modelo em JavaScript Object Notation (JSON). Para obter mais informações sobre os componentes de um modelo de experimento, consulte [AWS Componentes do modelo de experimento FIS](experiment-templates.md).

Para criar um experimento usando um dos modelos de exemplo, salve-o em um arquivo JSON (por exemplo,`my-template.json`), substitua os valores do espaço reservado por seus próprios valores e execute o comando a seguir [create-experiment-template](https://docs.aws.amazon.com/cli/latest/reference/fis/create-experiment-template.html). *italics*

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

**Topics**
+ [Interrompa EC2 instâncias com base em filtros](#stop-instances-filters)
+ [Interromper um número específico de EC2 instâncias](#stop-instances-count)
+ [Execute um documento AWS FIS SSM pré-configurado](#cpu-fault-injection)
+ [Executar um runbook predefinido de automação](#run-automation-runbook)
+ [Ações da API Throttle em EC2 instâncias com a função de destino do IAM](#inject-api-throttle)
+ [Teste de estresse da CPU de pods em um cluster do Kubernetes](#stress-test)
+ [Exceção de taxa de transferência provisionada para um número especificado de Kinesis Data Streams](#throughput-kinesis)
+ [Experimente um exemplo de permissões de função](#permissions-example)

## Interrompa EC2 instâncias com base em filtros
<a name="stop-instances-filters"></a>

O exemplo a seguir interrompe todas as EC2 instâncias da Amazon em execução na região especificada com a tag especificada na VPC especificada. Ele as reinicia após dois 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"
}
```

## Interromper um número específico de EC2 instâncias
<a name="stop-instances-count"></a>

O exemplo a seguir interrompe três instâncias com a tag especificada. AWS O FIS seleciona as instâncias específicas para parar aleatoriamente. Ele reinicia essas instâncias após dois 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"
}
```

## Execute um documento AWS FIS SSM pré-configurado
<a name="cpu-fault-injection"></a>

[O exemplo a seguir executa uma injeção de falha de CPU por 60 segundos na EC2 instância especificada usando um documento AWS FIS SSM pré-configurado, -CPU-stress. AWSFIS-Run](actions-ssm-agent.md#awsfis-run-cpu-stress) AWS O FIS monitora o experimento por dois 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"
}
```

## Executar um runbook predefinido de automação
<a name="run-automation-runbook"></a>

[O exemplo a seguir publica uma notificação para o Amazon SNS usando um runbook fornecido pelo Systems Manager, AWS-Publish. SNSNotification](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-publishsnsnotification.html) A função deve ter permissões para publicar notificações no tópico do 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"
}
```

## Ações da API Throttle em EC2 instâncias com a função de destino do IAM
<a name="inject-api-throttle"></a>

O exemplo a seguir controla a utilização de 100% das chamadas de API especificadas na definição da ação para chamadas de API feitas pelos perfis do IAM especificados na definição de destinos.

**nota**  
Se você quiser segmentar EC2 instâncias que sejam membros de um grupo de Auto Scaling, use a ação **aws:ec2: asg-insufficient-instance-capacity -error** e, em vez disso, segmente por grupo de Auto Scaling. Para obter mais informações, 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"
}
```

## Teste de estresse da CPU de pods em um cluster do Kubernetes
<a name="stress-test"></a>

O exemplo a seguir usa o Chaos Mesh para testar o estresse da CPU de pods em um cluster do Amazon EKS Kubernetes por um 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": {}
}
```

O exemplo a seguir utiliza o Litmus para realizar um teste de estresse na CPU de pods em um cluster do Kubernetes do Amazon EKS por um 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": {}
}
```

## Exceção de taxa de transferência provisionada para um número especificado de Kinesis Data Streams
<a name="throughput-kinesis"></a>

O exemplo a seguir gera uma exceção de taxa de transferência provisionada para 100% das solicitações de até cinco Kinesis Data Streams com a tag especificada. AWS O FIS seleciona os fluxos a serem afetados aleatoriamente. Após 5 minutos, a falha é removida.

```
{
    "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"
   }    
}
```

## Experimente um exemplo de permissões de função
<a name="permissions-example"></a>

A permissão a seguir permite que você execute as `aws:kinesis:stream-expired-iterator-exception` ações `aws:kinesis:stream-provisioned-throughput-exception` e em um stream específico, afetando 50% das solicitações.

```
{
    "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"
        }
    ]
}
```