通過彈性伸縮管理阿里云實(shí)例和托管實(shí)例
本文介紹如何使用彈性伸縮同時(shí)管理阿里云實(shí)例和托管實(shí)例(非阿里云實(shí)例)。您可以通過云助手將非阿里云服務(wù)器注冊(cè)為阿里云托管實(shí)例,并在托管實(shí)例上安裝云監(jiān)控Agent,然后將該托管實(shí)例添加到伸縮組中,便可以對(duì)伸縮組中的阿里云實(shí)例和托管實(shí)例進(jìn)行統(tǒng)一監(jiān)控,根據(jù)監(jiān)控指標(biāo)的變化自動(dòng)擴(kuò)縮容阿里云實(shí)例。
前提條件
已注冊(cè)阿里云賬號(hào)。如果還未注冊(cè),請(qǐng)先注冊(cè)阿里云賬號(hào)。
已準(zhǔn)備能夠訪問公網(wǎng)的非阿里云服務(wù)器。
應(yīng)用場(chǎng)景
本文適用于非阿里云服務(wù)器上運(yùn)行著一些存在明顯峰谷波動(dòng)的無狀態(tài)業(yè)務(wù),并且很難根據(jù)業(yè)務(wù)的波動(dòng)自行進(jìn)行擴(kuò)縮容的場(chǎng)景。
基于以上場(chǎng)景,您可以借助云助手、云監(jiān)控以及彈性伸縮功能,完成將非阿里云的云服務(wù)器注冊(cè)為阿里云托管實(shí)例并安裝云監(jiān)控的Agent,然后將該托管實(shí)例添加到伸縮組中。彈性伸縮可以對(duì)伸縮組中的阿里云實(shí)例和托管實(shí)例進(jìn)行統(tǒng)一監(jiān)控,根據(jù)監(jiān)控指標(biāo)的變化自動(dòng)擴(kuò)縮容阿里云實(shí)例,幫助您快速應(yīng)對(duì)業(yè)務(wù)的波動(dòng)。其具有以下優(yōu)點(diǎn):
業(yè)務(wù)高峰時(shí),快速自動(dòng)擴(kuò)容阿里云ECS實(shí)例,承載業(yè)務(wù)流量。
業(yè)務(wù)低峰時(shí),快速自動(dòng)縮容阿里云ECS實(shí)例,幫助您節(jié)省成本。
概念介紹
本文涉及的主要概念如下所示:
名稱 | 說明 | 相關(guān)鏈接 |
托管實(shí)例 | 您可以將非阿里云服務(wù)器通過云助手注冊(cè)為阿里云托管實(shí)例。注冊(cè)完成后,該服務(wù)器即可以使用阿里云提供的多種在線服務(wù)(例如云助手、彈性伸縮、系統(tǒng)運(yùn)維管理和云效等服務(wù))。 | |
云助手Agent | 安裝在阿里云服務(wù)器或非阿里云服務(wù)器中的輕量級(jí)插件,使用云助手發(fā)送到阿里云實(shí)例或非阿里云實(shí)例上的命令都會(huì)通過云助手Agent完成。 | |
云監(jiān)控Agent | 無論您的主機(jī)是云服務(wù)器ECS,還是其他云廠商的虛擬機(jī)或物理機(jī),通過在主機(jī)上安裝云監(jiān)控Agent,云監(jiān)控都可以為您提供主機(jī)的系統(tǒng)監(jiān)控服務(wù)。 |
操作步驟
步驟一:注冊(cè)非阿里云實(shí)例為阿里云托管實(shí)例
在注冊(cè)托管實(shí)例前,請(qǐng)您提前準(zhǔn)備好非阿里云服務(wù)器,本示例以注冊(cè)3臺(tái)非阿里云服務(wù)器作為阿里云托管實(shí)例為例,更多信息,請(qǐng)參見阿里云托管實(shí)例。
創(chuàng)建注冊(cè)碼。
在ECS管理控制臺(tái)上創(chuàng)建托管實(shí)例的注冊(cè)碼,生成安裝腳本并保存到本地。具體操作,請(qǐng)參見步驟一:創(chuàng)建注冊(cè)碼。安裝腳本示例(例如
Linux(.deb)
類型)如下:# 下載云助手客戶端deb包。 sudo wget https://aliyun-client-assist.oss-accelerate.aliyuncs.com/linux/aliyun_assist_latest.deb # 安裝最新版本云助手客戶端。 sudo dpkg -i aliyun_assist_latest.deb # 注冊(cè)托管實(shí)例。 sudo aliyun-service --register --RegionId "cn-hangzhou" \ --ActivationCode "a-hz011wm7BNH3JnTMyx22****VJ6d" \ --ActivationId "A4C23294-D8E9-5591-87A2-CCA2****2AC9"
安裝云助手Agent并注冊(cè)托管實(shí)例。
獲取安裝腳本后,您需要在3臺(tái)非阿里云服務(wù)器上安裝云助手Agent并將其注冊(cè)為阿里云托管實(shí)例。
登錄非阿里云服務(wù)器。
在非阿里云服務(wù)器上,直接粘貼上述安裝腳本,運(yùn)行該腳本安裝云助手Agent并注冊(cè)托管實(shí)例(注冊(cè)成功后會(huì)自動(dòng)為該實(shí)例分配一個(gè)ID)。
查看托管實(shí)例。
托管實(shí)例注冊(cè)成功后,在ECS管理控制臺(tái)的ECS云助手頁面的托管實(shí)例頁簽下,查看并記錄該托管實(shí)例ID。3臺(tái)托管實(shí)例分別命名為Test-01、Test-02、Test-03,如下圖所示。
說明阿里云托管實(shí)例ID均以
mi-
開頭,阿里云ECS實(shí)例ID均以i-
開頭。
步驟二:安裝云監(jiān)控Agent
關(guān)于云監(jiān)控Agent的更多信息,請(qǐng)參見安裝和卸載云監(jiān)控插件。
登錄托管實(shí)例。
執(zhí)行以下命令,安裝云監(jiān)控Agent。
ARGUS_VERSION=3.5.9.11 /bin/bash -c "$(curl -s https://cloudmonitor-agent.oss-cn-hangzhou.aliyuncs.com/Argus/agent_install_necs-1.8.sh)"
執(zhí)行以下命令,查看云監(jiān)控Agent狀態(tài)。
ps aux | grep argusagent | grep -v grep
顯示類似如下信息,說明云監(jiān)控Agent狀態(tài)正常,即表示已成功安裝云監(jiān)控Agent。
root 12590 0.0 0.1 33440 6924 ? Ss 15:55 0:00 /usr/local/cloudmonitor/bin/argusagent -d root 12592 0.0 0.4 850972 16096 ? Sl 15:44 0:00 /usr/local/cloudmonitor/bin/argusagent
說明在云監(jiān)控控制臺(tái)的主機(jī)監(jiān)控頁面,您也可以看到該托管實(shí)例已安裝云監(jiān)控Agent,例如可以看到托管實(shí)例的CPU使用率、內(nèi)存使用率以及磁盤使用率等情況。
步驟三:將托管實(shí)例添加至伸縮組
注意事項(xiàng)
在操作本步驟前,您需要注意以下事項(xiàng):
您需要根據(jù)實(shí)際業(yè)務(wù)需求選擇合適的監(jiān)控指標(biāo)為伸縮組創(chuàng)建報(bào)警任務(wù),更多信息,請(qǐng)參見報(bào)警任務(wù)概述。
如果伸縮組中存在阿里云實(shí)例和托管實(shí)例時(shí),報(bào)警任務(wù)會(huì)以伸縮組中當(dāng)前所有實(shí)例的整體監(jiān)控指標(biāo)作為報(bào)警依據(jù),由于托管實(shí)例目前僅支持Agent的監(jiān)控指標(biāo),建議您選擇Agent類型的報(bào)警指標(biāo)。
伸縮組不會(huì)管理托管實(shí)例的生命周期,您只能手動(dòng)將托管實(shí)例從伸縮組中移出,移出后托管實(shí)例并不會(huì)被釋放。
操作步驟
創(chuàng)建伸縮組。
僅ECS類型的伸縮組支持管理托管實(shí)例,故本步驟需創(chuàng)建ECS類型伸縮組(例如Scalinggroup_ecs),具體操作,請(qǐng)參見創(chuàng)建伸縮組。
創(chuàng)建并啟用伸縮配置。
具體操作,請(qǐng)參見配置伸縮配置(ECS實(shí)例)。
啟用伸縮組。
具體操作,請(qǐng)參見啟用或停用伸縮組。
創(chuàng)建伸縮規(guī)則。
本步驟以創(chuàng)建2條簡(jiǎn)單規(guī)則類型的伸縮規(guī)則為例,具體操作,請(qǐng)參見創(chuàng)建伸縮規(guī)則。
伸縮規(guī)則(Add1):表示增加1臺(tái)ECS實(shí)例的擴(kuò)容伸縮規(guī)則。
伸縮規(guī)則(Reduce1):表示減少1臺(tái)ECS實(shí)例的縮容伸縮規(guī)則。
創(chuàng)建報(bào)警任務(wù)。
本步驟以(Agent)CPU使用率監(jiān)控指標(biāo)為例,創(chuàng)建2條報(bào)警任務(wù),確保伸縮組中所有實(shí)例的整體CPU平均使用率維持在40%~60%之間,具體操作,請(qǐng)參見配置報(bào)警任務(wù)。
報(bào)警任務(wù)(ScaleOutAlarm):報(bào)警指標(biāo)選擇(Agent)CPU使用率監(jiān)控時(shí),監(jiān)控指標(biāo)選擇Average(平均值)>=60%,報(bào)警觸發(fā)規(guī)則選擇擴(kuò)容伸縮規(guī)則(Add1)。即當(dāng)伸縮組中所有實(shí)例的整體CPU平均使用率大于60%時(shí),自動(dòng)觸發(fā)增加1臺(tái)ECS實(shí)例。
報(bào)警任務(wù)(ScaleInAlarm):報(bào)警指標(biāo)選擇(Agent)CPU使用率監(jiān)控時(shí),監(jiān)控指標(biāo)選擇Average(平均值)<= 40%,報(bào)警觸發(fā)規(guī)則選擇縮容伸縮規(guī)則(Reduce1)。即當(dāng)伸縮組中所有實(shí)例的整體CPU平均使用率小于40%時(shí),自動(dòng)觸發(fā)減少1臺(tái)ECS實(shí)例。
將3臺(tái)托管實(shí)例手動(dòng)添加至伸縮組(Scalinggroup_ecs)中。
重要伸縮組中的托管實(shí)例只能手動(dòng)從伸縮組中移出。
在伸縮組(Scalinggroup_ecs)詳情頁,單擊實(shí)例列表頁簽。
單擊托管實(shí)例頁簽,然后單擊添加托管實(shí)例。
在彈出的添加托管實(shí)例頁面,選擇需要托管的實(shí)例,然后單擊圖標(biāo)。
單擊確認(rèn)添加。
您可以在托管實(shí)例頁簽下查看到已添加的托管實(shí)例。
監(jiān)控驗(yàn)證
場(chǎng)景一:伸縮組僅含3臺(tái)托管實(shí)例且托管實(shí)例無負(fù)載
如果伸縮組中的當(dāng)前托管實(shí)例沒有負(fù)載,即托管實(shí)例的整體CPU平均使用率小于40%,理論上系統(tǒng)會(huì)自動(dòng)觸發(fā)報(bào)警任務(wù)(ScaleInAlarm)導(dǎo)致伸縮組中減少1臺(tái)實(shí)例,但由于伸縮組中僅包含托管實(shí)例且該實(shí)例只能手動(dòng)添加和移出,實(shí)際會(huì)產(chǎn)生如下情況:
例如在22:01~22:07時(shí)間段,托管實(shí)例的CPU平均使用率小于40%,系統(tǒng)觸發(fā)的報(bào)警任務(wù)(ScaleInAlarm)執(zhí)行異常。
例如在22:01~22:07時(shí)間段,實(shí)際執(zhí)行縮容伸縮活動(dòng)時(shí)被拒絕(實(shí)例數(shù)量并沒有減少),您可以單擊查看拒絕原因查看詳情。
場(chǎng)景二:伸縮組中僅含3臺(tái)托管實(shí)例且托管實(shí)例CPU使用率維持在90%左右
通過壓測(cè)工具(例如lookbusy工具)對(duì)伸縮組中的托管實(shí)例進(jìn)行壓測(cè)時(shí),如果伸縮組中當(dāng)前3個(gè)托管實(shí)例的CPU使用率維持在90%左右,即伸縮組中實(shí)例的CPU平均使用率大于60%,實(shí)際會(huì)產(chǎn)生如下情況:
例如在22:14~22:25時(shí)間段,托管實(shí)例的CPU平均使用率大于60%,系統(tǒng)自動(dòng)觸發(fā)報(bào)警任務(wù)(ScaleOutAlarm)執(zhí)行成功。
例如在22:14~22:25時(shí)間段,執(zhí)行擴(kuò)容活動(dòng)導(dǎo)致伸縮組中新增2臺(tái)阿里云ECS實(shí)例(即由原來的3臺(tái)增加為5臺(tái)實(shí)例)。待最終穩(wěn)定后(例如在22:25之后檢測(cè)CPU平均使用率維持在40%~60%之間),擴(kuò)容伸縮活動(dòng)結(jié)束。
場(chǎng)景三:對(duì)伸縮組中的3臺(tái)托管實(shí)例取消壓測(cè)
基于場(chǎng)景二,當(dāng)前伸縮組中有2臺(tái)阿里云ECS實(shí)例和3臺(tái)托管實(shí)例,CPU平均使用率維持在40%~60%之間。如果對(duì)伸縮組中的3個(gè)托管實(shí)例取消壓測(cè)后,伸縮組整體實(shí)例CPU平均使用率小于40%時(shí),理論上系統(tǒng)會(huì)自動(dòng)觸發(fā)報(bào)警任務(wù)(ScaleInAlarm)導(dǎo)致伸縮組中減少實(shí)例,但由于托管實(shí)例只能手動(dòng)添加和移出,實(shí)際會(huì)產(chǎn)生如下情況:
例如在22:48~22:54時(shí)間段,執(zhí)行縮容活動(dòng)導(dǎo)致伸縮組中減少2臺(tái)阿里云ECS實(shí)例(即由原來的5臺(tái)減少為3臺(tái)實(shí)例)。待最終穩(wěn)定后(例如在22:55之后檢測(cè)CPU平均使用率仍然小于40%),由于托管實(shí)例只能手動(dòng)移出,故縮容伸縮活動(dòng)執(zhí)行失敗。
例如在22:55后,伸縮組中整體實(shí)例的CPU平均使用率仍小于40%,系統(tǒng)自動(dòng)觸發(fā)報(bào)警任務(wù)(ScaleInAlarm)減少伸縮組中的實(shí)例,但由于伸縮組中只有3臺(tái)托管實(shí)例且該實(shí)例只能手動(dòng)移出,故報(bào)警任務(wù)執(zhí)行異常。