我已在AWS上看到所有文档,但我仍然不知道在安装操作系统后触发用户数据的人员。启动脚本是否自动运行用户数据(并下载用户数据的内容),或者AWS服务器将根据用户是否输入用户数据来“调用”此实例上的用户数据。 “引擎盖下”发生了什么?
答案 0 :(得分:1)
实例是否运行用户数据脚本完全取决于AMI及其附带的软件。有些AMI会这样做,有些则不行,您可以自行阅读提供商的文档或进行测试。
Ubuntu AMI和Amazon Linux AMI安装了cloud-init软件包。该软件在启动时在您的实例(服务器)上运行各种进程。其中一个进程检查它是否是实例引导的第一个进程,以及用户数据是否以字符“#!”开头。如果这两个都为真,则在实例上运行用户数据。
答案 1 :(得分:0)
所有机器元数据都由cloud-init从medata服务器抓取,后者处理云实例的早期初始化。您可以在 /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
从云计算机,您将获得用户传递的用户数据。