После того, как cloud-init запустит сценарий пользовательских данных при первой загрузке экземпляра EC2, файл состояния предположительно записывается так, чтобы cloud-init больше не запускал сценарий при последующих перезагрузках. В некоторых случаях я хотел бы удалить этот файл состояния, чтобы скрипт пользовательских данных снова запустился. Где это?
amazon-ec2
cloud-init
Майк
источник
источник
curl
метаданных для получения текущего идентификатора экземпляра нет необходимости, поскольку/var/lib/cloud/instance
она уже является символической ссылкой на текущий экземпляр в/var/lib/cloud/instances
. :-)Вы можете поместить свой скрипт в /etc/rc.local, который будет запускать скрипт при каждой перезагрузке.
источник
/etc/rc.local
не имеет ничего общего с пользовательскими данными EC2.Вы также можете настроить свои пользовательские данные для повторного запуска при каждой загрузке, вместо удаления файла состояния. Вы должны использовать
cloud_final_modules
в своем сценарии userdata для повторного запуска сценария userdata, и для этого вам нужно настроить uderdata, чтобы иметь множество файлов в userdata. Пример файла userdata будет выглядеть так:Это заставит скрипт userdata выполняться на последнем шаге каждого процесса загрузки. Здесь
bin/echo "Hello World" >> /tmp/userdata-test.txt
нужно выполнить только одну строку , замените ее своим сценарием оболочки, который должен выполняться каждый раз при загрузке машины.источник