Tutorial: testar início e interrupção da instância usando o 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: testar início e interrupção da instância usando o AWS FIS

Você pode usar o AWS Fault Injection Service (AWS FIS) para testar como seus aplicativos lidam com o início e a interrupção da instância. Use este tutorial para criar um modelo de experimento que usa a ação aws:ec2:stop-instances do AWS FIS para interromper uma instância e depois uma segunda instância.

Pré-requisitos

Para concluir este tutorial, certifique-se de fazer o seguinte:

  • Inicie duas instâncias do EC2 de teste em sua conta. Depois de executar as instâncias, observe os IDs das duas instâncias.

  • Crie uma função do IAM que permita que o serviço AWS FIS realize a ação aws:ec2:stop-instances em seu nome. Para ter mais informações, consulte Funções do IAM para experimentos do AWS FIS.

  • Verifique se você tem acesso ao AWS FIS. Para obter mais informações, consulte Exemplos de políticas do AWS FIS.

Etapa 1: criar um modelo de experimento

Criar o modelo de experimento usando o console do AWS FIS. No modelo, você especifica duas ações que serão executadas sequencialmente por três minutos cada. A primeira ação interrompe uma das instâncias de teste, que o AWS FIS escolhe aleatoriamente. A segunda ação interrompe as duas instâncias de teste.

Para criar um modelo de experimento
  1. Abra o console do AWS FIS 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 stopOneInstance.

    3. Em Tipo de ação, escolha aws:ec2:stop-instances.

    4. Em Destino, mantenha o destino que o AWS FIS cria para você.

    5. Em Parâmetros de ação, Iniciar instâncias após a duração, especifique 3 minutos (PT3M).

    6. Escolha Salvar.

  6. Em Destinos, faça o seguinte:

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

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

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

    4. Em Método de destino, escolha IDs de recursos e, em seguida, escolha os IDs das duas instâncias de teste.

    5. Em Modo de seleção, escolha Contagem. Em Número de recursos, insira 1.

    6. Escolha Salvar.

  7. Selecione Adicionar destino e faça o seguinte:

    1. Insira um nome para o destino. Por exemplo, digite bothInstances.

    2. Em Tipo de recurso, escolha aws:ec2:instance.

    3. Em Método de destino, escolha IDs de recursos e, em seguida, escolha os IDs das duas instâncias de teste.

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

    5. Escolha Salvar.

  8. Na seção Ações, escolha Adicionar ação. Faça o seguinte:

    1. Em Nome, insira um nome para a ação. Por exemplo, digite stopBothInstances.

    2. Em Tipo de ação, escolha aws:ec2:stop-instances.

    3. Em Começar depois, escolha a primeira ação que você adicionou (stopOneInstance).

    4. Em Destino, escolha o segundo destino que você adicionou (bothInstances).

    5. Em Parâmetros de ação, Iniciar instâncias após a duração, especifique 3 minutos (PT3M).

    6. Escolha Salvar.

  9. Em Acesso ao serviço, escolha Usar uma função do IAM existente e, em seguida, escolha a função 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 ter mais informações, consulte Funções do IAM para experimentos do AWS FIS.

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

  11. Escolha Criar modelo de experimento. Quando a confirmação for solicitada, insira create e 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 instance stop and start", "targets": { "bothInstances": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:region:123456789012:instance/instance_id_1", "arn:aws:ec2:region:123456789012:instance/instance_id_2" ], "selectionMode": "ALL" }, "oneRandomInstance": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:region:123456789012:instance/instance_id_1", "arn:aws:ec2:region:123456789012:instance/instance_id_2" ], "selectionMode": "COUNT(1)" } }, "actions": { "stopBothInstances": { "actionId": "aws:ec2:stop-instances", "parameters": { "startInstancesAfterDuration": "PT3M" }, "targets": { "Instances": "bothInstances" }, "startAfter": [ "stopOneInstance" ] }, "stopOneInstance": { "actionId": "aws:ec2:stop-instances", "parameters": { "startInstancesAfterDuration": "PT3M" }, "targets": { "Instances": "oneRandomInstance" } } }, "stopConditions": [ { "source": "none" } ], "roleArn": "arn:aws:iam::123456789012:role/AllowFISEC2Actions", "tags": {} }

Etapa 2: 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 e escolha Iniciar experimento.

Etapa 3: 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 experimento para abrir a página de detalhes.

  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 4: verificar o resultado do experimento

Você pode verificar se as instâncias foram interrompidas e iniciadas pelo experimento conforme o esperado.

Para verificar o resultado do experimento
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/ em uma nova guia ou janela do navegador. Isso permite que você continue acompanhando o progresso do experimento no console do AWS FIS enquanto visualiza o resultado do experimento no console do Amazon EC2.

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

  3. Quando o estado da primeira ação muda de Pendente para Em execução (console do AWS FIS), o estado de uma das instâncias de destino muda de Em execução para Interrompido (console do Amazon EC2).

  4. Depois de três minutos, o estado da primeira ação muda para Concluído, o estado da segunda ação muda para Em execução e o estado da outra instância de destino muda para Interrompido.

  5. Depois de três minutos, o estado da segunda ação muda para Concluído, o estado das instâncias de destino muda para Em execução e o estado do experimento muda para Concluído.

Etapa 5: limpar

Se você não precisar mais das instâncias de teste do EC2 que criou para este experimento, pode encerrá-las.

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

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

  3. Selecione ambas as instâncias de teste e escolha Instance state (Estado da instância) e Terminate instance (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 console do AWS FIS
  1. Abra o console do AWS FIS 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.