Я видел весь документ на AWS, но до сих пор не знаю, кто запускает пользовательские данные после установки операционной системы. Сценарий запуска автоматически запускает пользовательские данные (и загружает содержимое пользовательских данных) или сервер AWS будет «вызывать» пользовательские данные в этом экземпляре в зависимости от того, ввел ли пользователь данные пользователя. Что происходит «под капотом»?
Кто запускает пользовательские данные aws?
Ответы:
Будет ли экземпляр запускать сценарии пользовательских данных или нет, полностью зависит от AMI и программного обеспечения, с которым он поставляется. Некоторые AMI поддерживают, некоторые - нет, и вам решать, прочитать документацию поставщика или проверить ее самостоятельно.
Для AMI Ubuntu и AMI Amazon Linux установлен программный пакет cloud-init. Это программное обеспечение запускает различные процессы на вашем экземпляре (сервере) при загрузке. Один из процессов проверяет, была ли это первая загрузка экземпляров, и начинаются ли пользовательские данные с символов «#!». Если оба из них верны, тогда пользовательские данные запускаются на экземпляре.
Все метаданные машины сканируются с сервера medata с помощью cloud-init, который обрабатывает раннюю инициализацию экземпляра облака. Вы можете найти подробную информацию об этой операции в /var/log/cloud-init.log. т.е.
...
2013-10-14 21:06:50,504 - DataSourceEc2.py[DEBUG]: removed the following from metadata urls: ['http://instance-data:8773']
2013-10-14 21:06:50,596 - DataSourceEc2.py[DEBUG]: Using metadata source: 'http://169.254.169.254'
2013-10-14 21:06:53,449 - DataSourceEc2.py[DEBUG]: crawl of metadata service took 2s
...
Сервер Metada распознает клиента и передает ему необходимые данные. Если вы позвоните
curl http://169.254.169.254/latest/user-data
с облачной машины вы получите пользовательские данные, переданные пользователем.