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

8 minutos de lectura
0

No puedo lanzar una nueva instancia de Amazon Elastic Compute Cloud (Amazon EC2) ni iniciar una instancia existente.

Resolución

Hay varios motivos por los que tal vez no pueda lanzar ni iniciar su instancia de EC2. Si no se muestra ningún código de error al intentar iniciar la instancia, siga estos pasos:

1.Compruebe el evento StartInstances en AWS CloudTrail.

-o-

Ejecute el comando describe-instances en la Interfaz de la línea de comandos de AWS (AWS CLI) y especifique el ID de la instancia para ver cuál es el motivo del problema. En el siguiente ejemplo, sustituya MYINSTANCE por el ID de la instancia que intenta iniciar.

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

Compruebe el mensaje StateReason en la respuesta de JSON que devuelve el comando. En el siguiente ejemplo de respuesta, el valor de StateReason que se devuelve es Client.InternalError:

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

Nota: Si se muestran errores al ejecutar comandos de AWS CLI, compruebe si está utilizando la versión más reciente de AWS CLI.

2.Revise los siguientes errores comunes para solucionar el problema.

InsufficientInstanceCapacity

Se produce el siguiente error al lanzar una instancia nueva o al reiniciar una instancia detenida y no hay suficiente capacidad bajo demanda disponible para satisfacer su solicitud:

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

Este error se produce si no hay suficiente capacidad bajo demanda para completar la solicitud.

Para obtener información sobre cómo solucionar este error, consulte ¿Cómo puedo solucionar los errores InsufficientInstanceCapacity al iniciar o lanzar una instancia de EC2?

InstanceLimitExceeded

El siguiente error se produce cuando se lanzan más instancias de las permitidas como máximo en una región de AWS:

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

Si se muestra este mensaje, envíe una solicitud de aumento de cuota a AWS Support. En la solicitud, asegúrese de incluir el tipo de instancia que está intentando lanzar y la región de AWS en la que lo está haciendo.

Para obtener información sobre cómo solucionar este error, consulte ¿Cómo puedo solucionar los errores de InstanceLimitExceeded al iniciar o lanzar una instancia de EC2?

UnauthorizedOperation

El error UnauthorizedOperation se produce cuando el usuario que intenta lanzar la instancia no tiene los permisos necesarios. Para solucionar este error, consulte ¿Cómo puedo descodificar un mensaje de error de autorización después de recibir un error de «UnauthorizedOperation» durante el inicio de una instancia de EC2?

La configuración solicitada no se admite actualmente

Este error se debe a uno de los dos problemas siguientes:

1.El tipo de instancia especificado no se admite en la zona de disponibilidad solicitada. Para comprobar la disponibilidad de los tipos de instancia en zonas de disponibilidad concretas, ejecute el comando aws ec2 describe-instance-type-offerings en AWS CLI. A continuación, lance la instancia en una zona de disponibilidad compatible.

Por ejemplo, utilice el siguiente comando para comprobar la disponibilidad del tipo de instancia c5.2xlarge en todas las zonas de disponibilidad de 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.La imagen de máquina de Amazon (AMI) que se usa para lanzar la instancia no admite el tipo de instancia seleccionado. Antes de seleccionar el tipo o la familia de instancias, consulte las descripciones de las AMI en AWS Marketplace. Este problema suele producirse cuando utiliza AMI de AWS Marketplace e intenta lanzar instancias no compatibles con AWS CLI. Cuando lance instancias desde la consola de Amazon EC2, las instancias no compatibles no estarán disponibles.

Client.InternalError

A continuación se indican los motivos habituales por los que se puede mostrar este error:

  • Un volumen de Amazon Elastic Block Store (Amazon EBS) no está asociado correctamente a la instancia.
  • Un volumen de EBS asociado a la instancia tiene el estado ERROR.
  • Se ha asociado un volumen de EBS cifrado a la instancia. Sin embargo, no tiene los permisos para acceder a AWS Key Management Services (AWS KMS) para el descifrado.

Para obtener información para solucionar estos problemas, consulte ¿Cómo puedo solucionar los problemas de una instancia de Amazon EC2 que se detiene o termina cuando intento iniciarla?

Errores de disco lleno

Cuando se queda sin espacio en una instancia y el servicio de auditoría detiene la máquina en cuanto arranca, se produce un error de disco lleno.

Nota: Antes de continuar, se recomienda crear una instantánea para hacer copias de seguridad de los datos de los volúmenes.

Importante: Estos pasos de resolución requieren que inicie y detenga la instancia. Tenga en cuenta lo siguiente:

  • Cuando se detiene la instancia, se pierden los datos de los volúmenes del almacén de instancias. Para obtener más información, consulte Determinación del tipo de dispositivo raíz de la instancia.
  • Si detiene una instancia que forma parte de un grupo de Amazon EC2 Auto Scaling, puede terminar la instancia. Las instancias que lance con Amazon EMR, AWS CloudFormation o AWS Elastic Beanstalk pueden formar parte de un grupo de AWS Auto Scaling. La terminación de la instancia en este escenario depende de la configuración de protección de escalamiento de instancias del grupo de escalamiento automático. Si la instancia forma parte de un grupo de escalamiento automático, elimínela temporalmente de dicho grupo antes de continuar.
  • Al detener e iniciar la instancia, la dirección IP pública de la instancia cambia. Se recomienda utilizar una dirección IP elástica en lugar de una dirección IP pública para enrutar el tráfico externo hacia la instancia.

Para solucionar los errores de disco lleno, siga estos pasos:

1.Abra la consola de Amazon EC2.

2.Elija Instancias en el panel de navegación y, a continuación, seleccione la instancia.

3.Detenga la instancia.

4.Desasocie el volumen raíz de EBS (/dev/xvda para Linux) respecto a la instancia detenida.

5.Lance una nueva instancia de EC2 en la misma zona de disponibilidad que la instancia deteriorada. La nueva instancia se convierte en su instancia de rescate.

6.Asocie el volumen raíz que desasoció en el paso 4 a la instancia de rescate como dispositivo secundario.

Nota: Al asociar volúmenes secundarios, puede utilizar diferentes nombres de dispositivos.

7.Conéctese a su instancia de rescate mediante SSH.

8.Cree un directorio de punto de montaje para el nuevo volumen asociado a la instancia de rescate en el paso 6. En el siguiente ejemplo, el directorio de punto de montaje es /mnt/rescue.

Nota: Los siguientes comandos $ sudo solo se aplican en entornos Linux:

$ sudo mkdir /mnt/rescue

9.Monte el volumen en el directorio creado en el paso 8:

$ sudo mount /dev/xvdf /mnt/rescue

Nota: El dispositivo (/dev/xvdf, en este ejemplo) puede tener un nombre diferente para la instancia de rescate a la que está asociado. Para determinar los nombres correctos de los dispositivos, utilice el comando lsblk para ver los dispositivos de disco disponibles junto con sus puntos de montaje.

10.Aumente el tamaño del volumen raíz.

11.Extienda la partición.

12.Ejecute el comando umount para desmontar el volumen:

$ sudo umount /mnt/rescue

13.Desasocie el volumen de la instancia temporal.

14.Asocie el volumen a la instancia original con el nombre del dispositivo (/dev/xvda para Linux) y, a continuación, inicie la instancia para confirmar si arranca correctamente.

15.Revise la configuración del servicio de auditoría para asegurarse de que no tenga la opción de detener (apagar) la máquina si se queda sin espacio. En Amazon Linux y Amazon Linux 2, asegúrese de que la configuración del servicio de auditoría incluya las siguientes opciones en /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 un parámetro especificado en la solicitud no es válido, no se admite o no se puede usar. El mensaje devuelto proporciona una explicación del valor del error. Por ejemplo, si un volumen raíz no está asociado a la instancia en /dev/sda1 o /dev/xvda, según la AMI, la instancia no se iniciará. Si esto ocurre, verá una entrada en AWS CloudTrail similar a la siguiente:

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 solucionarlo, utilice el mensaje de error como referencia para cambiar el parámetro relevante. Por ejemplo, para solucionar el error del ejemplo anterior, asocie el volumen raíz a la instancia en /dev/sda1 y, a continuación, inicie la instancia. Para obtener más información, consulte Códigos de error de la API de Amazon EC2.

Información relacionada

Solución de problemas de lanzamiento de instancias: Linux

Solución de problemas de lanzamiento de instancias: Windows

Guía de prácticas recomendadas de Amazon ECS

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 10 meses