За эти несколько дней я много раз обыскивал тему "скрипт пользовательских данных не работает", но до сих пор я еще не получил ни малейшего представления о своем деле, пожалуйста, помогите мне выяснить, что произошло, большое спасибо!
Согласно объяснению данных пользователя AWS:
Когда вы запускаете экземпляр в Amazon EC2, у вас есть возможность передавать пользовательские данные в экземпляр, который можно использовать для выполнения общих задач автоматической настройки и даже запуска сценариев после запуска экземпляра.
Поэтому я попытался передать свои собственные пользовательские данные при запуске экземпляра, это мои пользовательские данные:
\#!/bin/bash
echo 'test' > /home/ec2-user/user-script-output.txt
Но в этом пути нет файла: /home/ec2-user/user-script-output.txt
Я проверил /var/lib/cloud/instance/user-data.txt
, файл существует и такой же, как мой скрипт пользовательских данных.
Также я проверил журнал в /var/log/cloud-init.log
, сообщения об ошибке нет.
Но скрипт пользовательских данных работает, если я запускаю новый экземпляр с Amazon Linux (2014.09.01), но я не уверен, в чем разница между моим AMI (на основе Amazon Linux) и Amazon Linux.
Единственная другая часть, которую я видел, - это если я запускаю этот скрипт:
sudo yum list installed | grep cloud-init
Мой AMI:
cloud-init.noarch 0.7.2-8.33.amzn1 @amzn-main
Amazon Linux:
cloud-init.noarch 0.7.2-8.33.amzn1 установлен
Я не уверен, что это причина?
Если вам нужна дополнительная информация, я рад сообщить, пожалуйста, дайте мне знать, что произошло в моем собственном AMI и как это исправить?
большое спасибо
Обновить
Только что нашел ответ из этого поста,
Если я добавлю # cloud-boothook в начало файла пользовательских данных, это будет работать!
#cloud-boothook
#!/bin/bash
echo 'test' > /home/ec2-user/user-script-output.txt
Но все еще не уверен, почему.