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

8 minuto de leitura
0

Não consigo iniciar uma nova instância do Amazon Elastic Compute Cloud (Amazon EC2) nem iniciar minha instância existente.

Resolução

Há vários motivos pelos quais você pode não conseguir executar ou iniciar sua instância do EC2. Se você não receber um código de erro ao tentar iniciar a instância, faça o seguinte:

1.    Verifique o evento StartInstances no AWS CloudTrail.

-ou-

Execute o comando describe-instances da AWS Command Line Interface (AWS CLI) e especifique o ID da instância para ver o motivo do problema. No exemplo a seguir, substitua MYINSTANCE pelo ID da instância que você está tentando iniciar.

aws ec2 describe-instances --instance-id MYINSTANCE --output json

Verifique a mensagem StateReason na resposta JSON que o comando retorna. No exemplo a seguir, a mensagem StateReason retornada é Client.InternalError:

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

Observação: se você receber erros ao executar os comandos da AWS CLI, utilize a versão mais recente da AWS CLI.

2.    Analise os seguintes erros comuns para resolver o problema.

InsufficientInstanceCapacity

O erro a seguir ocorre ao iniciar uma instância nova instância ou ao reiniciar uma instância interrompida e não houver capacidade sob demanda disponível suficiente para atender à sua solicitação:

An error occurred (InsufficientInstanceCapacity) when calling the StartInstances operation (reached max retries: 4): Insufficient capacity.)

Esse erro ocorre se não houver capacidade sob demanda suficiente para concluir sua solicitação.

Para obter informações sobre como resolver esse erro, consulte Como solucionar erros InsufficientInstanceCapacity ao iniciar ou executar uma instância do EC2?

InstanceLimitExceeded

O erro a seguir ocorre quando você executa mais do que o máximo permitido de instâncias em uma região da AWS:

InstanceLimitExceeded: Your quota allows for 0 more running instance(s).

Se você receber essa mensagem, envie uma solicitação de aumento de cota para o AWS Support. Em sua solicitação, certifique-se de incluir o tipo de instância que você está tentando lançar e a região da AWS em que você está lançando.

Para obter informações sobre como resolver esse erro, consulte Como solucionar erros InstanceLimitExceeded ao iniciar ou executar uma instância do EC2?

UnauthorizedOperation

O erro UnauthorizedOperation indica que o usuário que está tentando iniciar a instância não tem as permissões necessárias. Para resolver esse erro, consulte Como decodificar uma mensagem de falha de autorização após receber um erro “UnauthorizedOperation” durante a execução de uma instância do EC2?

No momento, a configuração solicitada não é suportada

Um dos dois problemas a seguir causa esse erro:

1.    O tipo de instância especificado não é suportado na zona de disponibilidade solicitada. Para verificar a disponibilidade dos tipos de instância em zonas de disponibilidade específicas, execute o comando aws ec2 describe-instance-type-offerings na AWS CLI. Em seguida, inicie a instância em uma zona de disponibilidade compatível.

Por exemplo, use o comando a seguir para verificar a disponibilidade do tipo de instância c5.2xlarge em todas as zonas de disponibilidade em us-east-1:

aws ec2 describe-instance-type-offerings --location-type availability-zone --filters Name=instance-type,Values=c5.2xlarge --region us-east-1

2.    A imagem de máquina da Amazon (AMI) usada para iniciar a instância não é compatível com o tipo de instância selecionado. Antes de selecionar o tipo ou a família da instância, consulte as descrições da AMI no AWS Marketplace. Esse problema geralmente ocorre quando você usa AMIs do AWS Marketplace e tenta iniciar instâncias não suportadas usando a AWS CLI. Quando você executa instâncias a partir do console do Amazon EC2, as instâncias incompatíveis ficam indisponíveis.

Client.InternalError

Confira a seguir os motivos comuns pelos quais você pode receber esse erro:

  • Um volume do Amazon Elastic Block Store (Amazon EBS) não está anexado corretamente à instância.
  • Um volume do EBS anexado à instância está em estado de ERRO.
  • Um volume do EBS criptografado está anexado à instância. No entanto, você não tem permissão para acessar o AWS Key Management Services (AWS KMS) para decodificação.

Para informações sobre como resolver esses problemas, consulte Como solucionar problemas de uma instância do Amazon EC2 que é interrompida ou encerrada quando tento iniciá-la?

Erros de disco cheio

Quando você fica sem espaço em uma instância e o serviço de auditoria interrompe a máquina assim que ela é inicializada, ocorre um erro de disco cheio.

Observação: antes de continuar, é uma prática recomendada criar um snapshot para fazer backup dos dados dos seus volumes.

Importante: essas etapas de resolução exigem que você inicie e interrompa a instância. Esteja ciente do seguinte:

  • quando a instância é interrompida, você perde os dados nos volumes de armazenamento da instância. Para mais informações, consulte Determinar o tipo de dispositivo raiz da sua instância.
  • Se interromper uma instância que faz parte de um grupo do Amazon EC2 Auto Scaling, você poderá encerrar a instância. As instâncias executadas com o Amazon EMR, o AWS CloudFormation ou o AWS Elastic Beanstalk podem fazer parte de um grupo do AWS Auto Scaling. O encerramento da instância nesse cenário depende das configurações de proteção de redução de escala da instância para seu grupo do Auto Scaling. Se sua instância fizer parte de um grupo do Auto Scaling, remova-a temporariamente do grupo do Auto Scaling antes de continuar.
  • Interromper e iniciar sua instância altera o endereço IP público da instância. É uma prática recomendada usar um Endereço IP elástico em vez de um endereço IP público ao rotear tráfego externo para sua instância.

Para resolver erros de disco cheio, faça o seguinte:

1.    Abra o console do Amazon EC2.

2.    Escolha Instâncias no painel de navegação e, em seguida, selecione a instância.

3.    Interrompa a instância.

4.    Separe o volume raiz do EBS (/dev/xvda para Linux) da instância interrompida.

5.    Inicie uma nova instância do EC2 na mesma zona de disponibilidade da instância danificada. A nova instância se torna sua instância de resgate.

6.    Anexe o volume raiz que você desanexou na etapa 4 à instância de resgate como um dispositivo secundário.

Observação: ao anexar volumes secundários, você pode usar nomes de dispositivos diferentes.

7.    Conecte-se à sua instância de resgate usando SSH.

8.    Crie um diretório de ponto de montagem para o novo volume anexado à instância de resgate na etapa 6. No exemplo a seguir, o diretório do ponto de montagem é /mnt/rescue.

Observação: os seguintes comandos $ sudo se aplicam somente a ambientes Linux:

$ sudo mkdir /mnt/rescue

9.    Monte o volume no diretório que você criou na etapa 8:

$ sudo mount /dev/xvdf /mnt/rescue

Observação: o dispositivo (/dev/xvdf, neste exemplo) pode ter um nome de dispositivo diferente para a instância de resgate à qual está anexado. Para determinar os nomes corretos dos dispositivos, use o comando lsblk para visualizar seus dispositivos de disco disponíveis junto com seus pontos de montagem.

10.    Aumente o tamanho do volume raiz.

11.    Estenda a partição.

12.    Execute o comando umount para desmontar o volume:

$ sudo umount /mnt/rescue

13.    Separe o volume da instância temporária.

14.    Anexe o volume à instância original com o nome do dispositivo (/dev/xvda para Linux) e, em seguida, inicie a instância para confirmar a inicialização.

15.    Analise a configuração do serviço de auditoria para garantir que ele não tenha a opção de parar (desligar) a máquina se ela ficar sem espaço. Para Amazon Linux e Amazon Linux 2, certifique-se de que a configuração do serviço de auditoria inclua as seguintes opções em /etc/audit/auditd.conf:

max_log_file_action = ROTATE
admin_space_left_action = SUSPEND
disk_full_action = SUSPEND
disk_error_action = SUSPEND

Client.InvalidParameterValue

InvalidParameterValue significa que um parâmetro especificado na solicitação não é válido, não é suportado ou não pode ser usado. A mensagem retornada fornece uma explicação do valor do erro. Por exemplo, se um volume raiz não estiver vinculado à instância em /dev/sda1 ou /dev/xvda, dependendo da AMI, a instância não iniciará. Quando isso ocorre, você vê uma entrada no AWS CloudTrail semelhante à seguinte:

An error occurred (InvalidParameterValue) when calling the StartInstances operation: Invalid value 'i-xxxxxxxxxxxxxxxxx' for instanceId. Instance does not have a volume attached at root (/dev/sda1)

Para resolver isso, use a mensagem de erro como referência para alterar o parâmetro relevante. Por exemplo, para resolver o erro do exemplo anterior, anexe o volume raiz à instância em /dev/sda1 e inicie a instância. Para obter mais informações, consulte Códigos de erro da API do Amazon EC2 .

Informações relacionadas

Solucionar problemas de inicialização de instâncias - Linux

Solucionar problemas de inicialização de instâncias - Windows

Guia de melhores práticas do Amazon ECS

AWS OFICIAL
AWS OFICIALAtualizada há um ano