amazon web services - por - ¿Cómo comprobar si mis datos de usuario que pasan a la instancia de EC2 funcionan o no?
permission denied(publickey) aws (5)
Al crear una nueva instancia de AWS EC2 utilizando la API de línea de comandos de EC2, estoy pasando algunos datos de usuario a una nueva instancia.
Ahora, ¿cómo llegué a saber si los datos de usuario se ejecutaron o no?
¿Cómo debo comprobarlo?
Habilitar el registro para sus datos de usuario
exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
Tenga cuidado de poner un espacio entre los dos>> caracteres al principio de la declaración.
Aquí hay un script completo de datos de usuario como ejemplo:
#!/bin/bash -ex
exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
echo BEGIN
date ''+%Y-%m-%d %H:%M:%S''
echo END
Haga que sus datos de usuario creen un archivo en el directorio / tmp de su ec2 para ver si funciona:
bob.txt:
#!/bin/sh
echo ''Woot!'' > /home/ec2-user/user-script-output.txt
Luego lanza con:
ec2-run-instances -f bob.txt -t t1.micro -g ServerPolicy ami-05cf5c6d -v
La depuración de los scripts de datos de usuario en Amazon EC2 es un poco incómodo, ya que generalmente no hay forma de engancharse activamente en el proceso, por lo que uno idealmente desea obtener acceso en tiempo real a la salida del script de datos del usuario como se resume en el artículo de Eric Hammond . -data de salida de script en instancias de EC2 :
Las AMI de Ubuntu recientes todavía envían el script de datos de usuario a la salida de la consola, por lo que puede verlo de forma remota, pero ya no está disponible en syslog en la instancia. La salida de la consola solo se actualiza unos minutos después de que la instancia se inicie, reinicie o finalice, lo que obliga a esperar para ver la salida del script de datos del usuario y no capturar la salida que pueda aparecer después de la instantánea.
Dependiendo de su configuración, es posible que desee enviar los registros a una instalación de registro remoto como Loggly inmediato, pero instalar esto lo suficientemente pronto puede ser un problema de gallina / huevo (aunque funciona bien si la AMI se configura como así que ya).
Puedes verificar usando los siguientes pasos
- SSH en la instancia de lanzamiento EC2
- Compruebe el registro de su script de datos de usuario en
-
/var/log/cloud-init.log
y -
/var/log/cloud-init-output.log
-
Puede ver todos los registros de su script de datos de usuario y también creará /etc/cloud
carpeta /etc/cloud
.
Solo como referencia, puede verificar si los datos del usuario se ejecutaron echando un vistazo al registro del sistema desde la consola EC2. Haga clic derecho en su instancia - Configuración de instancia - Obtener registro del sistema
Esto debería abrir una ventana modal con los registros del sistema.