如果業務量的變化時間可預測,您可以通過配置定時任務,在業務高峰到達前準備好充足的計算資源,或者在業務高峰后及時釋放空閑的計算資源,滿足業務需求的同時控制成本。
設計定時伸縮方案
在創建定時伸縮任務之前,您需要先設計您的定時伸縮方案。
方案一:在特定時間點觸發擴縮容
適用場景
預測到在未來某一時間點會突增(減少)資源需求,定時自動擴縮容。
實現方式
創建該時間點的定時任務,并配置觸發時間以及觸發定時任務后執行的擴容操作。具體操作,請參見創建定時任務。
場景舉例
假設在雙十一,您的平臺會進行促銷活動,為了保證服務穩定運行,您可以設置在雙十一當天擴容您的計算資源以滿足實際的資源需求。
方案二:按照特定時間周期擴縮容
適用場景
業務規律波動,即業務集群資源占用隨時間規律波動。
實現方式
在業務集群資源占用升高的時間點,通過定時任務觸發擴張。相反的,在資源占用降低的時間點,通過定時任務觸發收縮。創建定時任務,請參見創建定時任務。
舉例說明
例如您的業務集群在每天傍晚7點時訪問量增加,在凌晨1點時降低,為了應對業務訪問需求的變化,您可以設置以下兩個定時任務。
應對訪問量增加:設置傍晚7點的定時擴展任務,在每天傍晚7點,通過增加服務副本數提升集群的承載能力。
應對訪問量減少:設置凌晨1點的定時收縮任務,在每天凌晨1點,通過減少服務副本數從而提高資源利用率,減少不必要的成本支出。
操作入口:進入定時任務管理頁
定時任務的操作頁面集中在伸縮組的定時任務頁面,您可以參考以下步驟進入該頁面。
登錄彈性伸縮控制臺。
在左側導航欄中單擊伸縮組管理。
在頂部菜單欄處,選擇地域。
在伸縮組管理頁,找到待操作伸縮組,單擊伸縮組名稱進入伸縮組詳細頁面。
單擊
頁簽,進入定時任務管理頁。
創建定時任務
在設計完成定時伸縮方案后,您可以創建定時任務實現該方案。創建定時任務的具體操作如下。
一個賬號下可以創建的定時任務數量有限,單個地域下的定時任務數量和彈性伸縮使用情況有關,請前往配額中心查看配額值。
在定時任務頁,單擊創建定時任務按鈕,在彈出的創建定時任務對話框中,根據界面提示,完成定時任務的配置。配置項說明如下。
配置定時任務的基本信息。
配置項
說明
任務名稱
輸入定時任務的名稱。
名稱由2~64個字符組成,以大小寫字母、數字或中文開頭,可包含半角句號(.)、下劃線(_)或短劃線(-)。
描述
此選項為選填項,輸入定時任務的描述。
描述為2~200個字符,主要體現定時任務的目的、作用等信息,便于日后查看。
配置定時任務的執行時機。
配置項
說明
執行時間
輸入定時任務的觸發時間。
如果未設置重復周期,則按指定的日期和時間執行一次。
如果設置了重復周期,則該屬性指定的時間點默認為周期性任務的執行時間點。
重要請勿填寫自創建或修改當天起90日后的時間,否則定時任務無法生效。
重試過期時間(秒)
此選項為選填項,取值范圍是0秒~1800秒(30分鐘)。如果未能在執行時間觸發伸縮動作,彈性伸縮將在重試過期時間內繼續嘗試執行定時任務。
重復周期
此選項為選填項,選擇重復執行定時任務的周期。支持選擇不設置、按天、按星期、按月或Cron表達式的方式。
重復結束時間
如果重復周期設置為按天、按星期、按月或Cron表達式任一方式時,才會出現該配置項,請您輸入定時任務的重復結束時間。其中,重復結束時間必須晚于任務的首次執行時間。
在彈性伸縮控制臺配置定時任務的重復周期參數時,您可以選擇Cron表達式來進行設置。
Cron表達式是一個具有時間含義的字符串,每個具有時間含義的字符叫做域,域之間用空格隔開。彈性伸縮的定時任務支持5個域的Cron表達式,格式為
X X X X X
,X
是一個域的占位符。Cron表達式中的每個域依次表示分鐘、小時、天、月和星期,每個域可以是確定的取值,也可以是具有邏輯意義的特殊字符。定時任務配置Cron表達式時,需要注意以下內容:
Cron表達式采用UTC+0時區,在配置Cron表達式時,您需要把本地時間換算成在UTC+0時區的時間。例如,中國的時區是UTC+8,如果您計劃在中國時區(例如每天20:00)執行任務,需要將計劃執行時間減去8小時,設置的Cron表達式應為
0 12 * * ?
。單個Cron定時任務五分鐘限制執行一次。
確保Cron表達式第一次執行的時間小于定時任務的重復結束時間,否則會提示參數錯誤。
表 1. 域取值
域
是否必需
取值范圍
特殊字符
分鐘
是
0~59
, - / *
小時
是
0~23
, - / *
日
是
1~31
, - / * ? L W
月
是
1~12
, - / *
星期
是
1~7,星期日取值為7
, - * ? / L #
表 2. 特殊字符
特殊字符
含義
示例
*
域內的所有可能值。
在月域中,
*
表示每個月;在星期域中,*
表示星期的每一天。,
列出枚舉值。
在分鐘域中,
5,20
表示第5分鐘和第20分鐘。-
表示范圍值。
在分鐘域中,
5-20
表示從第5分鐘到第20分鐘之間的每一分鐘。/
指定數值的增量。
在分鐘域中,
0/15
表示從第0分鐘開始的每15分鐘,3/20
表示從第3分鐘開始的每20分鐘。?
不指定值,僅日期域和星期域支持該字符。
說明當日期或星期域其中之一被指定了值以后,為了避免計算沖突,需要將另一個域的值設為
?
。在日期域中,
?
表示不指定具體某日期。在星期域中,?
表示不指定具體某星期幾。例如,以UTC+0時區為例,15 10 15 * ?
表示每月15日上午10:15執行任務,無論第15日是星期幾。L
單詞Last的首字母,表示最后一天,僅日期域和星期域支持該字符。
說明指定
L
字符時,避免指定列表或者范圍,否則,會導致邏輯問題。在日期域中,
L
表示某個月的最后一天。在星期域中,L
表示一個星期的最后一天。如果在
L
前有具體的內容,例如,在星期域中的6L
表示這個月的最后一個星期六。
W
除周末以外的有效工作日,在離指定日期的最近的有效工作日觸發事件。
W
字符尋找最近有效工作日時不會跨過當前月份,連用字符LW
時表示為指定月份的最后一個工作日。在日期域中
5W
,如果5日是星期六,則將在最近的工作日星期五,即4日觸發。如果5日是星期天,則將在最近的工作日星期一,即6日觸發;如果5日在星期一到星期五中的一天,則就在5日觸發。#
指定每個月第幾個星期幾,僅星期域支持該字符。取值范圍:1~5。
在星期域中,
4#2
表示某月的第二個星期四。表 3. 取值示例
下表以中國時區UTC+8為例,說明不同的Cron表達式示例代表的含義。在設置Cron表達式時,請注意將本地時間換算成在UTC+0時區的時間。
示例
說明
15 10 ? * *
每天18:15執行任務
15 9 * * *
每天17:15執行任務
0 12 * * ?
每天20:00執行任務
0 10,14,16 * * ?
每天18:00、22:00以及00:00執行任務
15 10 15 * ?
每月15日18:15執行任務
15 10 L * ?
每月最后一日18:15執行任務
15 10 ? * 6L
每月最后一個星期六18:15執行任務
15 10 ? * 6#3
每月第三個星期六18:15執行任務
根據您的需求配置定時任務執行的動作(配置伸縮方式)。
說明兩種伸縮方式的區別:
選擇已有伸縮規則。支持設置增加/減少N臺實例、增加/減少N%的實例或者調整至N臺實例。
伸縮組內實例數量設置。支持修改伸縮組的最大/最小實例數,如果伸縮組開啟了期望實例數,也支持設置期望實例數。
選擇已有伸縮規則(簡單規則)
配置項
說明
伸縮方式
選擇已有伸縮規則:選擇該伸縮方式后,請同時選擇伸縮組中已有的伸縮規則(簡單規則)。
伸縮規則(簡單規則)
如果伸縮方式為選擇已有伸縮規則時,才會出現該配置項,請您選擇已創建的伸縮規則(簡單規則)。更多信息,請參見配置伸縮規則或CreateScalingRule。
伸縮組內實例數量設置(直接修改伸縮組實例數)
配置項
說明
伸縮方式
伸縮組內實例數量設置:選擇該伸縮方式后,請同時輸入最大實例數、最小實例數或期望實例數。
最大實例數
伸縮組實例數的上界。
最小實例數
伸縮組實例數的下界。
期望實例數
伸縮組會通過伸縮活動調整實際的實例數滿足伸縮組實際實例數=期望實例數。
確認配置后單擊確認按鈕,完成定時任務的創建。
停用定時任務
在創建定時任務后,會默認啟用該定時任務,如果您暫時不需要一個定時任務觸發伸縮活動,您也可以停用該定時任務。只有定時任務處于啟用狀態時,您才可以進行停用操作。
具體操作
進入定時任務管理頁后,在待啟用定時任務的操作列下單擊停用,并根據界面提示完成停用操作。
啟用定時任務
如果您需要繼續使用一個已停用的定時任務,可以重新啟用定時任務,在指定的時間繼續使用。只有定時任務處于停用狀態時,您才可以進行啟用操作。
具體操作
進入定時任務管理頁后,在待啟用定時任務的操作列下單擊啟用,并根據界面提示完成啟用操作。
修改定時任務
如果當前定時任務不滿足您的需求,您可以修改該定時任務。
具體操作
進入定時任務管理頁后,在待修改定時任務的操作列下單擊修改,根據界面提示完成定時任務的修改。
具體配置項說明,請參見創建定時任務。
刪除定時任務
如果當前定時任務不在使用,您可以刪除該定時任務。
具體操作
進入定時任務管理頁,在待刪除的定時任務的操作列下單擊刪除,根據界面提示完成定時任務的刪除。