¿Cómo puedo usar EC2Rescue para Linux para solucionar problemas del sistema operativo?
No puedo conectarme a mi instancia de Linux de Amazon Elastic Compute Cloud (Amazon EC2) o tengo problemas de arranque. Para corregir estos problemas, tengo que solucionar problemas comunes, como los permisos de archivos de OpenSSH, o recopilar los registros del sistema (SO) para analizarlos y solucionar problemas. ¿Cómo puedo usar EC2Rescue para Linux para hacer esto?
Breve descripción
EC2Rescue para Linux es una herramienta que ayuda a diagnosticar y solucionar problemas en las instancias de Amazon EC2 Linux. EC2Rescue para Linux se ejecuta en su instancia de Amazon EC2 Linux para corregir problemas del sistema operativo. EC2Rescue para Linux también recopila registros avanzados, informes de uso del sistema y archivos de configuración para su posterior análisis.
Escenarios comunes abordados por EC2Rescue para Linux:
- Recopilación de informes de uso del sistema, como vmstat, iostat, mpstat, etc.
- Recopilación de registros y detalles, como syslog, dmesg, registros de errores de aplicaciones y registros de SSM.
- Detección de problemas del sistema, como el enrutamiento asimétrico o las etiquetas duplicadas de los dispositivos raíz.
- Solución automática de los problemas del sistema, como la corrección de los permisos del archivo OpenSSH o la desactivación de los parámetros problemáticos conocidos del núcleo.
Requisitos del sistema
EC2Rescue para Linux requiere una instancia de Linux de Amazon EC2 que cumpla los siguientes requisitos previos:
Sistemas operativos compatibles
- Amazon Linux 2
- Amazon Linux 2016.09+
- SLES 12+
- RHEL 7+
- Ubuntu 16.04+
Requisitos de software
- Python 2.7.9+ o 3.2+
Nota: Si ha activado la consola serie de EC2 para Linux, puede usarla para solucionar problemas de tipos de instancia basados en Nitro. La consola serie le permite solucionar problemas de inicio, configuración de red y configuración SSH. La consola serie se conecta a su instancia sin necesidad de una conexión de red en funcionamiento. Puede acceder a la consola serie mediante la consola de Amazon EC2 o la Interfaz de la línea de comandos de AWS (AWS CLI).
Antes de usar la consola serie, conceda acceso a la consola en el ámbito de cuenta. A continuación, cree políticas de AWS Identity and Access Management (IAM) que concedan acceso a sus usuarios de IAM. Además, cada instancia que use la consola serie debe incluir al menos un usuario basado en contraseña. Si no se puede acceder a su instancia y no ha configurado el acceso a la consola serie, siga las instrucciones de la sección Resolución. Para más información sobre cómo configurar la consola serie de EC2 para Linux, consulte Configuración del acceso a la consola serie de EC2.
Nota: Si recibe errores al ejecutar los comandos de AWS CLI, asegúrese de utilizar la versión más reciente de AWS CLI.
Resolución
Para solucionar problemas de una instancia de Amazon EC2 Linux inaccesible mediante EC2Rescue para Linux, haga lo siguiente:
1. Lance una nueva instancia de Amazon EC2 en su nube virtual privada (VPC) con la misma imagen de máquina de Amazon (AMI) y en la misma zona de disponibilidad que la instancia dañada. La nueva instancia se convierte en su instancia de rescate. También puede utilizar una instancia existente a la que pueda acceder si usa la misma AMI y se encuentra en la misma zona de disponibilidad que la instancia dañada.
2. Desconecte el volumen raíz de Amazon Elastic Block Store (Amazon EBS) (/dev/xvda o /dev/sda1) de su instancia dañada. Anote el nombre del dispositivo para asegurarse de que es el mismo cuando lo vuelva a conectar más adelante
3. Conecte el volumen EBS como dispositivo secundario (/dev/sdf) a la instancia de rescate.
4. Conéctese a su instancia de rescate mediante SSH.
5. Conviértase en raíz, identifique el nombre correcto del dispositivo con lsblk y, a continuación, guárdelo para usarlo durante todo el proceso:
$ sudo -i # lsblk # rescuedev=/dev/xvdf1
Nota: El dispositivo (/dev/xvdf1) puede estar conectado a la instancia de rescate con un nombre de dispositivo diferente. Utilice el comando lsblk para ver los dispositivos de disco disponibles junto con sus puntos de montaje y determinar los nombres correctos de los dispositivos.
6. Seleccione un punto de montaje temporal adecuado para usarlo y asegúrese de que existe; utilice /mnt si no está ya en uso:.
# rescuemnt=/mnt # mkdir -p $rescuemnt
7. Monte el sistema de archivos raíz desde el volumen adjunto:
# mount $rescuedev $rescuemnt
Nota: Si el montaje del volumen falla, revise dmesg | tail. Si los registros sugieren un UUID conflictivo, utilice la opción -o nouuid.
8. Monte sistemas de archivos especiales y cambie el directorio raíz (chroot) al sistema de archivos recién montado:
# for i in proc sys dev run; do mount --bind /$i $rescuemnt/$i ; done # chroot $rescuemnt
9. Descargue e instale la herramienta EC2Rescue para Linux en un volumen raíz de Linux sin conexión:
# curl -O https://s3.amazonaws.com/ec2rescuelinux/ec2rl.tgz # tar -xf ec2rl.tgz
10. Compruebe la instalación mostrando el archivo de ayuda:
# cd ec2rl-<version_number> # ./ec2rl help
11. Ejecute EC2Rescue para Linux sin opciones para ejecutar todos los módulos:
# ./ec2rl run
12. Vea los resultados en /var/tmp/ec2rl:
# cat /var/tmp/ec2rl/*/Main.log | more
13. Habilite la corrección de los módulos compatibles en función de los resultados:
# ./ec2rl run --remediate
14. Una vez finalizada la corrección, salga de chroot y desmonte el dispositivo secundario:
# exit # umount $rescuemnt/{proc,sys,dev,run,}
Nota: Si la operación de desmontaje no se realiza correctamente, es posible que tenga que detener o reiniciar la instancia de rescate para permitir un desmontaje limpio.
15. Desmonte el volumen secundario (/dev/sdf) de la instancia de EC2 de rescate y, a continuación, adjunte el volumen a la instancia original como /dev/xvda o /dev/sda1 (volumen raíz). Asegúrese de que sea igual que en el paso 2.
16. Inicie la instancia de EC2 y, a continuación, compruebe que la instancia responda.
Nota: También puede utilizar un documento de Automatización de AWS Systems Manager para solucionar problemas de conexión. Para obtener más información, consulte Tutorial: ejecución de la herramienta EC2Rescue en instancias inaccesibles. El documento AWSSupport-ExecuteEC2Rescue está diseñado para automatizar los pasos que normalmente se requieren para utilizar EC2Rescue para Linux. Estos pasos son una combinación de acciones de Systems Manager, acciones de AWS CloudFormation y funciones de AWS Lambda.
Solución de otros problemas
- Para obtener instrucciones generales sobre cómo recuperar una instancia de Linux, consulte Recuperación de instancias cuando se produce un error en un equipo host. En el caso de las instancias de Windows, consulte Solución de problemas de una instancia inaccesible.
- Si el dispositivo raíz de la instancia es un volumen respaldado por Amazon EBS, pruebe a detener e iniciar la instancia. Para obtener más información, consulte Interrupción e inicio de la instancia.
- En el caso de las instancias respaldadas por el almacén de instancias, si ha creado una AMI personalizada de la instancia, es posible que pueda restaurarla utilizando la AMI como respaldo. Para obtener instrucciones sobre cómo crear una nueva instancia a partir de una AMI de su propiedad, consulte Lanzamiento de una instancia mediante el antiguo asistente de lanzamiento de instancias.
- En algunos casos, es posible que el volumen de EBS tenga el acceso de E/S desactivado, lo que puede hacer que la instancia quede inaccesible. Para obtener instrucciones sobre cómo identificar este problema y solucionarlo, consulte Uso del atributo de volumen de E/S activado automáticamente.
- Si ha perdido el par de claves SSH, puede restablecerlo mediante Automatización de Systems Manager y el documento AWSSupport-ResetAccess.
Información relacionada
Contenido relevante
- OFICIAL DE AWSActualizada hace 7 meses
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 meses
- OFICIAL DE AWSActualizada hace 9 meses