Tutorial: Execute CPU stress em uma instância usando AWS FIS - AWS Serviço de injeção de falhas

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 CPU stress em uma instância usando AWS FIS

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

Para obter mais informações, consulte Documentos pré-configurados AWS FIS SSM.

Pré-requisitos

Antes que você possa usar AWS FISpara se CPU estressar, preencha os seguintes pré-requisitos.

Crie uma IAM função

Crie uma função e anexe uma política que permita AWS FISpara usar a aws:ssm:send-command ação em seu nome. Para obter mais informações, consulte Funções do IAM para experimentos do AWS FIS.

Verifique o acesso ao AWS FIS

Certifique-se de que você tenha acesso a AWS FIS. Para ter mais informações, consulte AWS FISexemplos de políticas.

Preparar uma EC2 instância de teste
  • Execute uma EC2 instância usando o Amazon Linux 2 ou o Ubuntu, conforme exigido pelos SSM documentos pré-configurados.

  • A instância deve ser gerenciada porSSM. Para verificar se a instância é gerenciada porSSM, abra o console do Fleet Manager. Se a instância não for gerenciada porSSM, verifique se o SSM Agente está instalado e se a instância tem uma IAM função vinculada à mazonSSMManaged InstanceCore política A. Para verificar o SSM Agente 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

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

Para criar um alarme que indique quando a CPU utilização excede um limite
  1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Instances (Instâncias).

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

  4. Para notificação de alarme, use o botão para desativar as notificações da AmazonSNS.

  5. Em Limites de alarme, use as seguintes configurações:

    • Agrupar amostras por: Máximo

    • Tipo de dados a serem amostrados: CPUutilização

    • Porcentagem: 50

    • Período: 1 Minute

  6. Quando terminar de configurar o alarme, escolha Criar.

Etapa 2: criar um modelo de experimento

Crie o modelo de experimento usando o AWS FISconsole. No modelo, você especifica a seguinte ação a ser executada: AWSFISaws:ssm:send-command/ -Run- -Stress. CPU

Para criar um modelo de experimento
  1. Abra as AWS FISconsole em https://console.aws.amazon.com/fis/.

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

  3. Escolha Criar modelo de experimento.

  4. Em Descrição e nome, insira uma descrição e um nome para o modelo.

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

    1. Selecione Adicionar ação.

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

    3. Para Tipo de ação, escolha AWSFISaws:ssm:send-command/ -Run- -Stress. CPU Isso adiciona automaticamente o ARN do SSM documento ao Documento ARN.

    4. Para Target, mantenha o alvo que AWS FIScria para você.

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

      {"DurationSeconds":"120"}
    6. Em Parâmetros de ação, Duração, especifique 5 minutos (PT5M).

    7. Escolha Salvar.

  6. Em Destinos, faça o seguinte:

    1. Escolha Editar para o destino que AWS FIScriado automaticamente para você na etapa anterior.

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

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

    4. Em Método de destino, escolha Recurso eIDs, em seguida, escolha o ID da instância de teste.

    5. Em Modo de seleção, escolha Todos.

    6. Escolha Salvar.

  7. Para Acesso ao Serviço, escolha Usar uma IAM função existente e, em seguida, escolha a IAM função 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 do AWS FIS.

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

  9. (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.

  10. Escolha Criar modelo de experimento.

(Opcional) Para visualizar o modelo do experimento JSON

Escolha a guia Exportar. A seguir está um exemplo do procedimento JSON criado pelo 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

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.

  2. Escolha Start experiment (Iniciar experimento).

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

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

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.

  2. Para ver o estado do experimento, marque Estado no painel Detalhes. Para obter mais informações, consulte Estados do experimento.

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

Etapa 5: verificar os resultados do experimento

Você pode monitorar a CPU utilização da sua instância enquanto o experimento está sendo executado. Quando a CPU utilização 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 o pico CPU de utilização de 100 por cento após um período de baixa atividade em torno de 50 por cento.
  2. Quando a CPU utilização 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 CPU a utilização ao longo do tempo com uma linha limite vermelha de 50 por cento.
  3. Quando CPU a utilização 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

  4. (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

Se você não precisar mais da EC2 instância de teste que criou para esse experimento, poderá encerrá-la.

Para terminar as instâncias
  1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Instances (Instâncias).

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

  4. 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 AWS FISconsole
  1. Abra as AWS FISconsole em https://console.aws.amazon.com/fis/.

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

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

  4. Quando a confirmação for solicitada, insira delete e escolha Excluir modelo de experimento.