Я создал образ экземпляра amazon ec2 (AMI), который хочу использовать при запуске новых экземпляров, но не понимаю, где хранить файл cloud-config.txt, чтобы он запускался во время первой загрузки.
Я видел, что вы можете передать этот файл, используя поле пользовательских данных в интерфейсе aws при запуске нового экземпляра, но я подумал, что было бы проще поместить файл в AMI, чтобы он мог автоматически использоваться как есть, без попросив меня вставить облачную конфигурацию в поле данных пользователя.
Я нашел файл cloud-config.txt на моем диске (в / var / lib / cloud / instance), но похоже, что этот файл был сгенерирован облачной инициализацией при загрузке, поэтому, если я что-то вставлю, он все равно будет перезаписан при следующей загрузке .
Я также попытался добавить файл конфигурации в каталог / var / lib / cloud / scripts / для каждого экземпляра, но кажется, что этот файл не запускается при загрузке.
Я также попытался добавить файл в /etc/cloud/cloud.cfg.d, но когда я это сделал, в /var/log/cloud-init.log появилось сообщение об ошибке модуля.
Вот содержимое файла конфигурации в стиле yaml:
#cloud-config
runcmd:
- cd /var
- sudo mkdir www
- cd www
- groupadd www
- [ sh, -c, "usermod -a -G www ec2-user" ]
- [ sh, -c, "chown -R root:www /var/www" ]
- chmod 2775 /var/www
- npm install grunt-cli -g
- bower install -g
final_message: "The system is finally up, after $UPTIME seconds"
# vim:syntax=yaml expandtab
Мне не удалось выяснить, куда поместить этот файл, чтобы облачный init использовал его при запуске нового экземпляра.
Вы не помещаете это в экземпляр. Скорее вы предоставляете его как поле пользовательских данных при запуске нового экземпляра.