Auto Scaling的生命週期掛鈎功能支援選擇OOS模板作為通知方式,在掛起執行個體的同時執行指定的OOS模板中定義的營運操作,實現自動化營運。
生命週期掛鈎
觸發伸縮活動後,Auto Scaling會自動完成擴縮容流程,期間ECS執行個體的服務狀態變化請參見伸縮組內執行個體的生命週期。
通過生命週期掛鈎,您能夠在擴縮容流程中掛起ECS執行個體,執行自訂動作後再使用或者釋放ECS執行個體。例如,在擴容時為ECS執行個體綁定輔助彈性網卡、將ECS執行個體添加至Redis執行個體白名單,在縮容時拷貝日誌、清理資料等。
Auto Scaling還支援在掛起ECS執行個體的同時發送通知,自動執行OOS模板中定義的營運操作。
OOS模板
CloudOps Orchestration Service(OOS)是阿里雲提供的雲上自動化營運服務,能夠自動化管理和執行任務。您可以通過模板定義執行任務、執行順序、執行輸入和輸出,然後執行模板完成一組營運操作。更多說明,請參見什麼是CloudOps Orchestration Service。
自動化營運流程
下圖為您展示了通過生命週期掛鈎和OOS模板實現自動化營運的流程。
流程說明如下:
ECS執行個體被生命週期掛鈎掛起,進入掛起中狀態。
Auto Scaling自動發送通知,觸發執行OOS模板中定義的營運操作。
根據執行結果完成流程:
營運操作執行成功,結束掛起狀態並繼續伸縮活動,擴容時繼續完成擴容流程且ECS執行個體加入伸縮組,縮容時繼續完成縮容流程且ECS執行個體被移出伸縮組。
營運操作執行失敗,結束掛起狀態並結束伸縮活動,擴容時ECS執行個體被釋放,縮容時無特殊影響,ECS執行個體仍會被移出伸縮組。
營運實踐
本營運實踐中為您介紹下表所述OOS公用模板的用法。
公用模版名稱 | 適用的伸縮活動類型 | 說明 | 相關連結 |
ACS-ESS-LifeCycleApplyAutoSnapshotPolicy | 彈性擴張活動 | 使用生命週期掛鈎應用自動快照策略到磁碟。 | |
ACS-ESS-LifeCycleRunCommand | 彈性擴張活動、彈性收縮活動 | 使用生命週期掛鈎到ECS執行個體中執行命令。 | |
ACS-ESS-LifeCycleModifyPolarDBIPWhitelist | 彈性擴張活動、彈性收縮活動 | 使用生命週期掛鈎設定PolarDB叢集的IP白名單。 | |
ACS-ESS-LifeCycleModifyRedisIPWhitelist | 彈性擴張活動、彈性收縮活動 | 使用生命週期掛鈎設定Redis執行個體的IP白名單。 | |
ACS-ESS-LifeCycleModifyMongoDBIPWhitelist | 彈性擴張活動、彈性收縮活動 | 使用生命週期掛鈎設定MongoDB執行個體的IP白名單。 | |
ACS-ESS-LifeCycleModifyAnalyticDBIPWhitelist | 彈性擴張活動、彈性收縮活動 | 使用生命週期掛鈎設定AnalyticDB叢集的IP白名單。 | |
ACS-ESS-LifeCycleAttachNASFileSystemToInstance | 彈性擴張活動 | 使用生命週期掛鈎掛載NAS檔案系統到ECS執行個體。 | |
ACS-ESS-LifeCycleCreateNetworkInterfaceAndEipAndAttachToInstance | 彈性擴張活動 | 使用生命週期掛鈎建立輔助彈性網卡和EIP,並將其綁定到ECS執行個體。 | |
ACS-ESS-LifeCycleDetachNetworkInterfaceAndDeleteEip | 彈性收縮活動 | 使用生命週期掛鈎為ECS執行個體解除綁定和釋放輔助彈性網卡和EIP。 | |
ACS-ESS-LifeCycleAllocateEipAddressAndAttachToInstance | 彈性擴張活動 | 使用生命週期掛鈎建立EIP,並將其綁定到ECS執行個體。 | |
ACS-ESS-LifeCycleReleaseEipAddressFromInstance | 彈性收縮活動 | 使用生命週期掛鈎為ECS執行個體解除綁定和釋放EIP。 |