virginia example ec2 east data aws amazon-ec2 cloud-init

amazon ec2 - example - ¿Cómo ejecutar cloud-init manualmente?



us east virginia aws (3)

Estoy escribiendo una plantilla de CloudFormation y estoy tratando de depurar el script de datos de usuario que proporciono en la plantilla. ¿Cómo puedo ejecutar cloud-init manual y hacer que realice las mismas acciones que cuando inicia una nueva instancia?


En la mayoría de las distribuciones de Linux (incluidos CentOS y Ubuntu), puede reiniciar el servicio cloud-init utilizando systemctl:

systemctl restart cloud-init

Y luego verifique el resultado de la revista para ver los resultados:

journalctl -f -u cloud-init


Kudus a @Rico, y también, si desea ejecutar un solo módulo, ya sea para probar o porque su distribución no habilita un módulo por defecto (¡Hola, Preciso!), Puede

/usr/bin/cloud-init -d single -n <module-name>

Por ejemplo, cuando mi distribución no ejecuta write_files por defecto (como muchas distros antiguas), utilizo esto en la parte superior de runcmd:

runcmd: - /usr/bin/cloud-init -d single -n write-files

[Sé que no es realmente una respuesta al OP, pero cuando busco resolver mi problema, esta pregunta fue uno de los mejores resultados, por lo que creo que otras personas podrían encontrarlo útil]


Puedes simplemente ejecutarlo así:

/usr/bin/cloud-init -d init

Esto ejecuta la configuración de inicio de nube con los módulos iniciales. (La opción -d es para depuración) Si desea ejecutar todos los módulos, debe ejecutar:

/usr/bin/cloud-init -d modules

Tenga en cuenta que la segunda vez que ejecuta estos no hace mucho ya que ya se ejecutó en el momento del arranque. Para forzar la ejecución después del tiempo de arranque, puede ejecutar desde la línea de comando:

( cd /var/lib/cloud/ && sudo rm -rf * )

En versiones anteriores, el equivalente de cloud-init init de cloud-init init es:

/usr/bin/cloud-init start

También puede encontrar útil esta pregunta, aunque se aplica a las versiones anteriores de cloud-init: ¿cómo hago que los scripts de inicio de cloud-init se ejecuten cada vez que se inicia mi instancia de EC2?

La documentación para init de nube here solo le da ejemplos. Pero no explica las opciones de línea de comando o cada uno de los módulos, por lo que debe jugar con diferentes valores en la configuración para obtener los resultados deseados. Por supuesto, también puedes mirar el código.