¿Por qué mi instancia de EC2 de Linux no es accesible y no supera una o ninguna de las comprobaciones de estado?
No se puede acceder a mi instancia de Linux de Amazon Elastic Compute Cloud (Amazon EC2) y no supera una o ninguna de sus dos comprobaciones de estado.
Descripción corta
Amazon EC2 utiliza dos comprobaciones de estado para supervisar el estado de las instancias EC2:
Comprobaciones de estado del sistema
La comprobación de estado del sistema detecta problemas con el hardware subyacente de una instancia. Si el hardware subyacente no responde o es inaccesible debido a problemas de red, hardware o software, entonces la comprobación de estado del sistema da error.
Comprobación de estado de la instancia
Un error en la comprobación de estado de la instancia indica que la instancia es inaccesible. Los siguientes problemas comunes provocan un error en la comprobación de estado de la instancia:
- Fallo al iniciar el sistema operativo (SO)
- Fallo al montar correctamente los volúmenes
- CPU y memoria agotadas
- Pánico en el núcleo
- Fallo de red
Advertencia: Algunas de las siguientes resoluciones requieren que la instancia se detenga e inicie. Antes de detener e iniciar la instancia, tenga en cuenta estas condiciones:
- Los datos que se almacenan en los volúmenes de almacén de instancias se pierden cuando la instancia se detiene. Antes de detener la instancia, asegúrese de hacer una copia de seguridad de los datos. A diferencia de los volúmenes respaldados por Amazon Elastic Block Store (Amazon EBS), los volúmenes de almacén de instancias son efímeros y no admiten la persistencia de datos.
- La dirección IPv4 pública estática que Amazon EC2 asignó automáticamente a la instancia en el momento del lanzamiento o el inicio cambia después de la detención e inicio. Para conservar una dirección IPv4 pública que no cambie si se detiene la instancia, use una dirección IP elástica.
Para obtener más información, consulte los Requisitos previos para detener una instancia.
Resolución
Para determinar si la comprobación de estado de la instancia o del sistema han dado error, consulte las métricas de comprobación de estado de la instancia.
Si la comprobación de estado del sistema ha dado error, consulte Mi instancia EC2 de Linux no ha superado la comprobación de estado del sistema. ¿Cómo puedo solucionar este problema?
Si la comprobación de estado de la instancia ha dado error, compruebe los registros del sistema de la instancia para determinar la causa del error. Después, utilice una de las siguientes soluciones para resolver el problema.
Fallo al arrancar el sistema operativo
Si los registros del sistema contienen errores de arranque, consulte Mi instancia de EC2 Linux no pasó la comprobación del estado de la instancia debido a problemas con el sistema operativo. ¿Cómo puedo solucionar este problema?
Fallo al montar correctamente los volúmenes
Un fallo en el punto de montaje podría provocar que la instancia no supere la comprobación de estado.
Ejemplo de fallo en el punto de montaje:
[FAILED] Failed to mount / See 'systemctl status mnt-nvme0n1p1.mount' for details. [DEPEND] Dependency failed for Local File Systems.
Para obtener más información, consulte los siguientes artículos del Centro de conocimientos de AWS:
- Errores de «Ha fallado la dependencia»: ¿Por qué mi instancia EC2 de Linux entra en modo de emergencia cuando intento arrancarla?
- Errores de «No se pudo montar» o «Ha fallado la dependencia»: Mi instancia de EC2 Linux no pasó la comprobación del estado de la instancia debido a problemas con el sistema operativo. ¿Cómo puedo solucionar este problema?
Al cambiar un tipo de instancia de Xen a Nitro, puede fallar el montaje de volúmenes. El fallo de montaje se produce porque los volúmenes de Amazon EBS se exponen como dispositivos de bloques NVMeen instancias basadas en Nitro. Los nombres de los dispositivos son /dev/nvme0n1, /dev/nvme1n1, etc. Los nombres de dispositivos que se hayan especificado en una asignación de dispositivos de bloques se cambian a nombres de dispositivos NVMe (/dev/nvme\ [0-26] n1). El controlador de dispositivos de bloques puede asignar los nombres de los dispositivos NVMe en un orden diferente al orden original que haya especificado en la asignación de dispositivos de bloques. Para evitar errores de montaje en las instancias basadas en Nitro, se recomienda utilizar una etiqueta o un UUID para los nombres de los dispositivos. Para obtener más información, consulte Hacer que un volumen de Amazon EBS esté disponible para su uso en Linux.
CPU y memoria agotadas
Uso alto de la CPU
Si la métrica CPUUtilization es igual o cercana al 100 %, es posible que la instancia no tenga suficiente capacidad de procesamiento para ejecutar el núcleo.
En el caso de las instancias T2 o T3, revise las métricas de crédito de CPU de Amazon CloudWatch para determinar si los créditos UPC son iguales o cercanos a cero. Si los créditos de la CPU están en cero, la métrica CPUUtilization muestra un nivel de saturación en el rendimiento de referencia de la instancia. El rendimiento de referencia puede ser del 20 %, el 40 %, etc., según el tipo de instancia.
Un uso de la CPU igual o cercano al 100%, o a un nivel de saturación de las instancias T2 o T3, indica que la comprobación de estado no se ha superado debido a una sobreutilización de recursos. Para solucionar este problema, consulte Mi instancia de Linux de EC2 no ha superado la comprobación del estado de la instancia debido a la sobreutilización de sus recursos. ¿Cómo puedo solucionar este problema?
Los fallos en dispositivos de bloques, los errores de software o el pánico en el núcleo pueden provocar un pico inusual en el uso de la CPU. Si el uso de la CPU es del 100 %, compruebe los registros del sistema para ver si hay fallos de dispositivos de bloques o problemas en la memoria u otros errores inusuales del sistema. A continuación, reinicie o detenga e inicie la instancia.
Sin memoria
La alta presión de memoria puede provocar un error en la comprobación de estado de la instancia. En el siguiente ejemplo de entrada de registro, el sistema operativo se ha quedado sin memoria. Para resolver este error, detenga el proceso que consume más memoria.
[115879.769795] Out of memory: kill process 20273 (httpd) score 1285879 or a child [115879.769795] Killed process 1917 (php-cgi) vsz:467184kB, anon-rss:101196kB, file-rss:204kB
De forma predeterminada, las métricas de memoria y disco de la instancia EC2 no se envían a Amazon CloudWatch. Sin embargo, puede usar el agente de CloudWatch para recopilar y supervisar métricas adicionales.
Para resolver el problema de falta de memoria, actualice la instancia a un tipo de instancia más grande. O bien, añada almacenamiento de intercambio a la instancia para aliviar la presión de memoria. Para obtener más información, consulte los siguientes artículos del Centro de conocimientos de AWS:
- ¿Cómo puedo asignar memoria para que funcione como espacio de intercambio en una instancia Amazon EC2 con el uso de un archivo de intercambio?
- ¿Cómo puedo asignar memoria para que funcione como espacio de intercambio en una instancia de Amazon EC2 mediante una partición de mi disco duro?
Errores de disco lleno
Si los registros del sistema contienen errores de disco lleno, la instancia está en modo de emergencia debido a que el dispositivo raíz está lleno.
Ejemplo de registro del sistema:
$: service apache2 restart Error: No space left on device $: /etc/init.d/mysql restart [....] Restarting mysql (via systemctl): mysql.serviceError: No space left on device root@example:~# df -h / Filesystem Size Used Avail Use% Mounted on /dev/root 7.7G 7.7G 0 100% /
Para obtener instrucciones detalladas sobre cómo resolver los errores de disco lleno, consulte los siguientes artículos del Centro de conocimientos de AWS:
- Mi instancia de Linux de EC2 no ha superado la comprobación del estado de la instancia debido a la sobreutilización de sus recursos. ¿Cómo puedo solucionar este problema?
- ¿Cómo puedo aumentar el tamaño de mi volumen de EBS si recibo un mensaje de error que indica que no queda espacio en mi sistema de archivos?
Pánico en el núcleo
El pánico en el núcleo se produce cuando el núcleo detecta un error interno grave durante la operación. Si el error se produce durante el arranque del sistema operativo, es posible que el núcleo no se cargue correctamente. Esto provoca un error de arranque del sistema operativo.
Ejemplo de mensaje de error de pánico en el núcleo:
Linux version 2.6.16-xenU (builder@xenbat.amazonsa) (gcc version 4.0.1 20050727 (Red Hat4.0.1-5)) #1 SMP Mon May 28 03:41:49 SAST 2007 Kernel command line: root=/dev/sda1 ro 4 Registering block device major 8 Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,1)
Para obtener información sobre cómo solucionar un error de pánico en el núcleo, consulte los siguientes artículos del Centro de conocimientos de AWS:
- ¿Por qué aparece un error de «pánico en el núcleo» después de haber actualizado el núcleo o reiniciado mi instancia EC2 de Linux?
- ¿Cómo puedo volver a un núcleo estable conocido después de que una actualización impida que mi instancia de Amazon EC2 se reinicie correctamente?
Fallo de red
Los siguientes motivos comunes pueden provocar un fallo en la red.
El paquete cloud-init no está instalado en la instancia
El paquete cloud-init se usa para actualizar las configuraciones de red en el momento del lanzamiento.
Para corregir este error, ejecute el siguiente comando para instalar el paquete cloud-init en su instancia:
$ sudo yum install cloud-init
La dirección MAC está codificada de forma fija en un archivo de configuración
Las direcciones MAC codificadas se encuentran en los archivos de configuración de Linux y en los archivos de configuración udev. Estos archivos suelen estar en las siguientes ubicaciones:
- /etc/udev/reglas.d/
- /etc/udev/rules.d/70-persistent-net.rules
- /etc/udev/rules.d/80-net-name-slot.rules
Para resolver los problemas de red causados por una dirección MAC codificada de forma fija, elimine las entradas o los archivos de configuración. Por ejemplo, ejecute el siguiente comando:
mv /etc/udev/rules.d/70-persistent-net.rules/root/
La dirección IP está codificada de forma fija en un archivo de configuración
Al crear una imagen de máquina de Amazon (AMI) a partir de una instancia con una dirección IP configurada de forma estática, el archivo de configuración puede contener una dirección IP codificada de forma fija.
Para corregir este error, configure la interfaz de red para que utilice DHCP.
Nota: No puede actualizar las AMI existentes. Debe configurar la interfaz de red para que utilice DHCP antes de crear una nueva AMI.
Faltan controladores de red ENA o mejorados por Intel
Para obtener más información sobre los adaptadores Elastic Network Adapter (ENA) o los controladores de red mejorados por Intel que faltan, consulte Redes mejoradas en Linux.
El nombre de la interfaz de red cambia en el arranque
Para solucionar este problema, añada net.ifnames=0 a la línea de comandos del núcleo para desactivar los nombres predecibles de las interfaces de red. Para hacer la variable, debe activar las redes mejoradas con la ENA.
Para obtener más información sobre los problemas de red, consulte Prácticas recomendadas para configurar interfaces de red.
Información relacionada
Solucionar problemas de las instancias con comprobaciones de estado no superadas
Contenido relevante
- OFICIAL DE AWSActualizada hace 7 meses
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace 2 años