Por que não consigo iniciar ou executar minha instância do EC2?
Não consigo executar uma nova instância do Amazon Elastic Compute Cloud (Amazon EC2) nem iniciar uma instância existente.
Resolução
Há vários motivos pelos quais você pode não conseguir executar ou iniciar uma instância do EC2. Se você não receber um código de erro ao tentar iniciar a instância, faça o seguinte:
- 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.
Verifique a mensagem StateReason na resposta JSON retornada pelo comando. No exemplo de resposta a seguir, a mensagem StateReason retornada é Client.InternalError:aws ec2 describe-instances --instance-id MYINSTANCE --output json
Observação: se você receber erros ao executar comandos da AWS CLI, consulte Solucionar erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI."StateReason": { "Message": "Client.InternalError: Client error on launch", "Code": "Client.InternalError" },
- Analise os seguintes erros comuns para resolver o problema.
InsufficientInstanceCapacity
O seguinte erro ocorre ao executar uma instância nova ou ao reiniciar uma instância interrompida sem que haja 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 soluciono problemas com 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 executar e a região da AWS em que você está realizando a execução.
Para obter informações sobre como resolver esse erro, consulte Como solucionar os erros InstanceLimitExceeded ao iniciar ou executar uma instância do EC2?
UnauthorizedOperation
O erro UnauthorizedOperation ocorre quando o usuário que está tentando executar a instância não tem as permissões necessárias. Para resolver esse erro, consulte Como posso decodificar uma mensagem de falha de autorização depois de receber um erro de “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:
-
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, execute 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
-
A imagem de máquina da Amazon (AMI) usada para executar 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 executar 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 obter informações sobre como resolver esses problemas, consulte Como soluciono problemas de uma instância do Amazon EC2 que é interrompida ou encerrada quando tento iniciá-la com o erro “InternalError” ou “client.userInitiatedShutdown”?
Erros de disco cheio
Quando você fica sem espaço em uma instância e o serviço de auditoria interrompe a máquina quando 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 dos volumes de armazenamento de instância. Para obter mais informações, consulte Determinar o tipo de dispositivo raiz da 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 instância na redução de escala 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. Ao rotear tráfego externo para sua instância, é uma prática recomendada usar um endereço IP elástico em vez de um endereço IP público.
Para resolver erros de disco cheio, faça o seguinte:
-
Abra o console do Amazon EC2.
-
Escolha Instâncias no painel de navegação e, em seguida, selecione a instância.
-
Separe o volume raiz do EBS (/dev/xvda para Linux) da instância interrompida.
-
Execute 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.
-
Anexe o volume raiz que você separou 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. -
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
-
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.
-
Execute o comando umount para desmontar o volume:
$ sudo umount /mnt/rescue
- Separe o volume da instância temporária.
- Anexe o volume à instância original com o nome do dispositivo (/dev/xvda para Linux) e, em seguida, inicie a instância para confirmar o êxito em sua inicialização .
- 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, caso fique sem espaço. Para Amazon Linux, Amazon Linux 2 e Amazon Linux 2023, 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 Error codes for the Amazon EC2 API.
Informações relacionadas
Solucionar problemas de execução de instâncias - Linux
Solucionar problemas de execução de instâncias - Windows
Guia de melhores práticas do Amazon Elastic Container Service (Amazon ECS)
Vídeos relacionados
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 3 anos
- AWS OFICIALAtualizada há 3 anos
- AWS OFICIALAtualizada há um ano