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
Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/
. -
No painel de navegação, escolha Instances (Instâncias).
-
Selecione a instância de destino e escolha Ações, Monitorar e solucionar problemas, Gerenciar CloudWatch alarmes.
-
Para notificação de alarme, use o botão para desativar as notificações da AmazonSNS.
-
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
-
-
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
Abra as AWS FISconsole em https://console.aws.amazon.com/fis/
. -
No painel de navegação, selecione Modelos de experimento.
-
Escolha Criar modelo de experimento.
-
Em Descrição e nome, insira uma descrição e um nome para o modelo.
-
Em Ações, faça o seguinte:
-
Selecione Adicionar ação.
-
Insira um nome para a ação. Por exemplo, digite
runCpuStress
. -
Para Tipo de ação, escolha AWSFISaws:ssm:send-command/ -Run- -Stress. CPU Isso adiciona automaticamente o ARN do SSM documento ao Documento ARN.
-
Para Target, mantenha o alvo que AWS FIScria para você.
-
Em Parâmetros de ação, Parâmetros do documento, insira o seguinte:
{"DurationSeconds":"120"}
-
Em Parâmetros de ação, Duração, especifique 5 minutos (PT5M).
-
Escolha Salvar.
-
-
Em Destinos, faça o seguinte:
-
Escolha Editar para o destino que AWS FIScriado automaticamente para você na etapa anterior.
-
Substitua o nome padrão por um nome mais descritivo. Por exemplo, digite
testInstance
. -
Verifique se o Tipo de recurso é aws:ec2:instance.
-
Em Método de destino, escolha Recurso eIDs, em seguida, escolha o ID da instância de teste.
-
Em Modo de seleção, escolha Todos.
-
Escolha Salvar.
-
-
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.
-
Em Condições de parada, selecione o CloudWatch alarme que você criou na Etapa 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.
-
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
-
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.
-
Escolha Start experiment (Iniciar experimento).
-
(Opcional) Para adicionar uma tag ao experimento, escolha Adicionar nova tag e insira uma chave de tag e um valor de tag.
-
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
-
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.
-
Para ver o estado do experimento, marque Estado no painel Detalhes. Para obter mais informações, consulte Estados do experimento.
-
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
-
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. -
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”. -
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
-
(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
-
Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/
. -
No painel de navegação, escolha Instances (Instâncias).
-
Selecione as instâncias de teste e escolha Estado da instância e Encerrar instância.
-
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
Abra as AWS FISconsole em https://console.aws.amazon.com/fis/
. -
No painel de navegação, selecione Modelos de experimento.
-
Selecione o modelo do experimento e escolha Ações, Excluir modelo de experimento.
-
Quando a confirmação for solicitada, insira
delete
e escolha Excluir modelo de experimento.