亞馬遜網(wǎng)絡(luò)服務(wù)通過靈活性、簡單性和創(chuàng)新為您企業(yè)的環(huán)境帶來了革命,但是您企業(yè)是否通過其實(shí)現(xiàn)了原本預(yù)期的節(jié)省成本的目標(biāo)呢?本文中,我們將為廣大讀者諸君介紹優(yōu)化您企業(yè)AWS開銷的一些關(guān)鍵性的策略。
自從其于2006年進(jìn)入市場以來,亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)就已然永遠(yuǎn)地改變了整個(gè)IT世界了。盡管其價(jià)格多年來已經(jīng)大幅下降了,但仍然有許多企業(yè)客戶了解到,遷移到公共云服務(wù)并不總是能夠幫助他們實(shí)現(xiàn)預(yù)期的成本節(jié)約的目標(biāo)。
這并不意味著遷移到公共云服務(wù)是一個(gè)錯(cuò)誤。公共云服務(wù)在敏捷性、響應(yīng)性、簡化操作和提高創(chuàng)新方面提供了巨大的優(yōu)勢。
這方面的錯(cuò)誤在于:假設(shè)在不實(shí)施管理和自動(dòng)化的情況下遷移到公共云服務(wù),也能帶來成本的節(jié)約。為了應(yīng)對(duì)不斷上漲的云基礎(chǔ)設(shè)施成本,我們建議您企業(yè)組織不妨參考和借鑒本文中所介紹的這些最佳實(shí)踐方案,以減低和優(yōu)化成本,并實(shí)現(xiàn)您企業(yè)環(huán)境的價(jià)值最大化。
刪除獨(dú)立的EBS卷
在AWS賬戶中發(fā)現(xiàn)數(shù)千美元的獨(dú)立未連接的彈性塊存儲(chǔ)服務(wù)( Elastic Block Storage ,EBS)卷是很普遍的。這些都是正在消耗成本,但卻未被用于任何用途的卷(volumes)。當(dāng)一個(gè)實(shí)例啟動(dòng)時(shí),一個(gè)EBS卷通常會(huì)被連接,以作為應(yīng)用程序的本地塊存儲(chǔ)。而當(dāng)一個(gè)實(shí)例通過AWS控制臺(tái)啟動(dòng)時(shí),會(huì)有一個(gè)確保相關(guān)的EBS卷在該實(shí)例終止時(shí)被刪除的設(shè)置。
但是,如果未選中該設(shè)置,則當(dāng)一個(gè)實(shí)例終止時(shí),該卷將仍然繼續(xù)保持。而亞馬遜也將繼續(xù)按全價(jià)收取該卷的費(fèi)用,盡管事實(shí)上,該卷已經(jīng)不使用了。
通過在您的基礎(chǔ)設(shè)施中不斷檢查獨(dú)立未連接的EBS卷,可以幫助您企業(yè)每月節(jié)省數(shù)千美元的AWS賬單。
一個(gè)大型的網(wǎng)絡(luò)游戲公司就通過刪除未使用的EBS卷,并主動(dòng)監(jiān)測獨(dú)立未連接卷的方法,降低了三分之一的EBS的使用。
專業(yè)貼士:最佳的實(shí)踐方案是,當(dāng)某個(gè)卷有超過兩個(gè)星期的時(shí)間未被連接時(shí),就對(duì)其進(jìn)行刪除,因?yàn)橥痪肀辉俅卫檬遣豢赡艿摹?/p>
刪除舊的過期快照
許多企業(yè)組織都使用EBS快照來創(chuàng)建即時(shí)點(diǎn)副本的恢復(fù)點(diǎn),以防數(shù)據(jù)丟失或在發(fā)生災(zāi)難的情況下使用。然而,如果得不到嚴(yán)密監(jiān)控的話,EBS快照的成本可能會(huì)迅速失控。單個(gè)快照的成本并不昂貴,但是,當(dāng)供應(yīng)多個(gè)快照時(shí),其成本會(huì)快速增長。
而使得這個(gè)問題的嚴(yán)重程度進(jìn)一步加劇的一個(gè)因素是:企業(yè)用戶可以通過配置設(shè)置,來自動(dòng)基于每日的工作創(chuàng)建后續(xù)快照,而沒有安排刪除舊的快照。
企業(yè)組織可以通過監(jiān)控快照成本和每個(gè)實(shí)例的使用情況,確保其不會(huì)失控,進(jìn)而得以獲得對(duì)于EBS快照的控制。在您企業(yè)設(shè)置一個(gè)應(yīng)該為每個(gè)實(shí)例保留多少快照的標(biāo)準(zhǔn)。請(qǐng)記住,大部分的時(shí)候,一項(xiàng)恢復(fù)都是基于最新的快照進(jìn)行的。
一家B2B SaaS公司發(fā)現(xiàn),在其數(shù)百萬份的EBS快照中,有很大比例的EBS快照的歷史都已經(jīng)超過兩年了,完全可以刪除。
專業(yè)貼士:尋找適合刪除的快照的一種方法是確定該快照沒有與之相關(guān)聯(lián)的卷。當(dāng)一個(gè)卷被刪除時(shí),其快照仍然保持在您的環(huán)境中是很常見的。務(wù)必小心不要?jiǎng)h除正在作為實(shí)例的卷被使用的快照。
刪除未關(guān)聯(lián)的彈性IP地址
一個(gè)彈性IP地址是可以與一個(gè)實(shí)例相關(guān)聯(lián)的一個(gè)公共IP地址,允許該實(shí)例能夠通過互聯(lián)網(wǎng)被訪問到。當(dāng)一個(gè)實(shí)例運(yùn)行時(shí),一個(gè)彈性IP地址的定價(jià)結(jié)構(gòu)是獨(dú)特,其彈性IP是免費(fèi)的。
然而,如果一個(gè)實(shí)例被停止或終止,該彈性IP地址又沒有被關(guān)聯(lián)到另一個(gè)實(shí)例,您企業(yè)仍然會(huì)為該未被關(guān)聯(lián)的彈性IP收取費(fèi)用。不幸的是,在AWS管理控制臺(tái)中,想要確定并對(duì)未被關(guān)聯(lián)的彈性IP實(shí)施管理是很難的。
這可能會(huì);也可能不會(huì)推動(dòng)您企業(yè)的AWS環(huán)境成本的顯著上漲,但掌握浪費(fèi)的資源,并在管理成本失去控制之前,對(duì)其進(jìn)行積極主動(dòng)而非消極被動(dòng)的管理卻是相當(dāng)關(guān)鍵的。
從最佳實(shí)踐的角度來看,每月彈性IP收費(fèi)應(yīng)盡可能接近零。如果未關(guān)聯(lián)的彈性IP是在AWS賬戶中,他們要么需要被關(guān)聯(lián)到某個(gè)實(shí)例;要么就徹底刪除,以免浪費(fèi)成本。
一家大型電信公司了解到:在其環(huán)境中的微小的變化會(huì)帶來彈性IP地址費(fèi)用的顯著改變。在減少其整體的月度開支過程中,該公司在其帳戶之一終止了數(shù)百個(gè)閑置的實(shí)例。然而,該公司的領(lǐng)導(dǎo)忘記了釋放關(guān)聯(lián)的彈性IP地址。直到隨后的一個(gè)月,AWS的賬單發(fā)票被寄來,其彈性IP費(fèi)用將近40000美元,該公司的財(cái)務(wù)部門才了解到如此代價(jià)高昂的錯(cuò)誤。
終止僵尸資產(chǎn)
僵尸資產(chǎn)是在您企業(yè)的云環(huán)境中運(yùn)行,但卻并沒有被用于任何目的的基礎(chǔ)設(shè)施組件。僵尸資產(chǎn)有多種形式。例如,他們可以是曾用于特定目的,現(xiàn)在已經(jīng)不再使用且未被關(guān)閉的EC2。當(dāng)在實(shí)例啟動(dòng)過程中失敗或由于腳本錯(cuò)誤未能重新配置實(shí)例時(shí),僵尸EC2實(shí)例也可能會(huì)發(fā)生。
僵尸資產(chǎn)也可以是以未被有效使用的閑置彈性負(fù)載均衡器(ELB);或者一款閑置的關(guān)系數(shù)據(jù)庫服務(wù)(RDS)實(shí)例的形式出現(xiàn)。
不管是任何原因,只要這些資產(chǎn)處于運(yùn)行狀態(tài),AWS都將對(duì)其收取費(fèi)用。
這些僵尸資產(chǎn)必須被隔離,評(píng)估,如果被認(rèn)為不重要的話,并應(yīng)該立即終止。在對(duì)其終止或停止之前,對(duì)資產(chǎn)進(jìn)行快照或時(shí)間點(diǎn)復(fù)制,以確保如果該資產(chǎn)再次需要的話您可以恢復(fù)它。
一家客戶有一個(gè)夜間處理進(jìn)程,以幫助加快其工程速度——將一個(gè)匿名生產(chǎn)數(shù)據(jù)庫加載到RDS,以便在一個(gè)安全的環(huán)境用于測試和驗(yàn)證。這個(gè)過程運(yùn)作良好,并為工程師們節(jié)省了大量的時(shí)間。
然而,雖然自動(dòng)化在新的環(huán)境中很擅長,該客戶從來沒有做過一個(gè)清理僵尸資產(chǎn)的計(jì)劃。
每天晚上,一個(gè)新的RDS實(shí)例將運(yùn)轉(zhuǎn)起來,關(guān)聯(lián)到相關(guān)的資源,然后被遺棄,最終留下數(shù)百僵尸資源。
專業(yè)貼士:通過識(shí)別在過去的30天內(nèi),CPU的最大利用率小于5%的實(shí)例來開始搜尋您企業(yè)的僵尸。這并不意味著這個(gè)實(shí)例是一個(gè)僵尸,但其值得進(jìn)一步調(diào)查研究。
升級(jí)到最新一代的實(shí)例
每隔幾年,AWS都會(huì)發(fā)布下一代的實(shí)例,具備改進(jìn)的價(jià)格計(jì)算性能和其他諸如集群、增強(qiáng)的網(wǎng)絡(luò)、關(guān)聯(lián)新類型的EBS卷等功能。例如,將一款c1.xlarge集群升級(jí)到c3.xlarge能夠削減高達(dá)60%的成本,同時(shí)帶來更快的處理速度。
對(duì)大多數(shù)企業(yè)客戶而言,從上一代實(shí)例升級(jí)到當(dāng)前一代的實(shí)例是一個(gè)雙贏。其不僅提供了性能優(yōu)勢,同時(shí)也帶來了每小時(shí)的成本節(jié)約。
對(duì)大多數(shù)公司來說,集群實(shí)例類型從第一代到第二代的遷移將有可能是一個(gè)漸進(jìn)的過程。第一步是決定哪些帳戶擁有待被轉(zhuǎn)換的實(shí)例。如果您企業(yè)在預(yù)留實(shí)例( Reserved Instances,RIs)投入了巨資,那么只有那些到期或嚴(yán)格按需運(yùn)行的實(shí)例應(yīng)該被轉(zhuǎn)換。
一家大型的B2B SaaS公司發(fā)現(xiàn),在過去12個(gè)月內(nèi),他們所運(yùn)行的60%的實(shí)例時(shí)間采用的都是老一代的實(shí)例類型。分析顯示,將這些實(shí)例升級(jí)到最新一代,將幫助他們每年節(jié)省數(shù)百萬美元。
適當(dāng)調(diào)整EC2實(shí)例和EBS卷的規(guī)模
調(diào)整彈性計(jì)算云(Elastic Compute Cloud,EC2)實(shí)例的規(guī)模是具有潛在最大影響的降低成本的舉措。開發(fā)人員們啟動(dòng)比必要的更大的新實(shí)例是很常見的。
這可能是故意給他們自己額外的余量,因?yàn)樗麄儾恢佬碌墓ぷ髫?fù)載的性能要求。一個(gè)EC2實(shí)例的過度配置可能會(huì)導(dǎo)致更高的成本。
如果沒有性能監(jiān)控或云管理工具,會(huì)很難評(píng)價(jià)資產(chǎn)是否是過度配置或配置不足。
有些信息可以從Amazon CloudWatch云監(jiān)控服務(wù)收集,考慮CPU的利用率、內(nèi)存利用率、磁盤利用率和網(wǎng)絡(luò)輸入/輸出利用率是非常重要的。隨著時(shí)間的推移審查這些趨勢指標(biāo),使得企業(yè)用戶可以圍繞著減少實(shí)例規(guī)模大小而做出決定,而不損害實(shí)例上的應(yīng)用程序的性能。
因?yàn)閷?shí)例利用不充分是很常見的,您企業(yè)可以通過確保所有的實(shí)例都有合適的規(guī)模大小來降低成本。
專業(yè)貼士:為合理精簡規(guī)模的一個(gè)好的開始是尋找平均CPU利用率低于5%,和30天內(nèi)最大CPU利用率低于20%的實(shí)例。符合這一標(biāo)準(zhǔn)的實(shí)例可以考慮精簡或終止了。
與EC2實(shí)例類似,EBS卷也可以被適當(dāng)調(diào)整規(guī)模。不是看其CPU、內(nèi)存、磁盤和網(wǎng)絡(luò)方面的指標(biāo),EBS卷的規(guī)模調(diào)整所需考慮的關(guān)鍵要素是容量、IOPS和吞吐量。如前所述,移除未關(guān)聯(lián)的卷是減少與EBS卷相關(guān)的成本的一種方式。
另一種方法是:評(píng)估哪些卷被過度配置,并且可以通過修改以潛在的節(jié)約成本。 AWS提供了多種類型的EBS卷,從冷HDD硬盤驅(qū)動(dòng)器到配置的IOPS SSD固態(tài)硬盤,每種類型都有其各自不同的價(jià)格和性能。通過在所有卷上分析讀/寫能力,您企業(yè)可以找到節(jié)約成本的機(jī)會(huì)。
如果一個(gè)卷被關(guān)聯(lián)到一個(gè)實(shí)例,并且?guī)缀鯖]有在該卷上有任何的讀取/寫入操作,該實(shí)例要么是無效的;要么是不必要的卷。這些都可以考慮進(jìn)行規(guī)模調(diào)整。
通常,看到通用SSD或配置的IOPS SSD卷幾乎很長的一段時(shí)間沒有任何讀/寫操作是很典型的。他們可以被降級(jí)為吞吐量優(yōu)化HDD硬盤或冷HDD硬盤卷,以降低成本。
在一個(gè)日程安排進(jìn)度表上停止和啟動(dòng)實(shí)例
正如前面所強(qiáng)調(diào)的,只要實(shí)例是處于運(yùn)行狀態(tài),AWS都將收取費(fèi)用。相反,如果一個(gè)實(shí)例處于停止?fàn)顟B(tài),則沒有關(guān)聯(lián)到該實(shí)例的相關(guān)費(fèi)用。
對(duì)于那些24小時(shí)全天候運(yùn)行的實(shí)例,根據(jù)月份的不同,亞馬遜每月將對(duì)每個(gè)實(shí)例收取672至744小時(shí)的費(fèi)用。而如果實(shí)例在工作日的下午5點(diǎn)到次日9點(diǎn)之間、以及周末和節(jié)假日被關(guān)閉,則每月每個(gè)實(shí)例收取152至184小時(shí)的費(fèi)用,從而每月為您企業(yè)節(jié)省了488至592小時(shí)的費(fèi)用。
這是一個(gè)極端的例子,因?yàn)殪`活的工作時(shí)間和全球化的團(tuán)隊(duì)意味著您企業(yè)不可能在正常工作時(shí)間以外關(guān)閉實(shí)例。然而,生產(chǎn)之外,您可能會(huì)發(fā)現(xiàn)許多并不需要真正全天候運(yùn)行的實(shí)例。
最具成本效益的環(huán)境能夠基于一個(gè)日程安排設(shè)置來動(dòng)態(tài)地停止和啟動(dòng)實(shí)例。每個(gè)群集的實(shí)例都可以以不同的方式處理。這些開關(guān)燈類型的政策往往比RI購買模式更符合成本效益,所以關(guān)鍵是要分析對(duì)于這種政策的實(shí)施。
專業(yè)貼士:為非生產(chǎn)系統(tǒng)每周應(yīng)該運(yùn)行的小時(shí)數(shù)設(shè)定一個(gè)目標(biāo)。一家大型出版公司將該目標(biāo)設(shè)定為每周不到80小時(shí),從而幫助他們每月節(jié)省了數(shù)千美元。
在EC2、RDS和自動(dòng)優(yōu)化上購買預(yù)留實(shí)例
采購預(yù)留實(shí)例(RI)是一種非常有效的節(jié)省成本的技術(shù),但許多企業(yè)組織往往都被過多的選項(xiàng)搞得不知所措。
AWS的預(yù)留實(shí)例讓您企業(yè)能夠充分利用特定的實(shí)例類型以換取對(duì)您企業(yè)計(jì)算費(fèi)用的折扣,以及為保證您企業(yè)在未來運(yùn)行此類型的一個(gè)實(shí)例的能力而提供容量預(yù)留。
預(yù)留實(shí)例類似于購買的優(yōu)惠券,無論起是否是全部預(yù)付、部分預(yù)付、或者沒有預(yù)付的購買方式,客戶均可以應(yīng)用到正在運(yùn)行的實(shí)例。較之按需購買的價(jià)格,預(yù)留實(shí)例可以為您企業(yè)節(jié)省高達(dá)75%的費(fèi)用,所以,對(duì)于任何持續(xù)使用EC2和RDS的企業(yè)客戶而言,這根本就是想都不用想的。
圍繞著預(yù)留實(shí)例的一個(gè)常見的誤解是他們不能被修改。這不是真的!一旦購買,預(yù)留實(shí)例可以以幾種不增加額外成本的方法被修改:
在同一區(qū)域內(nèi)切換可用性區(qū)
在經(jīng)典EC2與虛擬私有云之間切換
在同一個(gè)系列中改變實(shí)例類型 (這包括拆分和合并實(shí)例類型)
改變從預(yù)留實(shí)例采購中獲得益處的帳戶
通過預(yù)留實(shí)例采購,最成熟的AWS客戶運(yùn)行超過80%的EC2基礎(chǔ)設(shè)施。一個(gè)最佳的實(shí)踐方法是不要讓這個(gè)數(shù)字下降到60%以下,以獲得最大效率。
一個(gè)消費(fèi)者旅游網(wǎng)站現(xiàn)在通過預(yù)留實(shí)例運(yùn)行其超過90%的EC2實(shí)例,從而為該公司每年節(jié)省了數(shù)百萬美元。
關(guān)鍵在于不僅要購買預(yù)留實(shí)例,同時(shí)還要不斷對(duì)其進(jìn)行修改,以獲得最大的價(jià)值。
如果預(yù)留是閑置或沒有得到充分利用,修改意味著預(yù)留實(shí)例可以包括更大程度的按需使用。這確保了預(yù)留實(shí)例盡可能有效地操作,保存了利用最大化的機(jī)會(huì)。
在AWS Redshift和ElastiCache上購買保留節(jié)點(diǎn)
EC2和RDS并不是在AWS上使用預(yù)訂的唯一資產(chǎn)。Redshift和ElastiCache是兩項(xiàng)您企業(yè)可以預(yù)訂購買以降低成本的額外服務(wù)。
Redshift保留節(jié)點(diǎn)的功能類似于EC2和RDS實(shí)例,其可以全部預(yù)付、部分預(yù)付、或1到3年的期限沒有預(yù)付費(fèi)用。
ElastiCache預(yù)留緩存節(jié)點(diǎn)讓您企業(yè)能夠?yàn)槟胍A(yù)留的每個(gè)緩存節(jié)點(diǎn)選擇一個(gè)費(fèi)用較低、一次性付款的方式,并反過來為該緩存節(jié)點(diǎn)收到一個(gè)顯著的每小時(shí)收費(fèi)折扣。
亞馬遜ElastiCache提供了三種ElastiCache預(yù)留緩存節(jié)點(diǎn)類型(輕型、中型和重型利用預(yù)留緩存節(jié)點(diǎn)),使您企業(yè)可以通過有效的小時(shí)價(jià)格,平衡您付出的預(yù)先付款。
充分利用預(yù)留節(jié)點(diǎn),可以為您企業(yè)的AWS賬單帶來顯著影響。
將對(duì)象數(shù)據(jù)遷移到成本較低的層
AWS以不同的價(jià)位和性能水平提供了幾個(gè)層的對(duì)象存儲(chǔ)。許多AWS用戶傾向于S3存儲(chǔ),但您企業(yè)可以通過將舊數(shù)據(jù)遷移到成本較低的層節(jié)省75%以上的成本。
最佳的實(shí)踐方法是基于其實(shí)際使用情況,將數(shù)據(jù)在不同的存儲(chǔ)層之間遷移。例如,罕見訪問存儲(chǔ)(Infrequent Access Storage)便是長期存儲(chǔ)、備份和災(zāi)難恢復(fù)內(nèi)容的理想選擇,而Glacier則最適合存檔。
此外,罕見訪問存儲(chǔ)類別設(shè)置被為對(duì)象級(jí)別,并可以作為標(biāo)準(zhǔn)存在于同一個(gè)存儲(chǔ)中。轉(zhuǎn)換與在存儲(chǔ)中編輯內(nèi)容的性質(zhì)或創(chuàng)建一個(gè)生命周期的轉(zhuǎn)換策略以存儲(chǔ)類別之間自動(dòng)轉(zhuǎn)換S3對(duì)象一樣簡單。
如下是一個(gè)對(duì)AWS當(dāng)前對(duì)象存儲(chǔ)產(chǎn)品的快速一覽:
專業(yè)貼士:最佳的實(shí)踐做法是,任何存儲(chǔ)在S3中超過30天的對(duì)象都應(yīng)該被轉(zhuǎn)換到S3罕見訪問。雖然標(biāo)準(zhǔn)存儲(chǔ)類的定價(jià)是基于在存儲(chǔ)中所存儲(chǔ)的內(nèi)容的量而分層的,最低價(jià)格為每月每GB 0.0275美元,罕見訪問存儲(chǔ)則仍然為每月每GB 0.0125美元。
結(jié)論
重要的是要記住,這些最佳實(shí)踐方法并不意味著是一次性的活動(dòng),而是持續(xù)性的過程。由于云計(jì)算的動(dòng)態(tài)性和不斷變化的性質(zhì),企業(yè)用戶成本優(yōu)化的活動(dòng)最好應(yīng)不斷進(jìn)行。