Solucionar problemas de lanzamiento de instancias - Amazon Elastic Compute Cloud

Solucionar problemas de lanzamiento de instancias

Los siguientes problemas impiden lanzar una instancia.

Nombre de dispositivo no válido

Descripción

Se obtiene el error Invalid device name device_name cuando se intenta lanzar una instancia nueva.

Causa

Si aparece este error cuando intenta lanzar una instancia, el nombre de dispositivo especificado para uno o más volúmenes en la solicitud no es válido. Entre las causas posibles se incluyen las siguientes:

  • Es posible que la AMI seleccionada esté utilizando el nombre del dispositivo.

  • Es posible que el nombre del dispositivo esté reservado para los volúmenes raíz.

  • Es posible que el nombre del dispositivo se utilice para otro volumen de la solicitud.

  • Es posible que el nombre del dispositivo no sea válido para el sistema operativo.

Solución

Para resolver el problema:

  • Asegúrese de que el nombre del dispositivo no se utilice en la AMI que seleccionó. Ejecute el siguiente comando para ver los nombres de dispositivos que utiliza la AMI.

    C:\> aws ec2 describe-images --image-id ami_id --query 'Images[*].BlockDeviceMappings[].DeviceName'
  • Asegúrese de no utilizar un nombre de dispositivo que esté reservado para los volúmenes raíz. Para obtener más información, consulte Nombres de dispositivos disponibles.

  • Asegúrese de que cada volumen especificado en la solicitud tenga un nombre de dispositivo único.

  • Asegúrese de que los nombres de los dispositivos que especificó tengan el formato correcto. Para obtener más información, consulte Nombres de dispositivos disponibles.

Límite de la instancia excedido

Descripción

Se obtiene el error InstanceLimitExceeded cuando se intenta lanzar una nueva instancia o reiniciar una instancia parada.

Causa

Si recibe un error InstanceLimitExceeded cuando intenta lanzar una nueva instancia o reiniciar una instancia detenida, ha alcanzado el límite en el número de instancias que puede lanzar en una región. Cuando crea la cuenta de AWS, establecemos los límites predeterminados en el número de instancias que puede ejecutar por región.

Solución

Puede solicitar un aumento de límite de instancias por región. Para obtener más información, consulte Cuotas de servicio de Amazon EC2.

Capacidad de la instancia insuficiente

Descripción

Se obtiene el error InsufficientInstanceCapacity cuando se intenta lanzar una nueva instancia o reiniciar una instancia parada.

Causa

Si recibe este error cuando intenta lanzar la instancia o reiniciar una instancia detenida, AWS no tiene actualmente capacidad bajo demanda disponible para llevar a cabo la solicitud.

Solución

Para resolver este problema, pruebe lo siguiente:

  • Espere unos minutos y después envíe la solicitud de nuevo; la capacidad puede cambiar frecuentemente.

  • Envíe una nueva solicitud con una cantidad reducida de instancias. Por ejemplo, si hace una única solicitud para lanzar 15 instancias, intente hacer 3 solicitudes para 5 instancias, o 15 solicitudes para 1 instancia en su lugar.

  • Si está lanzando una instancia, envíe una nueva solicitud sin especificar ninguna zona de disponibilidad.

  • Si está lanzando una instancia, envíe una nueva solicitud usando un tipo de instancia distinto (que puede cambiar de tamaño en una fase posterior). Para obtener más información, consulte Cambie el tipo de instancia.

  • Si está lanzando instancias en un grupo de ubicación en clúster, es posible que reciba un error de capacidad insuficiente. Para obtener más información, consulte Trabajo con grupos con ubicación.

La configuración solicitada no se admite actualmente. Consulte la documentación para ver las configuraciones admitidas.

Descripción

Recibe el error Unsupported cuando intenta lanzar una nueva instancia porque la configuración de la instancia no es compatible.

Causa

El mensaje de error proporciona detalles adicionales. Por ejemplo, es posible que no se admita un tipo de instancia o una opción de compra de instancia en la región o zona de disponibilidad especificadas.

Solución

Pruebe una configuración de instancia diferente. Para buscar un tipo de instancia que cumpla sus requisitos, consulte Buscar un tipo de instancia Amazon EC2.

La instancia termina inmediatamente

Descripción

La instancia pasa del estado pending al estado terminated.

Causa

A continuación se ofrecen unas cuantas razones sobre por qué una instancia puede terminar de inmediato:

  • Ha superado los límites de volumen de EBS. Para obtener más información, consulte Límites de volumen de instancias.

  • Una instantánea de EBS está dañada.

  • El volumen de EBS raíz está cifrado y no tiene permiso para acceder a la Clave de KMS para descifrarlo.

  • Hay una instantánea especificada en la asignación de dispositivos de bloque de la AMI que está cifrada y no tiene permiso para acceder a la Clave de KMS para descifrarla, o no tiene acceso a la Clave de KMS para cifrar los volúmenes restaurados.

  • A la AMI con respaldo en el almacén de instancias que utilizaba para lanzar la instancia le falta una parte obligatoria (un archivo image.part.xx).

Para obtener más información, obtenga el motivo de terminación utilizando uno de los métodos siguientes.

Para obtener el motivo de la terminación utilizando la consola de Amazon EC2
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, elija Instances (Instancias) y seleccione la instancia.

  3. En la primera pestaña, busque el motivo junto a State transition reason (Motivo de transición de estado).

Para obtener el motivo de la terminación utilizando la consola de AWS Command Line Interface
  1. Use el comando describe-instances y especifique el ID de instancia.

    aws ec2 describe-instances --instance-id instance_id
  2. Revise la respuesta JSON devuelta por el comando y anote los valores en el elemento de respuesta StateReason.

    En el siguiente bloque de código se muestra un ejemplo de un elemento de respuesta StateReason.

    "StateReason": { "Message": "Client.VolumeLimitExceeded: Volume limit exceeded", "Code": "Server.InternalError" },
Para obtener el motivo de terminación utilizando la consola de AWS CloudTrail

Para obtener más información, consulte Ver eventos con el historial de eventos de CloudTrail en la Guía del usuario de AWS CloudTrail.

Solución

En función del motivo de terminación, realice una de las siguientes operaciones:

  • Client.VolumeLimitExceeded: Volume limit exceeded — elimine los volúmenes que no estén en uso. Puede enviar una solicitud para aumentar el límite del volumen.

  • Client.InternalError: Client error on launch — asegúrese de que tiene los permisos necesarios para acceder a las AWS KMS keys que se utilizan para cifrar y descifrar volúmenes. Para obtener más información, consulte Uso de políticas de claves en AWS KMS en la Guía para desarrolladores de AWS Key Management Service.

Elevado uso de la CPU justo después de iniciar Windows

Si Windows Update está establecido en Buscar actualizaciones, pero permitirme elegir si deseo descargarlas e instalarlas (el valor predeterminado de la instancia) esta comprobación puede consumir entre un 50 y un 99 % de la CPU de la instancia. Si este consumo de la CPU causa problemas en las aplicaciones, puede cambiar manualmente la configuración de Windows Update en el Panel de control o puede usar el script siguiente en el campo de datos de usuario de 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

Cuando ejecute este script, especifique un valor para /d. El valor predeterminado es 3. Entre los valores posibles se incluyen:

  1. Nunca buscar actualizaciones

  2. Buscar actualizaciones, pero permitirme elegir si deseo descargarlas e instalarlas

  3. Descargar actualizaciones, pero permitirme elegir si deseo instalarlas

  4. Instalar actualizaciones automáticamente

Después de modificar los datos de usuario para la instancia, puede ejecutarla. Para obtener más información, consulte Visualizar y actualizar los datos de usuario de la instancia y Ejecución de datos de usuario.

Permisos insuficientes

Descripción

Obtiene el error "errorMessage": "You are not authorized to perform this operation." cuando intenta iniciar una nueva instancia y el inicio falla.

Causa

Si recibe este error al intentar lanzar una instancia, significa que no tiene los permisos de IAM necesarios para lanzarla.

Los posibles permisos faltantes incluyen:

  • ec2:RunInstances

  • iam:PassRole

Es posible que también falten otros permisos. Para obtener la lista de permisos necesarios para lanzar una instancia, consulte los ejemplos de políticas de IAM en Ejemplo: uso del asistente de inicialización de instancias de EC2Iniciar instancias (RunInstances).

Solución

Para resolver el problema:

  • Si realiza las solicitudes como usuario de IAM, compruebe que los siguientes permisos se cumplan:

    • ec2:RunInstances con un recurso de comodín ("*")

    • iam:PassRole con el recurso que coincide con el ARN del rol (por ejemplo, arn:aws:iam::999999999999:role/ExampleRoleName)

  • Si no tiene los permisos anteriores, edite la política de IAM asociada al rol o usuario de IAM para agregar los permisos necesarios que faltan.

Si el problema no se resuelve y sigue recibiendo un error de error de lanzamiento, puede decodificar el mensaje de error de autorización incluido en el error. El mensaje decodificado incluye los permisos que faltan en la política de IAM. Para obtener más información, consulte ¿Cómo puedo decodificar un mensaje de error de autorización tras recibir un error de “UnauthorizedOperation” durante el lanzamiento de una instancia de EC2?