彈性伸縮的生命周期掛鉤功能支持選擇OOS模板作為通知方式,在掛起實例的同時執行指定的OOS模板中定義的運維操作,實現自動化運維。
生命周期掛鉤
觸發伸縮活動后,彈性伸縮會自動完成擴縮容流程,期間ECS實例的服務狀態變化請參見伸縮組內實例的生命周期。
通過生命周期掛鉤,您能夠在擴縮容流程中掛起ECS實例,執行自定義操作后再使用或者釋放ECS實例。例如,在擴容時為ECS實例綁定輔助彈性網卡、將ECS實例添加至Redis實例白名單,在縮容時拷貝日志、清理數據等。
彈性伸縮還支持在掛起ECS實例的同時發送通知,自動執行OOS模板中定義的運維操作。
OOS模板
系統運維管理(OOS)是阿里云提供的云上自動化運維服務,能夠自動化管理和執行任務。您可以通過模板定義執行任務、執行順序、執行輸入和輸出,然后執行模板完成一組運維操作。更多說明,請參見什么是系統運維管理。
自動化運維流程
下圖為您展示了通過生命周期掛鉤和OOS模板實現自動化運維的流程。
流程說明如下:
ECS實例被生命周期掛鉤掛起,進入掛起中狀態。
彈性伸縮自動發送通知,觸發執行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。 |