¿Cómo soluciono los problemas de una instancia de Amazon EC2 que se detiene o termina cuando intento iniciarla?

5 minutos de lectura
0

Cuando intento iniciar mi instancia de Amazon Elastic Compute Cloud (Amazon EC2), se termina o no se inicia.

Descripción breve

Las siguientes son las causas más comunes de un mensaje de error interno de una instancia de Amazon EC2:

  • Su volumen de Amazon Elastic Block Store (Amazon EBS) no está conectado correctamente a la instancia.
  • Un volumen de EBS adjunto a la instancia se encuentra en estado de error.
  • Se adjunta un volumen de EBS cifrado a la instancia.

Si la instancia no se inicia y no aparece ningún código de error, ejecute el comando describe-instances en la interfaz de la línea de comandos de AWS (AWS CLI). A continuación, especifique el ID de la instancia. Compruebe el mensaje StateReason que el comando devuelve en la respuesta JSON.

Nota: Introduzca todos los comandos en la AWS CLI. Si recibe errores al ejecutar los comandos de la AWS CLI, asegúrese de utilizar la versión más reciente de la AWS CLI.

Resolución

Los volúmenes de EBS no están conectados correctamente a la instancia

Debe adjuntar el volumen raíz de EBS a la instancia como /dev/sda1 or /dev/xvda, según cuál esté definido en la API. No puede tener un segundo volumen de EBS con un nombre de dispositivo duplicado o conflictivo. De lo contrario, no podrá detener ni iniciar la instancia. Los conflictos de nombres de dispositivos de bloque afectan solo a los tipos de instancias basados en Xen (c4, m4, t2, etc.). Bloquear conflictos entre nombres de dispositivos no afecta a las instancias basadas en Nitro (c5, m5, t3, etc.).

  1. Ejecute la API describe-instances para comprobar el mensaje de error StateReason y el código de error:
$ aws ec2 describe-instances --instance-id i-xxxxxxxxxxxxxxx --region us-east-1 --query "Reservations[].Instances[].{StateReason:StateReason}" --output json

Nota: Sustituya us-east-1 por su región de AWS. Sustituya i-xxxxxxxxxxxxxxx por su ID de la instancia.

Si hay un conflicto con el nombre del dispositivo, aparecerá un resultado similar al siguiente mensaje:

[
    [{
        "StateReason": {
            "Code": "Server.InternalError",
            "Message": "Server.InternalError: Internal error on launch"
        }
    }]
]
  1. Abra la consola de Amazon EC2 y, a continuación, seleccione la instancia que no puede iniciar.

  2. En la pestaña Descripción, compruebe el nombre del dispositivo que aparece en dispositivos de bloques. El campo dispositivos de bloques muestra todos los nombres de los dispositivos de los volúmenes adjuntos.

  3. Compruebe que el dispositivo raíz esté conectado correctamente y que no aparezca ningún dispositivo con el mismo nombre o con un nombre conflictivo.

  4. Si hay un dispositivo con un nombre de dispositivo duplicado o conflictivo, separe el volumen en conflicto y cámbiele el nombre. A continuación, vuelva a conectar el volumen con el nombre de dispositivo actualizado.

Un volumen de EBS adjunto se encuentra en estado de error

  1. Ejecute la API describe-instances para comprobar el mensaje de error StateReason y el código de error:
$ aws ec2 describe-instances --instance-id i-xxxxxxxxxxxxxxx --region us-east-1 --query "Reservations[].Instances[].{StateReason:StateReason}" --output json

Nota: Sustituya us-east-1 por su región de AWS. Sustituya i-xxxxxxxxxxxxxxx por su ID de la instancia.

Si hay un volumen de EBS adjunto que se encuentra en estado de error, aparecerá un resultado similar al siguiente mensaje:

[
    [{
        "StateReason": {
            "Code": "Server.InternalError",
            "Message": "Server.InternalError: Internal error on launch"
        }
    }]
]
  1. Abra la consola de Amazon EC2, seleccione Volúmenes, y compruebe si el estado del volumen es error. Las opciones varían en función de si el volumen en estado de error es un volumen raíz o un volumen secundario.

Si el volumen que está en estado de error es un volumen secundario, separe el volumen. Ahora puede iniciar la instancia.

Si el volumen que está en estado de error es un volumen raíz y tiene una instantánea del volumen, siga estos pasos:

Desconecte el volumen.

Cree un volumen nuevo a partir de la instantánea.

Adjunte el volumen nuevo a la instancia con el nombre del dispositivo de la instancia original. Inicie la instancia.

Nota: Si no tiene una instantánea del volumen raíz que esté en estado de error, no podrá reiniciar la instancia. Debe lanzar una nueva instancia, instalar las aplicaciones pertinentes y, a continuación, configurarla para reemplazar la instancia anterior.

Los volúmenes adjuntos están cifrados y los permisos o políticas de AWS Identity and Access Management (IAM) son incorrectos

  1. Ejecute la API describe-instances para comprobar el mensaje de error StateReason y el código de error:
$ aws ec2 describe-instances --instance-id i-xxxxxxxxxxxxxxx --region us-east-1 --query "Reservations[].Instances[].{StateReason:StateReason}" --output json

Nota: Sustituya us-east-1 por su región de AWS. Sustituya i-xxxxxxxxxxxxxxx por su ID de la instancia.

Si hay un volumen cifrado adjunto a la instancia y hay problemas de permisos o políticas, recibirá un error de cliente. Esto devuelve un resultado similar al siguiente mensaje:

[
    [{
        "StateReason": {
            "Code": "Client.InternalError",
            "Message": "Client.InternalError: Client error on launch"
        }
    }]
]
  1. Compruebe que el usuario que intenta iniciar la instancia tenga los permisos de IAM correctos. Si lanzó la instancia de forma indirecta a través de otro servicio, como el escalamiento automático de EC2, compruebe también las siguientes configuraciones:

Nota: Para comprobar si un volumen está cifrado, abra la consola de Amazon EC2 y, a continuación, seleccione Volúmenes. Los volúmenes cifrados aparecen como Cifrados en la columna Cifrado.


Información relacionada

Cuando inicio mi instancia con volúmenes cifrados adjuntos, la instancia se detiene inmediatamente con el error «error del cliente al iniciar»

¿Por qué no puedo iniciar ni lanzar mi instancia de EC2?

Políticas clave en AWS KMS

Solución de problemas de lanzamiento de instancias: la instancia finaliza inmediatamente

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año