[英]AWS AutoScaling - Instance Lifecycle
只是想獲得一些有關aws asg
的信息。
這是我的情況;
ubuntu ami
從launch config
啟動asg
ansible
在asg
設置(安裝所有必需的軟件包並進行配置)實例 python
將代碼部署到實例 快樂的日子,一切都已准備就緒。
問題是,如果我應該更改asg
的指標,以便終止所有實例,然后將其更改回原始指標,那么新實例將變為空白! 沒有包裝,沒有代碼!
1-這是預期的行為嗎?
2-同樣,如果asg
有2個實例並且可以擴展到5個實例,它將添加3個空白實例,還是要復制具有代碼和程序包的1個正在運行的實例並旋轉3個新實例?
如果1為是,我該如何解決? 我是否需要使用預先烘焙的圖像? 但是,即使那樣也沒有最新的代碼。
基本上在非高峰時段,我希望能夠將自己的asg
“清零”,因此沒有實例在運行,然后在高峰時段再次恢復。 每天都必須重新配置和部署代碼是沒有意義的。
任何幫助/建議表示贊賞。
您的方法所發生的問題是,您正在將代碼部署到啟動實例。 因此,當您關閉ASG指標實例並再次啟動時,它們會從AMI啟動,因此它們會丟失代碼和配置。 在自動縮放時,切記要使用ASG使用的AMI和已啟動的實例來啟動新啟動的實例。
為避免這種情況,您可以使用將運行配置腳本的用戶數據,並在從AMI啟動實例時將數據從您的存儲庫中提取到每個實例上的實例,從而不會啟動空白實例。
閱讀此開發者指南以獲取用戶數據
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html
blank
您from my base image
) 通常的選擇是:
每當有新的代碼版本時(在構建/部署過程中可以很容易地將其自動化)烘烤新圖像,但是只有在不太常見的情況下,他才有意義。
配置您的實例以在啟動時提取最新的軟件版本。 有幾個選項都涉及用戶數據腳本 。 您可以直接從SCM提取最新版本,或者例如在構建過程中將最新軟件包放置到S3存儲桶中,並在啟動時配置實例以從S3提取它並自行部署,或者使用您認為合適的任何方法。 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.