2013-03-05 17 views
0

我已經看到了AWS上的所有文檔,但在安裝操作系統之後,我仍然不知道誰觸發了用戶數據。啓動腳本是否自動運行用戶數據(並下載用戶數據的內容),或者AWS服務器將根據用戶是否輸入用戶數據在此實例上「調用」用戶數據。 「引擎蓋下」發生了什麼?誰觸發aws用戶數據?

回答

1

實例是否運行用戶數據腳本完全取決於AMI及其附帶的軟件。有些AMI可以,有些不需要,您可以自己閱讀提供商的文檔或自行測試。

Ubuntu AMI和Amazon Linux AMI安裝了cloud-init軟件包。該軟件在啓動時會在您的實例(服務器)上運行各種進程。其中一個進程檢查它是否是第一個實例曾經啓動過,並且用戶數據是否以字符「#!」開頭。如果這兩個都是真的,那麼用戶數據在實例上運行。

+0

Eric,謝謝你的有用答案。這就是我期望的 – SoYoung 2013-03-06 07:06:52

+0

Eric,我還有一個問題:有些AMI是否根本沒有用戶數據工具?那些具有用戶數據工具的應用程序會在任何情況下自動啓動? – SoYoung 2013-03-06 07:27:54

+0

@SoYoung:如果一個AMI不包含處理用戶數據的軟件,那麼任何用戶數據腳本都將被忽略。 – 2013-03-08 21:56:59

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 

,你會得到用戶的數據由用戶通過。