Назад | Перейти на главную страницу

AWS Custom AMI не запускает скрипт пользовательских данных

Мы запекаем AMI, и в последнее время я хотел запустить несколько сценариев пользовательских данных, чтобы уведомить об образовании облака, когда экземпляр завершил загрузку и ввел его в эксплуатацию. Для этого я использую cfn-signal. В исходном образе ubuntu сценарий будет выполняться, но после запекания нашего пользовательского AMI сценарий пользовательских данных не запускается.

Если я помещаю "# cloud-boothook" вверху скрипта, он выполняется, но из-за того, что он выполняется так рано, он бесполезен для уведомления, когда машина включена. Я надеюсь, что кто-то знает, где находится флаг или файл, который указывает cloudinit, что это первая загрузка машины.

Я также попытался изменить конфигурацию, как было предложено Вот

Я знаю, что должен быть флаг или файл, который я могу удалить перед процессом создания AMI, но не могу найти никакой информации о том, что это за флаг или файл.

Как я тестировал, в /var/lib/cloud каталог. После того, как я очистил этот каталог, Данные пользователя скрипт работал нормально.

rm -rf /var/lib/cloud/*

Вы должны быть уверены, что cloud-init не запущен в это время. В противном случае вам придется удалить его снова.

Это особенно актуально, если вы пытаетесь удалить /var/lib/cloud/ внутри пользовательских данных. В этом случае вы должны использовать что-то вроде:

echo "rm -rf /var/lib/cloud/*" | at now + 1 min

в конце скрипта пользовательских данных.