Como solucionar problemas de uma instância do Amazon EC2 que é interrompida ou encerrada quando tento iniciá-la?

5 minuto de leitura
0

Quando tento iniciar minha instância do Amazon Elastic Compute Cloud (Amazon EC2), ela encerra ou não inicia.

Breve descrição

Os motivos a seguir são as causas mais comuns de uma mensagem InternalError da instância do Amazon EC2:

  • Seu volume do Amazon Elastic Block Store (Amazon EBS) não está anexado à instância corretamente.
  • Um volume do EBS anexado à instância está em estado de erro.
  • Um volume do EBS criptografado está anexado à instância.

Se sua instância não iniciar e nenhum código de erro aparecer, execute o comando describe-instances na AWS Command Line Interface (AWS CLI). Em seguida, especifique o ID da instância. Verifique a mensagem StateReason que o comando retorna na resposta JSON.

Observação: insira todos os comandos na AWS CLI. Se você receber erros ao executar comandos da AWS CLI, verifique se você está usando a versão mais recente da AWS CLI.

Resolução

Os volumes do EBS não estão anexados à instância corretamente

Você deve anexar o volume raiz do EBS à instância como /dev/sda1 ou /dev/xvda, dependendo de qual deles está definido na API. Não é possível ter um segundo volume do EBS com um nome de dispositivo duplicado ou conflitante. Caso contrário, você não poderá interromper ou iniciar a instância. Os conflitos de nomes de dispositivos de blocos afetam somente os tipos de instância baseados em Xen (c4, m4, t2 e assim por diante). Conflitos de nomes de dispositivos de blocos não afetam as instâncias baseadas em Nitro (c5, m5, t3 e assim por diante).

1.    Execute a API describe-instances para verificar a mensagem de erro StateReason e o código de erro:

$ aws ec2 describe-instances --instance-id i-xxxxxxxxxxxxxxx --region us-east-1 --query "Reservations[].Instances[].{StateReason:StateReason}" --output json

Observação: substitua us-east-1 pela sua região da AWS. Substitua i-xxxxxxxxxxxxxxx pelo ID da instância.

Se houver um conflito de nome de dispositivo, você verá uma saída semelhante à seguinte mensagem:

[
    [{
        "StateReason": {
            "Code": "Server.InternalError",
            "Message": "Server.InternalError: Internal error on launch"
        }
    }]
]

2.    Abra o console do Amazon EC2 e selecione a instância que você não consegue iniciar.

3.    Na guia Descrição, verifique o nome do dispositivo listado em Dispositivos de blocos. O campo Dispositivos de blocos exibe todos os nomes de dispositivos dos volumes anexados.

4.    Verifique se o dispositivo raiz está anexado corretamente e se não há nenhum dispositivo listado com o mesmo nome ou com um nome conflitante.

5.    Se houver um dispositivo com um nome de dispositivo duplicado ou conflitante, desanexe o volume conflitante e renomeie-o. Em seguida, reanexe o volume com o nome do dispositivo atualizado.

Um volume do EBS anexado está em um estado de erro

1.    Execute a API describe-instances para verificar a mensagem de erro StateReason e o código de erro:

$ aws ec2 describe-instances --instance-id i-xxxxxxxxxxxxxxx --region us-east-1 --query "Reservations[].Instances[].{StateReason:StateReason}" --output json

Observação: substitua us-east-1 pela sua região da AWS. Substitua i-xxxxxxxxxxxxxxx pelo ID da instância.

Se houver um volume do EBS anexado que esteja em estado de erro, você verá uma saída semelhante à seguinte mensagem:

[
    [{
        "StateReason": {
            "Code": "Server.InternalError",
            "Message": "Server.InternalError: Internal error on launch"
        }
    }]
]

2.    Abra o console do Amazon EC2, escolha Volumes e verifique se o status do volume é erro. Suas opções variam dependendo se o volume em estado de erro é um volume raiz ou um volume secundário.

Se o volume que está em estado de erro for um volume secundário, desanexe o volume. Agora você pode iniciar a instância.

Se o volume que está em estado de erro for um volume raiz e você tiver um snapshot do volume, conclua as seguintes etapas:

Desanexe o volume.

Crie um novo volume a partir do snapshot.

Anexe o novo volume à instância usando o nome do dispositivo da instância original. Inicie a instância.

Observação: se você não tiver um snapshot existente do volume raiz que esteja em estado de erro, não poderá reiniciar a instância. Você deve iniciar uma nova instância, instalar os aplicativos relevantes e, em seguida, configurá-la para substituir a instância antiga.

Os volumes anexados são criptografados e há permissões ou políticas incorretas do AWS Identity and Access Management (IAM)

1.    Execute a API describe-instances para verificar a mensagem de erro StateReason e o código de erro:

$ aws ec2 describe-instances --instance-id i-xxxxxxxxxxxxxxx --region us-east-1 --query "Reservations[].Instances[].{StateReason:StateReason}" --output json

Observação: substitua us-east-1 pela sua região da AWS. Substitua i-xxxxxxxxxxxxxxx pelo ID da instância.

Se houver um volume criptografado anexado à instância e houver problemas de permissões ou políticas, você receberá um erro de cliente. Isso retorna uma saída semelhante à seguinte mensagem:

[
    [{
        "StateReason": {
            "Code": "Client.InternalError",
            "Message": "Client.InternalError: Client error on launch"
        }
    }]
]

2.    Verifique se o usuário que está tentando iniciar a instância tem as permissões do IAM corretas. Se você executou a instância indiretamente por meio de outro serviço, como o EC2 Auto Scaling, verifique também as seguintes configurações:

Observação: para verificar se um volume está criptografado, abra o console do Amazon EC2 e selecione Volumes. Os volumes criptografados têm a opção Encrypted (Criptografados) listada na coluna Encryption (Criptografia).


Informações relacionadas

Quando inicio minha instância com volumes criptografados anexados, a instância é interrompida imediatamente com o erro “erro do cliente na execução”

Por que não consigo iniciar ou executar minha instância do EC2?

Principais políticas no AWS KMS

Solução de problemas de execução da instância: a instância é encerrada imediatamente

AWS OFICIAL
AWS OFICIALAtualizada há um ano