Мы печем AMI, и в последнее время я хотел запустить некоторые скрипты пользовательских данных для уведомления облачного формирования, когда экземпляр сделан, загрузившись и ввел его в эксплуатацию. Я использую cfn-сигнал сделать это. На исходном изображении человечности выполнится сценарий, но после выпекания нашего пользовательского AMI не запущен скрипт пользовательских данных.
Если я помещаю "#cloud-boothook" наверху сценария, он действительно выполняется, но потому что он выполняется так рано не полезный для уведомления, когда машина возросла. Я надеюсь, что кто-то знает, где флаг или файл, это указывает к cloudinit, что это - первая начальная загрузка машины.
Я также пытался изменить конфигурацию, как был предложен Здесь
Я знаю, что должен быть флаг или файл, который я могу удалить перед процессом создания AMI, но не могу найти любую информацию о том, каковы флаг или файл могли бы быть.
Как я тестировал, в каталоге / var / lib / cloud
были некоторые данные начальной загрузки.
После того, как я очистил этот каталог, сценарий User Data работал нормально.
rm -rf /var/lib/cloud/*
Вы должны убедиться, что cloud-init не запущен в это время. В противном случае вам нужно будет удалить его снова.
Это особенно верно, если вы попытаетесь удалить / var / lib / cloud /
внутри пользовательских данных. В этом случае вы должны использовать что-то вроде:
echo "rm -rf /var/lib/cloud/*" | at now + 1 min
в конце скрипта пользовательских данных.