Como descobrir o que interrompeu a minha instância do AWS OpsWorks Stacks?

5 minuto de leitura
0

Uma das minhas instâncias do Amazon Elastic Compute Cloud (Amazon EC2) gerenciadas pelo AWS OpsWorks Stacks parou de ser executada. Como verifico o que interrompeu a instância?

Breve descrição

Há duas maneiras de interromper uma instância do OpsWorks Stacks:

Importante: o OpsWorks Stacks não reconhece as operações iniciar, interromper ou reinicializar realizadas no console do Amazon EC2. Para obter mais informações, consulte Manually starting, stopping, and rebooting 24/7 instances.

Para verificar o que interrompeu a instância do OpsWorks Stacks, você pode fazer o seguinte:

Analise o seu AWS CloudTrail para obter chamadas de API StopInstances simultâneas do Amazon EC2 e chamadas de API StopInstance do OpsWorks Stacks

Se as duas chamadas de API forem registradas no mesmo período, a instância será interrompida manualmente no lado do OpsWorks Stacks. Se houver uma chamada de API StopInstances do Amazon EC2 que está apenas registrada, isso indica que a recuperação automática foi aplicada à instância.

Analise os seus logs do agente da instância para saber se o agente do OpsWorks ainda estava enviando o sinal de manutenção de atividade quando a instância foi interrompida

Se sinais de manutenção de atividade bem-sucedidos tiverem sido registrados no momento de interrupção da instância, isso significa que ela foi interrompida manualmente no lado do OpsWorks Stacks. Se os logs de manutenção de atividade estiverem ausentes ou houver tentativas de sinais com falha registradas no momento de interrupção da instância, isso indica que a recuperação automática foi aplicada.

Se a recuperação automática tiver sido aplicada à sua instância, consulte Como impeço que o AWS OpsWorks Stacks reinicie instâncias íntegras de forma inesperada? Se sua instância foi interrompida manualmente, analise a função do AWS Identity and Access Management (IAM) que fez a chamada de API StopInstance. Em seguida, determine quem tem acesso a essa função e descubra o motivo pelo qual essa pessoa interrompeu a instância.

Resolução

Analise os seus logs do CloudTrail da instância para chamadas de API StopInstances do Amazon EC2

1.    Abra o console do CloudTrail.

Importante: certifique-se de que a região da AWS selecionada seja a mesma região onde está a sua instância.

2.    No painel de navegação esquerdo, escolha Event history (Histórico de eventos).

3.    No canto superior esquerdo da página Event history (Histórico de eventos), selecione a lista suspensa de filtros. Em seguida, escolha Resource name (Nome do recurso).

4.    Na caixa de texto de pesquisa à direita da lista suspensa de filtros, insira o seu ID da instância do Amazon EC2. Os resultados de todos os eventos associados à instância serão exibidos.

5.    Na coluna Event name (Nome do evento), procure StopInstances.

6.    Na coluna Event time (Hora do evento) da linha de eventos de StopInstances, observe o carimbo de data/hora da chamada de API. Você referenciará o carimbo de data/hora ao analisar os logs do CloudTrail da instância para chamadas de API StopInstance do OpsWorks Stacks.

7.    Abra o registro do evento escolhendo o nome do evento (StopInstances) na coluna Event name (Nome do evento).

8.    No painel Event record (Registro de eventos), procure o valor “InvokedBy”. Se a instância foi interrompida no lado do OpsWorks Stacks (manualmente ou por meio de recuperação automática), a resposta da API StopInstances do Amazon EC2 exibirá a seguinte saída:

"invokedBy": "opsworks.amazonaws.com"

Observação: não haverá nenhum indicador no Event record (Registro de eventos) se a recuperação automática tiver sido aplicada à instância ou não.

Analise os seus logs do CloudTrail da instância para chamadas de API StopInstance do OpsWorks Stacks

1.    Abra o console do CloudTrail.

Importante: verifique se a região da AWS selecionada é a mesma em que o seu endpoint da API do OpsWorks Stacks está localizada.

2.    No painel de navegação esquerdo, escolha Event history (Histórico de eventos).

3.    No canto superior esquerdo da página Event history (Histórico de eventos), selecione a lista suspensa de filtros. Em seguida, escolha Resource name (Nome do recurso).

4.    Na caixa de texto de pesquisa à direita da lista suspensa de filtros, insira o ID da instância do OpsWorks Stacks. Os resultados de todos os eventos associados à instância serão exibidos.

5.    Na coluna Event name (Nome do evento), procure StopInstance.

6.    Na coluna Event time (Hora do evento) da linha do evento de StopInstance, verifique se o carimbo de data/hora do evento é igual ao do evento de StopInstances do Amazon EC2 ou não.

Se a chamada de API StopInstance for registrada ao mesmo tempo que a chamada de API StopInstances, isso significa que a instância foi interrompida manualmente no lado do OpsWorks Stacks.

Se nenhuma chamada de API StopInstance for registrada ao mesmo tempo que a chamada de API StopInstances, isso significa que a recuperação automática foi aplicada à instância.

(Opcional) analise os logs do agente da instância para ver se o agente do OpsWorks ainda estava enviando o sinal de manutenção de atividade quando a instância foi interrompida

Conecte-se à sua instância do Linux usando SSH (Secure Shell) ou à sua instância do Windows usando o protocolo RDP do Windows. Em seguida, verifique o arquivo de log opsworks-agent.keep_alive.log no log do agente do OpsWorks da instância.

Se sinais de manutenção de atividade bem-sucedidos tiverem sido registrados no momento de interrupção da instância, isso significa que ela foi interrompida manualmente no lado do OpsWorks Stacks. Se os logs de manutenção de atividade estiverem ausentes ou houver tentativas de sinais com falha registradas no momento de interrupção da instância, isso indica que a recuperação automática foi aplicada.

Informações relacionadas

How to set up AWS OpsWorks Stacks autohealing notifications in Amazon CloudWatch Events

Como impeço que o AWS OpsWorks Stacks reinicie instâncias íntegras de forma inesperada?

Como soluciono as mensagens de “Internal Error” ao interromper uma instância do AWS OpsWorks Stacks que está no estado “stop_failed”?


AWS OFICIAL
AWS OFICIALAtualizada há 3 anos