伸縮組內(nèi)實(shí)例指ECS實(shí)例或ECI實(shí)例,實(shí)例從創(chuàng)建到釋放的過(guò)程可能處于不同的狀態(tài),這些狀態(tài)組成了實(shí)例的生命周期。生命周期掛鉤功能可提供控制伸縮組內(nèi)ECS實(shí)例或ECI實(shí)例創(chuàng)建和移出的能力,以便您靈活地管理實(shí)例的生命周期。本文介紹伸縮組內(nèi)實(shí)例的生命周期管理方式、健康檢查以及可能的生命周期狀態(tài)。

伸縮組內(nèi)實(shí)例的生命周期管理方式

根據(jù)ECS實(shí)例或ECI實(shí)例加入伸縮組的方式,ECS實(shí)例或ECI實(shí)例可以分為自動(dòng)創(chuàng)建的實(shí)例和手動(dòng)創(chuàng)建的實(shí)例,對(duì)應(yīng)的生命周期管理方式如下表所示。

實(shí)例類(lèi)型 添加方式 生命周期管理方式
自動(dòng)創(chuàng)建的實(shí)例 根據(jù)伸縮組的實(shí)例配置信息來(lái)源自動(dòng)創(chuàng)建的ECS實(shí)例或ECI實(shí)例。 彈性伸縮管理ECS實(shí)例或ECI實(shí)例的全生命周期,彈性擴(kuò)張時(shí)負(fù)責(zé)創(chuàng)建ECS實(shí)例或ECI實(shí)例,彈性收縮時(shí)負(fù)責(zé)停止和釋放ECS實(shí)例或ECI實(shí)例。
手動(dòng)創(chuàng)建的實(shí)例 由您手動(dòng)創(chuàng)建ECS實(shí)例或ECI實(shí)例,然后再手動(dòng)將創(chuàng)建好的ECS實(shí)例或ECI實(shí)例添加至伸縮組。 由是否將ECS實(shí)例或ECI實(shí)例的生命周期托管給伸縮組決定:
  • 已托管給伸縮組:彈性收縮時(shí)負(fù)責(zé)停止和釋放ECS實(shí)例或ECI實(shí)例。
  • 未托管給伸縮組:彈性收縮時(shí)負(fù)責(zé)將ECS實(shí)例或ECI實(shí)例移出伸縮組,但不會(huì)釋放ECS實(shí)例或ECI實(shí)例。
說(shuō)明 支持將包年包月ECS實(shí)例添加至伸縮組,但不支持托管包年包月ECS實(shí)例。

伸縮組內(nèi)實(shí)例的健康檢查

彈性伸縮管理ECS實(shí)例或ECI實(shí)例的生命周期時(shí),會(huì)定期檢查ECS實(shí)例或ECI實(shí)例的運(yùn)行狀態(tài),如果發(fā)現(xiàn)一臺(tái)ECS實(shí)例或ECI實(shí)例未處于運(yùn)行中狀態(tài),則判定該ECS實(shí)例或ECI實(shí)例不健康,伸縮組會(huì)及時(shí)將不健康的ECS實(shí)例或ECI實(shí)例移出或者釋放。

說(shuō)明 ECS實(shí)例或ECI實(shí)例的運(yùn)行狀態(tài)是ECS實(shí)例或ECI實(shí)例從創(chuàng)建開(kāi)始到釋放結(jié)束的可能狀態(tài),并非ECS實(shí)例或ECI實(shí)例在伸縮組內(nèi)的服務(wù)狀態(tài)。

您可以在創(chuàng)建伸縮組時(shí)開(kāi)啟或關(guān)閉健康檢查,也可以為已創(chuàng)建的伸縮組開(kāi)啟或關(guān)閉健康檢查,具體操作,請(qǐng)參見(jiàn)配置伸縮組修改伸縮組

開(kāi)啟健康檢查后,彈性伸縮管理伸縮組內(nèi)ECS實(shí)例或ECI實(shí)例的生命周期時(shí),會(huì)檢查ECS實(shí)例或ECI實(shí)例是否健康,并及時(shí)移出甚至釋放不健康的ECS實(shí)例或ECI實(shí)例,具體說(shuō)明如下所示:
  • 如果ECS實(shí)例或ECI實(shí)例由彈性伸縮自動(dòng)創(chuàng)建,或者由您手動(dòng)添加至伸縮組但生命周期已托管給伸縮組,彈性伸縮會(huì)移出并釋放ECS實(shí)例或ECI實(shí)例。
  • 如果ECS實(shí)例或ECI實(shí)例由您手動(dòng)添加至伸縮組且生命周期未托管給伸縮組,彈性伸縮會(huì)從伸縮組移出ECS實(shí)例或ECI實(shí)例,但不會(huì)釋放該ECS實(shí)例或ECI實(shí)例。
  • 移出不健康的ECS實(shí)例或ECI實(shí)例時(shí)不受最小實(shí)例數(shù)的限制,可能導(dǎo)致伸縮組內(nèi)實(shí)例數(shù)低于最小實(shí)例數(shù)。此時(shí)彈性伸縮會(huì)自動(dòng)創(chuàng)建對(duì)應(yīng)數(shù)量的ECS實(shí)例或ECI實(shí)例,使得伸縮組內(nèi)實(shí)例數(shù)等于最小實(shí)例數(shù)。
    警告 請(qǐng)確保賬號(hào)可用額度充足。如果賬號(hào)欠費(fèi),所有后付費(fèi)的ECS實(shí)例(包括按量付費(fèi)實(shí)例和搶占式實(shí)例)都會(huì)停機(jī),甚至被釋放。欠費(fèi)后伸縮組內(nèi)ECS實(shí)例狀態(tài)變化,請(qǐng)參見(jiàn)欠費(fèi)說(shuō)明

伸縮組內(nèi)實(shí)例的生命周期狀態(tài)

根據(jù)伸縮組是否添加生命周期掛鉤,伸縮組內(nèi)ECS實(shí)例或ECI實(shí)例的生命周期狀態(tài)有所差異,具體說(shuō)明如下所示。

說(shuō)明 ECS實(shí)例或ECI實(shí)例本身的生命周期是ECS實(shí)例或ECI實(shí)例從創(chuàng)建開(kāi)始到釋放結(jié)束的過(guò)程,與伸縮組內(nèi)ECS實(shí)例或ECI實(shí)例的生命周期不同,更多信息,請(qǐng)參見(jiàn)實(shí)例生命周期

本節(jié)以伸縮組內(nèi)的ECS實(shí)例為例,展示伸縮組內(nèi)實(shí)例的生命周期狀態(tài)關(guān)系和實(shí)例可能所處的服務(wù)狀態(tài)。

  • 伸縮組未添加生命周期掛鉤時(shí),伸縮組內(nèi)ECS實(shí)例可能的生命周期狀態(tài)關(guān)系如下圖所示:未添加lifecyclehook
  • 伸縮組中添加生命周期掛鉤時(shí),伸縮組內(nèi)ECS實(shí)例可能的生命周期狀態(tài)如下圖所示:添加生命周期
從加入伸縮組到移出伸縮組,伸縮組內(nèi)ECS實(shí)例可能的服務(wù)狀態(tài)具體說(shuō)明如下表所示。
服務(wù)狀態(tài) 狀態(tài)說(shuō)明 相關(guān)操作
加入中(Pending) ECS實(shí)例正在加入伸縮組,包括加入負(fù)載均衡實(shí)例的后端服務(wù)器、RDS實(shí)例的訪(fǎng)問(wèn)白名單等過(guò)程。

以下?tīng)顟B(tài)的ECS實(shí)例可加入伸縮組:

  • 手動(dòng)添加ECS實(shí)例時(shí),處于運(yùn)行中(Running)狀態(tài)的ECS實(shí)例可加入伸縮組。
  • 伸縮組擴(kuò)容時(shí),處于運(yùn)行中(Running)狀態(tài)的ECS實(shí)例可加入伸縮組。
  • 重新將ECS實(shí)例投入使用時(shí),處于備用中(Standby)狀態(tài)的ECS實(shí)例可加入伸縮組。
加入掛起中(Pending:Wait) 如果伸縮組內(nèi)創(chuàng)建了適用于彈性擴(kuò)張活動(dòng)的生命周期掛鉤,ECS實(shí)例在加入伸縮組時(shí)被掛起并等待掛鉤超時(shí)結(jié)束。

您可以在掛起期間對(duì)ECS實(shí)例進(jìn)行預(yù)裝軟件或其他自定義操作,例如,綁定輔助彈性網(wǎng)卡、添加Redis實(shí)例白名單等。

說(shuō)明 伸縮組中添加生命周期掛鉤功能時(shí),伸縮組內(nèi)的ECS實(shí)例才會(huì)出現(xiàn)該服務(wù)狀態(tài)。
服務(wù)中(In Service) ECS實(shí)例已成功加入伸縮組并正常提供服務(wù)。

如果出現(xiàn)以下任一種情況,ECS實(shí)例將不再保持服務(wù)中(In Service) 狀態(tài):

  • 伸縮組縮容時(shí),伸縮組可以選擇終止ECS實(shí)例,且ECS實(shí)例進(jìn)入停用中(Stopped)狀態(tài)。
  • 伸縮組內(nèi)ECS實(shí)例不健康時(shí),伸縮組會(huì)及時(shí)移出甚至釋放不健康的ECS實(shí)例,且ECS實(shí)例進(jìn)入停用中(Stopped)狀態(tài)。
  • 終止、排查或更改ECS實(shí)例時(shí),ECS實(shí)例進(jìn)入備用中(Standby)狀態(tài)。
  • 從伸縮組中移出ECS實(shí)例時(shí),ECS實(shí)例進(jìn)入移出中(Removing)狀態(tài)。
服務(wù)中(In Service) 狀態(tài)的ECS實(shí)例可轉(zhuǎn)為停用狀態(tài)、備用狀態(tài),或者手動(dòng)移出或刪除實(shí)例,更多信息,請(qǐng)參見(jiàn)手動(dòng)調(diào)整實(shí)例狀態(tài)
備用中(Standby) ECS實(shí)例不提供服務(wù),負(fù)載均衡權(quán)重被置為零,負(fù)載均衡實(shí)例停止向ECS實(shí)例轉(zhuǎn)發(fā)流量,且彈性伸縮不管理ECS實(shí)例的生命周期,而是由您手動(dòng)進(jìn)行管理。

在備用狀態(tài)下,您可以進(jìn)行排查ECS實(shí)例異常、更新ECS實(shí)例鏡像等操作,然后重新將ECS實(shí)例投入使用中,可再次加入伸縮組。

說(shuō)明 備用中的ECS實(shí)例在重新投入使用前,不再屬于您應(yīng)用程序的有效部分。
手動(dòng)將實(shí)例轉(zhuǎn)為或移出備用狀態(tài)
保護(hù)中(Protected)
  • 如果不想移出伸縮組,您可以將ECS實(shí)例轉(zhuǎn)為保護(hù)中,ECS實(shí)例正常提供服務(wù),但彈性伸縮不管理ECS實(shí)例的生命周期,而是由您手動(dòng)管理。
  • 如果不想手動(dòng)管理ECS實(shí)例的生命周期,您也可以將處于保護(hù)中(Protected)狀態(tài)的ECS實(shí)例移出保護(hù)狀態(tài),繼續(xù)由彈性伸縮管理其生命周期。
手動(dòng)將實(shí)例轉(zhuǎn)為或移出保護(hù)狀態(tài)
移出中(Removing) ECS實(shí)例正在移出伸縮組,包括移出負(fù)載均衡實(shí)例的后端服務(wù)器、RDS實(shí)例的訪(fǎng)問(wèn)白名單等過(guò)程。

移出后的ECS實(shí)例獨(dú)立于伸縮組內(nèi)的ECS實(shí)例,您也可以將ECS實(shí)例加入到其他伸縮組中。

移出掛起中(Removing:Wait) 如果伸縮組內(nèi)創(chuàng)建了適用于彈性收縮活動(dòng)的生命周期掛鉤,ECS實(shí)例在移出伸縮組時(shí)被掛起并等待掛鉤超時(shí)時(shí)間結(jié)束。

您可以在掛起期間對(duì)ECS實(shí)例進(jìn)行卸載軟件或其他自定義操作,例如,拷貝日志、清理數(shù)據(jù)等。

說(shuō)明 伸縮組中添加生命周期掛鉤功能時(shí),伸縮組內(nèi)的ECS實(shí)例才會(huì)出現(xiàn)該服務(wù)狀態(tài)。
停用中(Stopped) 完成生命周期的管理后,ECS實(shí)例已進(jìn)入停用狀態(tài),不提供服務(wù)。ECS實(shí)例處于停用狀態(tài)時(shí),vCPU、內(nèi)存和固定公網(wǎng)IP會(huì)被回收,因此vCPU、內(nèi)存和固定公網(wǎng)帶寬不再收費(fèi),但是云盤(pán)、彈性公網(wǎng)IP等資源仍然保留并收費(fèi)。發(fā)生彈性擴(kuò)張活動(dòng)時(shí),會(huì)優(yōu)先啟用伸縮組中處于停用狀態(tài)的ECS實(shí)例。
說(shuō)明 如果您需要將ECS實(shí)例轉(zhuǎn)為停用狀態(tài),請(qǐng)確保在創(chuàng)建伸縮組時(shí)將實(shí)例回收模式設(shè)置為停機(jī)回收模式。
手動(dòng)將實(shí)例轉(zhuǎn)為或移出備用狀態(tài)