Solucionar problemas de inicialização de instâncias do Amazon EC2
Veja a seguir dicas para ajudar na solução de problemas de inicialização de instâncias do Amazon EC2.
Problemas de execução
- Nome de dispositivo inválido
- Limite de instâncias excedido
- Capacidade insuficiente da instância
- A configuração solicitada não é suportada atualmente. Verifique a documentação quanto às configurações compatíveis.
- A instância é encerrada imediatamente
- Permissões insuficientes
- Alto uso da CPU logo após a inicialização do Windows (somente para instâncias do Windows)
Nome de dispositivo inválido
Descrição
Você obtém o erro Invalid device name
ao tentar iniciar uma nova instância.device_name
Causa
Se você receber esse erro ao tentar executar uma instância, o nome do dispositivo especificado para um ou mais volumes da solicitação terá um nome de dispositivo inválido. As possíveis causas incluem:
-
O nome do dispositivo pode estar em uso pela AMI selecionada.
-
O nome do dispositivo pode estar reservado para volumes raiz.
-
O nome do dispositivo pode estar sendo usado para outro volume da solicitação.
-
O nome do dispositivo pode não ser válido para o sistema operacional.
Solução
Como resolver o problema:
-
Verifique se o nome do dispositivo não está sendo usado na AMI que você selecionou. Execute o comando a seguir para visualizar os nomes de dispositivo usados pela AMI.
aws ec2 describe-images --image-id
ami_id
--query 'Images[*].BlockDeviceMappings[].DeviceName' -
Verifique se não está usando um nome de dispositivo reservado para volumes raiz. Para ter mais informações, consulte Nomes de dispositivos disponíveis.
-
Verifique se cada volume especificado em sua solicitação tem um nome de dispositivo exclusivo.
-
Verifique se os nomes de dispositivo especificados estão no formato correto. Para ter mais informações, consulte Nomes de dispositivos disponíveis.
Limite de instâncias excedido
Descrição
Você obtém o erro InstanceLimitExceeded
ao tentar executar uma nova instância ou reiniciar uma instância interrompida.
Causa
Se obtiver um erro InstanceLimitExceeded
ao tentar executar uma nova instância ou reiniciar uma instância interrompida, isso significa que atingiu o limite do número de instâncias que você pode executar em uma região. Ao criar uma conta da AWS, definimos limites padrão para o número de instâncias que você pode executar por região.
Solução
Você pode solicitar um aumento de limite de instâncias por região. Para obter mais informações, consulte Service Quotas do Amazon EC2.
Capacidade insuficiente da instância
Descrição
Você obtém o erro InsufficientInstanceCapacity
ao tentar executar uma nova instância ou reiniciar uma instância interrompida.
Causa
Se você receber esse erro ao tentar executar uma instância ou reiniciar uma instância interrompida, isso significa que, no momento, a AWS não tem capacidade sob demanda suficiente para atender à sua solicitação.
Solução
Para resolver esse problema, experimente o seguinte:
-
Espere alguns minutos e envie uma solicitação novamente; a capacidade pode mudar com frequência.
-
Envie uma solicitação nova com um número de instâncias reduzido. Por exemplo, se você estiver fazendo uma única solicitação para executar 15 instâncias, tente fazer 3 solicitações para 5 instâncias, ou 15 solicitações de 1 instância.
-
Se você estiver executando uma instância, envie uma nova solicitação sem especificar uma zona de disponibilidade.
-
Se você estiver executando uma instância, envie uma solicitação nova usando um tipo de instância diferente (que você pode redimensionar posteriormente). Para obter mais informações, consulte Alterações no tipo de instância do Amazon EC2.
-
Se você estiver executando instâncias em um placement group de cluster, é possível obter um erro de capacidade insuficiente.
A configuração solicitada não é suportada atualmente. Verifique a documentação quanto às configurações compatíveis.
Descrição
Você obtém o erro Unsupported
ao tentar executar uma nova instância porque a configuração da instância não é compatível.
Causa
A mensagem de erro fornece detalhes adicionais. Por exemplo, é possível que um tipo de instância ou opção de compra de instância não seja compatível com a região ou Zona de Disponibilidade especificada.
Solução
Tente uma configuração de instância diferente. Para pesquisar um tipo de instância que atenda aos seus requisitos, consulte Localizar um tipo de instância do Amazon EC2.
A instância é encerrada imediatamente
Descrição
Sua instância passa do estado pending
para o estado terminated
.
Causa
A seguir estão alguns motivos pelos quais a instância pode ser imediatamente encerrada:
-
Você excedeu os limites de volume do EBS. Para obter mais informações, consulte Limites de volume do Amazon EBS para instâncias do Amazon EC2.
-
Um snapshot do EBS está corrompido.
-
O volume raiz do EBS está criptografado e você não tem permissões para acessar a Chave do KMS para descriptografia.
-
Um snapshot especificado no mapeamento de dispositivo de blocos para a AMI está criptografado e você não tem permissões para acessar a Chave do KMS para descriptografia ou não tem acesso à Chave do KMS para criptografar os volumes restaurados.
-
A AMI com armazenamento de instâncias que você usou para executar a instância não tem um item necessário (um arquivo image.part.xx).
Para obter mais informações, saiba o motivo do encerramento usando um dos métodos a seguir.
Para obter o motivo do encerramento usando o console do Amazon EC2
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
No painel de navegação, selecione Instâncias e selecione a instância.
-
Na primeira guia, encontre o motivo ao lado de State transition reason (Motivo de transição de estado).
Para obter o motivo do encerramento usando a AWS Command Line Interface
-
Use o comando describe-instances e especifique o ID da instância.
aws ec2 describe-instances --instance-id
instance_id
-
Revise a resposta JSON retornada pelo comando e observe os valores no elemento de resposta
StateReason
.O bloco de código a seguir mostra um exemplo de elemento de resposta
StateReason
:"StateReason": { "Message": "Client.VolumeLimitExceeded: Volume limit exceeded", "Code": "Server.InternalError" },
Como saber o motivo do encerramento usando a AWS CloudTrail
Para obter mais informações, consulte o tópico sobre como Visualizar eventos com o histórico de eventos do CloudTrail, no Guia do usuário do AWS CloudTrail.
Solução
Dependendo do motivo do encerramento, execute uma das seguintes ações:
-
Client.VolumeLimitExceeded: Volume limit exceeded
— exclua volumes não utilizados. É possível enviar uma solicitaçãopara aumentar seu limite de volume. -
Client.InternalError: Client error on launch
: verifique se você tem as permissões necessárias para acessar as AWS KMS keys usadas para descriptografar e criptografar volumes. Para obter mais informações, consulte Uso de políticas de chaves no AWS KMS no Guia do desenvolvedor do AWS Key Management Service.
Permissões insuficientes
Descrição
Você recebe o erro "
ao tentar iniciar uma nova instância e não é possível iniciá-la.errorMessage
": "You are not authorized to
perform this operation."
Causa
Se você receber esse erro ao tentar iniciar uma instância, você não tem as permissões do IAM necessárias para iniciá-la.
As possíveis permissões ausentes incluem:
-
ec2:RunInstances
-
iam:PassRole
Outras permissões também podem estar faltando. Para ver a lista de permissões necessárias para iniciar uma instância, consulte o exemplo de políticas do IAM em Exemplo: uso do assistente de início de instância do EC2 e Executar instâncias (RunInstances).
Solução
Como resolver o problema:
-
Se você estiver fazendo solicitações como um usuário IAM, verifique se tem as seguintes permissões:
-
ec2:RunInstances
com um caractere curinga ("*") -
iam:PassRole
com o recurso correspondente ao nome de região da Amazon (ARN) da função (por exemplo,arn:aws:iam::999999999999:role/ExampleRoleName
)
-
-
Se você não tiver as permissões anteriores, edite a política do IAM associada ao perfil ou usuário do IAM para adicionar as permissões necessárias que estão faltando.
Se o problema não for resolvido e um erro de falha na inicialização continuar sendo recebido, você poderá decodificar a mensagem de falha de autorização incluída no erro. A mensagem decodificada inclui as permissões que estão faltando na política do IAM. Para obter mais informações, 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?
Alto uso da CPU logo após a inicialização do Windows (somente para instâncias do Windows)
nota
Esta dica de solução de problemas é dedicada somente para instâncias do Windows.
Se o Windows Update for definido como Verificar se há atualizações, mas permitir que eu escolha fazer download e instalá-las (a configuração de instância padrão), essa verificação poderá consumir entre 50 e 99% da CPU na instância. Se esse consumo de CPU causar problemas para seus aplicativos, você poderá alterar manualmente as configurações do Windows Update no Painel de controle ou usar o seguinte script no campo de dados de usuário do Amazon EC2:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v AUOptions /t REG_DWORD /d
3
/f net stop wuauserv net start wuauserv
Quando você executar esse script, especifique um valor para /d. O valor padrão é 3. Os valores possíveis incluem o seguinte:
-
Nunca verificar se há atualizações
-
Verificar se há atualizações, mas permitir que eu escolha fazer download e instalá-las
-
Fazer download de atualizações, mas permitir que eu escolha fazer download e instalá-las
-
Instalar atualizações automaticamente
Depois de modificar os dados do usuário para sua instância, você poderá executá-la. Para obter mais informações, consulte Run commands on your Windows instance at launch.