Geralmente isso é causado por um problema específico da configuração interna da instância. O processo de recuperação depois que uma instância não responde mais depende do tipo de instância que você executa (baseada no EBS vs. baseada em armazenamento de instância).

Primeiro reveja a saída do console de sua instância para tentar determinar porque a reinicialização afeta a instância. A informação na saída do console pode lhe fornecer, às vezes, detalhes suficientes para entender porque sua instância falhou.

A partir do AWS Management Console:

  1. Selecione a instância.
  2. No menu Ações da instância, selecione Visualizar o log do sistema.

A partir das ferramentas de API do Amazon EC2:

  1. Execute o comando ec2-get-console-output.

Caso não esteja habilitado para determinar o que aconteceu ao analisar a saída do console, leia sobre os dois tipos de instâncias abaixo.


Instâncias baseadas em armazenamento de instâncias

Recuperação de instância

De modo geral, quando uma instância executada por meio de uma AMI usando um dispositivo-raiz baseado em armazenamento de instância não pode ser inicializada, você não tem outras opções além de iniciar uma instância de substituição. É sempre uma boa ideia criar backups de suas configurações de instância de trabalho, construindo uma AMI personalizada depois de qualquer modificação. Se está executando uma instância a partir de uma AMI que descarrega scripts durante o processo de inicialização, você deve precisar modificar os scripts para corrigir quaisquer erros que tenha observado na saída do console.

Recuperação de dados

A recuperação de dados de um armazenamento de instâncias em geral não é possível, embora o AWS Support seja capaz de recuperar parte dos dados caso a instância não tenha sido concluída e não exista nenhum problema de hardware subjacente. A recuperação de dados não é entretanto um processo garantido e pode levar dias para ser finalizado. Portanto, não confie na possibilidade de recuperação de dados via AWS Support como sua estratégia única de backup.


Instâncias baseadas no EBS

Antes de tentar recuperar uma instância baseada no EBS, é necessário saber se você está usando o armazenamento de instânciapré-anexado (também conhecido como armazenamento efêmero) que está disponível para instâncias baseadas no EBS. Esta informação é importante para observar porque os dados nesse armazenamento de instância pré-anexado serão perdidos se as ações descritas anteriormente nesta página forem realizadas. Se estiver usando o armazenamento de instância, veja a seção acima para mais detalhes sobre a recuperação de dados armazenados em um armazenamento de instância pré-anexado.

Recuperação de instância

Se seu dispositivo raiz da instância é um volume baseado no EBS, tente parar e reiniciar a instância; isto, em geral, resolve o problema. Para mais informações, consulte Parar e iniciar instâncias.

Às vezes, é possível corrigir erros manualmente no volume raiz de uma instância baseada no EBS que não está sendo inicializada corretamente. Corrigir erros manualmente pode ser um processo complexo e não é recomendado, a menos que você tenha experiência com administração de sistemas. Alguns exemplos de soluções que vêm sendo usadas por clientes depois de analisar a saída do console de uma instância com falha inclui executar o fsck no volume, desabilitar o SELinux ou corrigir um erro no arquivo fstab.

Para parar e reiniciar sua instância:

  1. Pare a instância que está com falha para iniciar corretamente (não feche nem finalize).
  2. Separe o volume de EBS raiz.
  3. Anexe o volume a uma instância existente na mesma zona de disponibilidade, certificando-se de usar um ponto de montagem secundário (não raiz).
  4. Corrija a configuração no volume raiz antigo.
  5. Separe o volume e o anexe novamente à instância original no seu ponto de montagem original.
  6. Inicie a instância.
  7. Anexe novamente um endereço de Elastic IP caso necessário.

Reative a E/S

Em alguns casos, seu volume de EBS pode ter acesso de E/S desativado como uma proteção. Nesse caso:

  1. Acesse seus volumes de EBS no console de gerenciamento. Se o E/S no volume tiver sido desativado, a coluna "Status Checks" na lista Volume será relacionada como "Impaired".
  2. Você pode usar o console para reativar E/S clicando em "Enable Volume IO" na seção de detalhes de volume.
  3. Recomendamos que você verifique a consistência de seus dados usando uma ferramenta, como fsck ou chkdsk.
  4. Se sua instância não responder, dependendo de seu sistema operacional, retomar o E/S poderá retomar o funcionamento da instância.

Recuperação de dados

Se sua instância for baseada no EBS e não estiver funcionando devido a um problema relativo à sua configuração interna (frequentemente estão disponíveis detalhes na saída do console) e uma reinicialização padrão não tiver ocorrido, os seguintes passos podem ser seguidos para recuperar os dados:

  1. Pare a instância que está com falha para iniciar corretamente (não feche nem finalize).
  2. Separe o volume de EBS raiz.
  3. Anexe o volume a uma nova instância de substituição (iniciada de preferência a partir de uma AMI empacotada previamente) na mesma zona de disponibilidade, certificando-se de usar um ponto de montagem secundário (não raiz).
  4. Copie os dados do volume para a instância de substituição.

Recursos adicionais

Há uma série de recursos disponíveis para os clientes que estão interessados em melhorar sua arquitetura, entender as melhores práticas e preparar-se para problemas.

  1. Mais informações sobre como arquitetar falhas de instâncias podem ser encontradas no whitepaper Designing Fault-Tolerant Applications in the AWS Cloud.
  2. Sempre é uma boa ideia certificar-se de que você está criando backups para as configurações de instância de trabalho ao empacotar uma AMI personalizada.
  3. O Amazon EC2 User Guide inclui um PDF sobre conceitos de aplicativos resistentes a falhas.

Instâncias geralmente ficam estagnadas no estado "parado" quando há um problema com o host subjacente. Talvez você seja capaz de contornar a situação forçando a parada de sua instância. Isso pode ser feito por meio das ferramentas da linha de comando do EC2 ou do AWS Management Console.

Ferramentas da linha de comando

ec2-stop-instances [seu ID aqui] --force

Console de Gerenciamento da AWS

Clique com o botão direito do mouse na sua instância e selecione "Parar" no menu suspenso (você verá um aviso de que uma parada forçada será realizada).

Observação: nesse caso, talvez precise acionar a solicitação de parada duas vezes.

Se não for possível executar uma parada forçada em sua instância, você pode conseguir executar uma instância em seu lugar; veja solução de problemas ao parar instância. Se isto não funcionar, nos informe através dos Fóruns da AWS ou abrindo um caso do AWS Support. Para ajudar a agilizar a resolução de seu problema, inclua qualquer passo que já tenha seguido quando falar com o suporte.

Instâncias no estado "suspenso" por mais tempo que o normal serão eventualmente removidas por processos automatizados no serviço do Amazon EC2. Os clientes não serão cobrados por horas de instância em que uma instância não estiver no estado "em execução".

Caso não seja possível esperar pelo término de sua instância, avise-nos por meio dos Fóruns da AWS ou abrindo um caso no AWS Support. Para ajudar a agilizar a resolução de seu problema, certifique-se de incluir qualquer passo que já tenha seguido quando contatar o suporte.