某公司在 AWS 平臺(tái)大規(guī)模使用 Amazon EC2 實(shí)例來(lái)支撐各類業(yè)務(wù)應(yīng)用。隨著業(yè)務(wù)的發(fā)展和實(shí)例部署數(shù)量的增加,對(duì) EC2 配額的有效監(jiān)控變得至關(guān)重要。項(xiàng)目組需要實(shí)時(shí)了解 EC2 配額的使用情況,當(dāng)配額接近上限時(shí)能夠及時(shí)收到警報(bào),以便提前采取措施,避免因配額不足導(dǎo)致新實(shí)例無(wú)法啟動(dòng),進(jìn)而影響業(yè)務(wù)的正常運(yùn)行。
Amazon CloudWatch 能夠收集和跟蹤指標(biāo),收集監(jiān)控?cái)?shù)據(jù)并設(shè)置警報(bào)。 本方案利用 CloudWatch 對(duì) EC2 的配額相關(guān)指標(biāo)進(jìn)行監(jiān)控。通過(guò) CloudWatch 監(jiān)控 EC2 按需運(yùn)行的特定實(shí)例類型配額,實(shí)例配額使用情況等指標(biāo)(在 CloudWatch 中有對(duì)應(yīng)表示配額使用比例等相關(guān)指標(biāo)形式)。設(shè)置警報(bào),當(dāng)配額使用比例達(dá)到預(yù)設(shè)的閾值時(shí),觸發(fā)警報(bào)通知相關(guān)人員。
本次采用AWS Console界面完成作業(yè)。
注意:根據(jù)項(xiàng)目的具體情況,可以采用不同的實(shí)施方法。比如使用命令行(CLI)部署、代碼部署 (CloudFomation、Terraform等)、以及其它開(kāi)發(fā)語(yǔ)言(SDK)完成作業(yè)。
步驟一:登錄 AWS 管理控制臺(tái)
使用具有相應(yīng)權(quán)限的賬號(hào)登錄 AWS 管理控制臺(tái),進(jìn)入 CloudWatch 控制臺(tái)頁(yè)面。
步驟二:創(chuàng)建警報(bào)
在 CloudWatch 控制臺(tái)中,選擇“警報(bào)”選項(xiàng),點(diǎn)擊“創(chuàng)建警報(bào)”。
步驟三:選擇指標(biāo)
在“選擇指標(biāo)”頁(yè)面,找到與 EC2 配額相關(guān)的指標(biāo)類別,例如在“By Auto Scaling Group(這里也可能有按服務(wù)類別等劃分,需準(zhǔn)確找到 EC2 配額指標(biāo))”等相關(guān)路徑下,選擇具體要監(jiān)控的配額指標(biāo),如特定實(shí)例類型的已使用配額占比指標(biāo)。
步驟四:設(shè)置警報(bào)條件
定義警報(bào)觸發(fā)的條件,例如當(dāng)指標(biāo)值達(dá)到 80% 時(shí)觸發(fā)警報(bào)。
步驟五:配置通知
選擇接收警報(bào)通知的 SNS 主題(需提前創(chuàng)建好用于接收警報(bào)通知的 SNS 主題),以便相關(guān)人員能及時(shí)收到配額警報(bào)信息。
步驟六:完成創(chuàng)建
確認(rèn)警報(bào)配置信息無(wú)誤后,點(diǎn)擊“創(chuàng)建警報(bào)”完成設(shè)置。
1. 主動(dòng)觸發(fā)配額接近閾值的情況
快速啟動(dòng)接近配額限制數(shù)量的實(shí)例,觀察是否能夠及時(shí)收到 SNS 通知。
2. 查看 CloudWatch 監(jiān)控指標(biāo)的變化
在 CloudWatch 警報(bào)頁(yè)面,查看該警報(bào)的狀態(tài)是否隨著配額使用情況的變化而正常變化。當(dāng)配額使用達(dá)到預(yù)設(shè)閾值時(shí),警報(bào)狀態(tài)應(yīng)變?yōu)椤癆LARM”狀態(tài)。
3. 確認(rèn)相關(guān)人員收到報(bào)警通知。
通過(guò)驗(yàn)證,確保 CloudWatch 對(duì) EC2 配額的監(jiān)控和警報(bào)功能正常工作,為業(yè)務(wù)的穩(wěn)定運(yùn)行提供保障。