¿Cómo puedo usar EC2Rescue para Linux para solucionar problemas del sistema operativo?

7 minutos de lectura
0

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


Información relacionada

Recuperación de instancias deterioradas mediante EC2Rescue y Automatización de Systems Manager de Amazon EC2

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años