新聞中心
AWS Auto Scaling組失控“暴走”
作者:翻譯:談翔 2015-12-02 15:23:56
云計(jì)算
云安全 AWS Auto Scaling組是一個(gè)優(yōu)秀的功能,該自動(dòng)化系統(tǒng)負(fù)責(zé)管理服務(wù)器宕機(jī)并為用戶自動(dòng)擴(kuò)展服務(wù)。一個(gè)Auto Scaling組連接到彈性負(fù)載均衡,則會(huì)讓確保應(yīng)用總是啟動(dòng)并處于運(yùn)行中這件事變得容易。

創(chuàng)新互聯(lián)客戶idc服務(wù)中心,提供達(dá)州托管服務(wù)器、成都服務(wù)器、成都主機(jī)托管、成都雙線服務(wù)器等業(yè)務(wù)的一站式服務(wù)。通過(guò)各地的服務(wù)中心,我們向成都用戶提供優(yōu)質(zhì)廉價(jià)的產(chǎn)品以及開放、透明、穩(wěn)定、高性價(jià)比的服務(wù),資深網(wǎng)絡(luò)工程師在機(jī)房提供7*24小時(shí)標(biāo)準(zhǔn)級(jí)技術(shù)保障。
AWS Auto Scaling組是一個(gè)優(yōu)秀的功能,該自動(dòng)化系統(tǒng)負(fù)責(zé)管理服務(wù)器宕機(jī)并為用戶自動(dòng)擴(kuò)展服務(wù)。一個(gè)Auto Scaling組連接到彈性負(fù)載均衡,則會(huì)讓確保應(yīng)用總是啟動(dòng)并處于運(yùn)行中這件事變得容易。
管理員可以指定一個(gè)亞馬遜Web服務(wù)(AWS)Auto Scaling組使用彈性負(fù)載均衡(ELB)健康檢查,這將確保該服務(wù)在服務(wù)器上是運(yùn)行的–而不只是服務(wù)器本身是運(yùn)行的。這可以快速和自動(dòng)更換任何行為不正常的服務(wù)器,殺掉那些壞的服務(wù)器并用好的干凈的服務(wù)器取代它們。
使用ELB健康檢查,而不僅僅是彈性計(jì)算云(EC2)健康檢查是很重要的。我碰到過(guò)這樣的問題,服務(wù)器仍在運(yùn)行,但服務(wù)器上的服務(wù)已經(jīng)死掉并且無(wú)法重新啟動(dòng)。該ELB會(huì)從服務(wù)器斷開,因?yàn)樗巡辉俜?wù)請(qǐng)求,但AWS Auto Scaling組并沒有替換它,因?yàn)榉?wù)器仍在運(yùn)行。最終,所有服務(wù)器都有了同樣的問題,該服務(wù)停止工作。然后,我收到了一個(gè)來(lái)自Pingdom的警告,通知我說(shuō)Web服務(wù)不工作。AWS Auto Scaling組一直認(rèn)為所有的服務(wù)器都正常,沒有檢測(cè)出實(shí)際的Web服務(wù)已經(jīng)死亡并且無(wú)法重啟。
***對(duì)每一個(gè)生產(chǎn)服務(wù)使用Scaling組,即使他們并不需要真正的自動(dòng)擴(kuò)展。我的大部分AWS Auto Scaling組只是簡(jiǎn)單的描述為,“保持X數(shù)量的服務(wù)器一直運(yùn)行?!边@意味著,如果出現(xiàn)一個(gè)問題然后其中一臺(tái)服務(wù)器宕掉,該服務(wù)器會(huì)被殺掉并自動(dòng)替換。這并不意味著我需要根據(jù)負(fù)載自動(dòng)增加服務(wù)器的數(shù)量。但那使得自動(dòng)化一些簡(jiǎn)單的DevOps任務(wù)如重新啟動(dòng)一臺(tái)服務(wù)器變得更容易。
什么地方出錯(cuò)了?
關(guān)于AWS EC2定價(jià)的一個(gè)需要小小討論的事實(shí)是,用戶按照每臺(tái)服務(wù)器運(yùn)行任意部分小時(shí)來(lái)支付費(fèi)用。這意味著,如果一個(gè)用戶啟動(dòng)服務(wù)器,然后在五分鐘內(nèi)殺死它,他仍然要為這完整的一小時(shí)買單。這似乎是可接受的,但是如果一個(gè)用戶殺掉一個(gè)服務(wù)器然后使用完全相同類型和位置的一個(gè)新的服務(wù)器來(lái)替換它,這個(gè)舉動(dòng)會(huì)讓費(fèi)用翻倍。
起初,我啟動(dòng)了一個(gè)服務(wù)器,被收取一臺(tái)服務(wù)器的費(fèi)用,五分鐘后殺掉該服務(wù)器,然后換成另一臺(tái)。但我被收取了2倍服務(wù)器運(yùn)行的費(fèi)用,直到***臺(tái)服務(wù)器被啟動(dòng)(圖1)之后達(dá)到一小時(shí)。當(dāng)你將那種計(jì)費(fèi)模式和AWS Auto Scaling組不斷殺死和重新啟動(dòng)服務(wù)器的錯(cuò)誤結(jié)合起來(lái),成本就會(huì)不斷上漲。
Auto Scaling在五分鐘后殺死一個(gè)實(shí)例并啟動(dòng)另一個(gè)。
在我的這個(gè)案例中,Auto Scaling組的配置有一個(gè)問題,一個(gè)服務(wù)器連續(xù)被殺死并在有問題的同一區(qū)域內(nèi)被重新啟動(dòng)。這意味著,每五分鐘,一個(gè)新的服務(wù)器啟動(dòng),舊的被取代,從而產(chǎn)生每小時(shí)12個(gè)實(shí)例小時(shí)的費(fèi)用 - 即便在任何時(shí)間永遠(yuǎn)都只有一個(gè)實(shí)例在運(yùn)行。并且該實(shí)例甚至都沒有正常工作。
我一開始沒有注意到,直到收到之后的帳單列表,因?yàn)檫@個(gè)原因出現(xiàn)了一筆額外的1200美金的支出。這時(shí),我聯(lián)系了AWS的支持人員。當(dāng)我發(fā)現(xiàn)這個(gè)問題的時(shí)候我非常沮喪,但亞馬遜修復(fù)了它并給了我由于壞掉的Auto Scaling組導(dǎo)致的額外的信用度。 AWS還針對(duì)該問題進(jìn)行了檢測(cè),并給了我Auto Scaling組失控的2個(gè)月的信用度。
現(xiàn)在回想起來(lái),我本應(yīng)該設(shè)置Auto Scaling組的通知,我本應(yīng)該驗(yàn)證Auto Scaling的行為不可能每15分鐘超過(guò)一次。有了這些改變,最多只可能出現(xiàn)四倍的正常收費(fèi)。這仍然是糟糕的,但卻沒有12倍那么糟糕。我本應(yīng)該驗(yàn)證所有地區(qū)的服務(wù)器都正常啟動(dòng)了。
如何防止Auto Scaling故障
首先,訂閱Auto Scaling組通知 - 即使它只是使用一個(gè)電子郵件地址,因?yàn)槭褂脤ず艨赡苡悬c(diǎn)極端。管理員還應(yīng)該小心該組突然“暴走”。如果確實(shí)發(fā)生了一些什么狀況并且AWS Auto Scaling組不停的啟動(dòng)和替代服務(wù)器,管理員則可以禁用一個(gè)可用區(qū)域或阻止該組執(zhí)行任何操作。把“冷靜”時(shí)間增加到15分鐘也許是個(gè)不錯(cuò)的主意,以防止類似的錯(cuò)誤發(fā)生到完全失控。
***,確保ELB在服務(wù)器啟動(dòng)之后給予了足夠?qū)捲5臅r(shí)間來(lái)決定是否最終會(huì)正常啟動(dòng)。如果該服務(wù)通常需要5分鐘才能啟動(dòng)成功,那么給它15分鐘。如果開發(fā)人員檢查到他至少有2臺(tái)服務(wù)器跑在ELB后面,在新的服務(wù)器正在啟動(dòng)時(shí),運(yùn)行的服務(wù)器必須能夠處理負(fù)載。
提供額外的能力總是一個(gè)不錯(cuò)的主意,因?yàn)橛脩艨赡苄枰谛迯?fù)問題的時(shí)候停掉一些服務(wù)器。請(qǐng)記住,AWS Elastic Beanstalk內(nèi)部使用的是Auto Scaling組,因此也可以訂閱對(duì)他們的通知,如果他們被設(shè)置好的話。
原文鏈接:http://www.searchcloudcomputing.com.cn/showcontent_91495.htm
文章標(biāo)題:AWSAutoScaling組失控“暴走”
分享URL:http://www.dlmjj.cn/article/dhgojsg.html


咨詢
建站咨詢
