彈性伸縮核心資料庫元件不包含Redis執行個體,想要自動化配置伸縮組執行個體到Redis白名單中,是一件相當麻煩的事情。彈性伸縮與OOS運維編排合作,通過lifecycleHook的方式為大家提供了一種簡單,可靠的自動化添加Redis白名單的方案。
OOS 簡介
什麼是OOS
Operation Orchestration Service,簡稱OOS,是全面、免費的雲上自動化運維平台,提供運維任務的管理和執行。典型使用場景包括:事件驅動運維,批量操作運維,定時運維任務,跨地域運維等,OOS為重要運維場景提供審批,通知等功能。OOS幫您實作标準化運維任務,進而實踐運維即代碼(Operations as Code)的先進理念。關于OOS更詳細的介紹請查閱
運維編排服務。
OOS核心概念
模闆:
OOS通過模闆來定義具體的運維動作。OOS為使用者提供了大量的通用模闆來應對豐富的運維場景,同時,OOS允許使用者友善的建立和修改模闆來實作自定義運維動作。例如,ACS-ESS-LifeCycleModifyRedisIPWhitelist為使用者提供了将彈性伸縮建立出來的執行個體的private ip添加Redis白名單的運維動作。關于模闆的定義與文法,請檢視
模闆執行:
模闆定義了一個具體的運維動作,通過模闆,我們可以建立出一個執行,即按照模闆中定義的任務按照一定的順序依次執行。我們可以手動觸發一次執行,并觀察其運作結果和狀态是否符合預期,然後再将其應用于自動化流程。關于OOS執行的更多内容請檢視
執行關聯模闆
模闆介紹
ACS-ESS-LifeCycleModifyRedisIPWhitelist模闆負責添加/移除Redis白名單操作。當您需要實作自動化添加/移除Redis白名單操作時,您需要針對擴縮容流程分别設定兩條OOS類型lifecycleHook。
模闆具有如下行為:
- 根據指定的執行個體ID清單擷取Private IP清單;
- 将Private IP清單添加/移除Redis執行個體IP清單;
該模闆同時支援回調功能:
- 執行成功時,通過回調通知lifecycleHook繼續執行挂起的伸縮活動;
- 執行失敗時,通過回調通知lifecycleHook復原挂起的伸縮活動;
- 當無回調時,lifecycleHook挂起的伸縮活動将在逾時後,執行hook指定的政策。
參數指定
使用者可以建立類型為OOS的lifecycleHook,并選擇OOS系統模闆ACS-ESS-LifeCycleModifyRedisIPWhitelist。在選擇了指定的系統模闆之後,你需要為模闆運作配置合适的參數,例如目标Redis執行個體的ID,執行個體ID清單,lifecycleHook ID資訊等。由于執行個體ID清單,lifecycleHook ID等資訊隻有在運作時才能擷取到,你需要通過僞參數的提供占位符資訊,支援的僞參數資訊如下:
- ${scalingGroupId},目前伸縮活動所屬的伸縮組id;
- ${instanceIds},目前伸縮活動關聯的執行個體清單;
- ${regionId},目前伸縮活動執行的地域;
- ${lifecycleActionToken},伸縮活動的等待狀态辨別符,用于提前結束目前的挂起活動;
- ${lifecycleHookId},關聯生命周期挂鈎id。
注意事項
使用ACS-ESS-LifeCycleModifyRedisIPWhitelist模闆時您需要注意:
- 當您建立該模闆的lifecycleHook時,您需要将伸縮組中存量的執行個體清單手動添加到Redis白名單中,否則,當移除一個Redis白名單中不存在的執行個體私網IP時,将出現錯誤。
當指定生命周期挂鈎關聯一個OOS模闆時,使用者需要通過生命周期挂鈎的通知辨別(NotificationMetadata,簡稱metadata)為建立OOS執行指定所需的參數。針對OOS模闆的metadata,你需要注意:
- metadata必須為JSON字元串格式;
- metadata中的鍵,必須與OOS模闆參數一一對應;
- OOS模闆中不存在預設值的參數必須指定,存在預設值的參數可選擇是否指定以覆寫預設值。
- OOS模闆通過扮演指定的角色 OOSServiceRole 執行關聯的運維操作,是以您需要確定該角色存在,并具有相應的權限。
最佳實踐
控制台使用
下面以控制台建立自動添加Redis白名單的OOS類型lifecycleHook為例進行使用介紹。
首先,您需要确定OOS模闆扮演的角色 OOSServiceRole 存在,并具有相應的權限,否則您需要首先建立該角色。
登入
RAM控制台,點選建立角色。

角色類型選擇 阿裡雲 服務.
角色名稱必須為 OOSServiceRole, 授信服務選擇 運維編排服務。點選完成進行建立。
為角色添加操作權限。
針對擴容流程建立類型為OOS模闆的生命周期挂鈎,這時,彈框提示您選擇OOS模闆,這裡需要選擇系統模闆ACS-ESS-LifeCycleModifyRedisIPWhitelist。
接下來,您需要填充模闆使用的參數,此處已經為您自動填充了部分僞參數,您隻需要填寫目标Redis執行個體ID,同時選擇modifyMode為Append。點選确認,核實您傳入的參數。
點選建立執行,将回到建立lifecycleHook的彈框。
再次點選建立生命周期挂鈎,完成建立。
此時您可以執行一條擴容伸縮規則,并在
OOS控制台觀察模闆的執行過程。