

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á.

# Tutorial: Execute o estresse da CPU em uma instância usando o AWS FIS
<a name="fis-tutorial-run-cpu-stress"></a>

Você pode usar o AWS AWS Fault Injection Service (FIS) para testar como seus aplicativos lidam com o estresse da CPU. Use este tutorial para criar um modelo de experimento que usa o AWS FIS para executar um documento SSM pré-configurado que executa o estresse da CPU em uma instância. O tutorial usa uma condição de parada para interromper o experimento quando a utilização da CPU da instância excede um limite configurado.

Para obter mais informações, consulte [Documentos AWS FIS SSM pré-configurados](actions-ssm-agent.md#fis-ssm-docs).

## Pré-requisitos
<a name="run-cpu-stress-prerequisites"></a>

Antes de usar o AWS FIS para executar o estresse da CPU, preencha os seguintes pré-requisitos.

**Criar um perfil do IAM**  
Crie uma função e anexe uma política que permita que o AWS FIS use a `aws:ssm:send-command` ação em seu nome. Para obter mais informações, consulte [Funções do IAM para experimentos AWS do FIS](getting-started-iam-service-role.md).

**Verifique o acesso ao AWS FIS**  
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).

**Preparar uma instância do EC2 de teste**
+ Execute uma instância do EC2 usando o Amazon Linux 2 ou o Ubuntu, conforme exigido pelos documentos do SSM pré-configurados.
+ A instância deve ser gerenciada pelo SSM. Para verificar se a instância é gerenciada pelo SSM, abra o [console do Fleet Manager](https://console.aws.amazon.com/systems-manager/managed-instances). Se a instância não for gerenciada pelo SSM, verifique se o agente SSM está instalado e se a instância tem uma função do IAM vinculada à política da **Amazon SSMManaged InstanceCore**. Para verificar o Atendente SSM instalado, conecte-se à sua instância e execute o comando a seguir.

  **Amazon Linux 2**

  ```
  yum info amazon-ssm-agent
  ```

  **Ubuntu**

  ```
  apt list amazon-ssm-agent
  ```
+ Habilita o monitoramento detalhado da instância. Isso fornece dados em períodos de 1 minuto, mediante pagamento adicional. Selecione a instância e escolha **Ações**, **Monitorar e solucionar problemas**, **Gerenciar monitoramento detalhado**.

## Etapa 1: criar um CloudWatch alarme para uma condição de parada
<a name="getting-started-create-alarms"></a>

Configure um CloudWatch alarme para que você possa interromper o experimento se a utilização da CPU exceder o limite especificado. O procedimento a seguir define o limite de 50% de utilização da CPU para a instância de destino. Para obter mais informações, consulte [Condições de parada](stop-conditions.md).

**Para criar um alarme que indique quando a utilização da CPU excede um limite**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Instâncias**.

1. Selecione a instância de destino e escolha **Ações**, **Monitorar e solucionar problemas**, **Gerenciar CloudWatch alarmes**.

1. Em **Notificação de alarme**, use a opção para desativar as notificações do Amazon SNS.

1. Em **Limites de alarme**, use as seguintes configurações:
   + **Agrupar amostras por**: **Máximo**
   + **Tipo de dados a serem amostrados**: **utilização da CPU**
   + **Porcentagem**: **50**
   + **Período**: **1 Minute**

1. Quando terminar de configurar o alarme, escolha **Criar**.

## Etapa 2: criar um modelo de experimento
<a name="run-cpu-stress-create-template"></a>

Crie o modelo de experimento usando o console AWS FIS. No modelo, você especifica a seguinte ação a ser executada: [AWSFIS-Runaws:ssm:send-command/](actions-ssm-agent.md#awsfis-run-cpu-stress) -CPU-stress.

**Criar um modelo de experimento**

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. 

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

1. Em **Ações**, faça o seguinte:

   1. Selecione **Adicionar ação**.

   1. Insira um nome para a ação. Por exemplo, digite **runCpuStress**.

   1. Em **Tipo de ação**, escolha **aws:ssm:send-command/ -CPU-stress AWSFIS-Run**. Isso adiciona automaticamente o ARN do documento do SSM ao **ARN do documento**.

   1. Para **Target**, mantenha o alvo que o AWS FIS cria para você.

   1. Em **Parâmetros de ação**, **Parâmetros do documento**, insira o seguinte:

      ```
      {"DurationSeconds":"120"}
      ```

   1. Em **Parâmetros de ação**, **Duração**, especifique 5 minutos (PT5M).

   1. Escolha **Salvar**.

1. Em **Destinos**, faça o seguinte:

   1. Escolha **Editar** para o destino que o AWS FIS criou automaticamente para você na etapa anterior.

   1. Substitua o nome padrão por um nome mais descritivo. Por exemplo, digite **testInstance**.

   1. Verifique se o **Tipo de recurso** é **aws:ec2:instance**.

   1. Em **Método de destino**, escolha **Recurso** e IDs, em seguida, escolha o ID da instância de teste.

   1. Em **Modo de seleção**, escolha **Todos**.

   1. Escolha **Salvar**.

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. Escolha **Avançar** para ir para a **Etapa 4, Definir configurações opcionais**. 

1. Em **Condições de parada**, selecione o CloudWatch alarme que você criou na Etapa 1.

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**. 

**(Opcional) Para visualizar o modelo de experimento JSON**  
Escolha a guia **Exportar**. Este é um exemplo do JSON criado pelo procedimento de console anterior.

```
{
    "description": "Test CPU stress predefined SSM document",
    "targets": {
        "testInstance": {
            "resourceType": "aws:ec2:instance",
            "resourceArns": [
                "arn:aws:ec2:{{region}}:{{123456789012}}:instance/{{instance_id}}"
            ],
            "selectionMode": "ALL"
        }
    },
    "actions": {
        "runCpuStress": {
            "actionId": "aws:ssm:send-command",
            "parameters": {
                "documentArn": "arn:aws:ssm:{{region}}::document/AWSFIS-Run-CPU-Stress",
                "documentParameters": "{\"DurationSeconds\":\"120\"}",
                "duration": "PT5M"
            },
            "targets": {
                "Instances": "testInstance"
            }
        }
    },
    "stopConditions": [
        {
            "source": "aws:cloudwatch:alarm",
            "value": "arn:aws:cloudwatch:{{region}}:{{123456789012}}:alarm:awsec2-{{instance_id}}-GreaterThanOrEqualToThreshold-CPUUtilization"
        }
    ],
    "roleArn": "arn:aws:iam::{{123456789012}}:role/{{AllowFISSSMActions}}",
    "tags": {}
}
```

## Etapa 3: iniciar o experimento
<a name="run-cpu-stress-start-experiment"></a>

Quando terminar de criar seu modelo de experimento, você poderá usá-lo para iniciar um experimento.

**Para iniciar um experimento**

1. Você deve estar na página de detalhes do modelo de experimento que acabou de criar. Caso contrário, escolha **Modelos de experimento** e selecione o ID do modelo de experimento para abrir a página de detalhes.

1. Escolha **Start experiment** (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**. Escolha **Start experiment** (Iniciar experimento).

## Etapa 4: acompanhar o progresso do experimento
<a name="run-cpu-stress-track-experiment"></a>

Você pode acompanhar o progresso de um experimento em andamento até que ele seja concluído, interrompido ou falhe.

**Para acompanhar o progresso de um experimento**

1. Você deve estar na página de detalhes do modelo de experimento que acabou de iniciar. Caso contrário, escolha **Experimentos** e selecione o ID do modelo de experimento para abrir a página de detalhes do experimento.

1. Para ver o estado do experimento, marque **Estado** no painel **Detalhes**. Para obter mais informações, consulte [Estados do experimento](view-experiment-progress.md#experiment-states).

1. Quando o estado do experimento for **Em execução**, vá para a próxima etapa.

## Etapa 5: verificar os resultados do experimento
<a name="run-cpu-stress-verify-experiment-results"></a>

Você pode monitorar a utilização da CPU da sua instância enquanto o experimento está sendo executado. Quando a utilização da CPU atinge o limite, o alarme é acionado e o experimento é interrompido pela condição de parada.

**Para verificar os resultados do experimento**

1. Escolha a guia **Condições de parada**. A borda verde e o ícone de marca de seleção verde indicam que o estado inicial do alarme é `OK`. A linha vermelha indica o limite do alarme. Se você preferir um gráfico mais detalhado, escolha **Ampliar** no menu do widget.  
![Gráfico mostrando um pico de utilização da CPU em 100% após um período de baixa atividade em torno de 50%.](http://docs.aws.amazon.com/pt_br/fis/latest/userguide/images/stop-conditions-pane-ok.png)

1. Quando a utilização da CPU excede o limite, a borda vermelha e o ícone de ponto de exclamação vermelho na guia **Condições de parada** indicam que o estado do alarme foi alterado para `ALARM`. No painel **Detalhes**, o estado do experimento é **Interrompido**. Se você selecionar o estado, a mensagem exibida será “Experimento interrompido pela condição de parada”.  
![Gráfico mostrando a utilização da CPU ao longo do tempo com uma linha de limite vermelha de 50%.](http://docs.aws.amazon.com/pt_br/fis/latest/userguide/images/stop-conditions-pane-in-alarm.png)

1. Quando a utilização da CPU diminui abaixo do limite, a borda verde e o ícone de marca de seleção verde indicam que o estado do alarme mudou para `OK`.

1. (Opcional) Escolha **Exibir em alarmes** no menu do widget. Isso abre a página de detalhes do alarme no CloudWatch console, onde você pode obter mais detalhes sobre o alarme ou editar as configurações do alarme.

## Etapa 6: limpar
<a name="stop-instances-cleanup"></a>

Se a instância de teste do EC2 criada durante o experimento não for mais necessária, você poderá encerrá-la.

**Para terminar as instâncias**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Instâncias**.

1. Selecione as instâncias de teste e escolha **Estado da instância** e **Encerrar instância**.

1. Quando a confirmação for solicitada, escolha **Terminate** (Encerrar).

Se você não precisar mais do modelo de experimento, poderá excluí-lo.

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

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 modelo de experimento**.