2014-08-28 74 views
0

我們正在與客戶討論如何引導帶自動擴展AWS實例。實質上,一個實例幾乎沒有任何東西。它有一個通用的啓動腳本,詢問「我下一步該怎麼做?」引導帶AWS自動擴展實例

我在想我們可以使用亞馬遜標籤,並讓實例本身要求AWS使用awscli工具集來發現它的作用。這可以給木偶信息,環境信息(例如dev/stage/prod)等等。這應該可以通過DescribeTags特權來實現。然而,我面臨阻力。

我在尋找新的AWS實例如何找出它自己的目的的建議,無論是來自AWS還是來自某種服務代理。

+0

不打算讓這個答案(除非它真的是你的答案),但我們標記並讓實例爲你的需要提供一個RPM(或deb)。 – 2014-08-28 12:49:08

+0

在你的實現中,虛擬機如何發現它自己的標籤,這是否表明它安裝的RPM的名稱? – Jepper 2014-08-28 12:53:27

+0

編寫一個啓動腳本來查詢API並安裝相應的軟件包 – 2014-08-28 12:55:28

回答

1

EC2實例提供了一個名爲User Data功能旨在解決這個問題。用戶數據執行一個shell腳本來執行新實例的配置功能。典型模式是使用用戶數據下載或克隆配置管理源存儲庫(例如Chef,Puppet或Ansible),並在本地運行它以執行更完整的配置。

正如@ e-j-brennan所述,預先捆綁已經配置好的AMI也很常見。這種方法更快,因爲在啓動時不需要進行配置,但可能不太靈活,因爲實例未定製。

您可能也有興趣instance metadata,它通過只有實例本身才能訪問的URL路徑公開一些數據,如網絡細節和標籤。

0

我建議使用AWS Beanstalk創建特定實例,這樣可以更輕鬆地創建AutoScaling組和啓動配置(啓動代碼),您可以稍後再編輯它們。您也只需支付EC2實例,並且您可以從Beanstalk控制檯管理大部分事情。