定時啟停功能可實現按命名空間定時批量啟停應用,例如定時啟停開發環境或測試環境的全部應用,幫助您提高硬件資產利用率、降低資源閑置成本。本文介紹如何在SAE控制臺管理定時啟停規則以及使用Crontab表達式。
準備工作
命名空間應用定時啟停功能依賴系統運維管理 OOS(CloudOps Orchestration Service),請先創建OOSServiceRole RAM角色,并為該角色賦予管理SAE的完整權限AliyunSAEFullAccess。更多信息,請參見什么是系統運維管理。
如果您已經創建OOSServiceRole角色,則只需為其添加權限AliyunSAEFullAccess。
使用RAM管理員登錄RAM控制臺。
在左側導航欄,選擇 。
在角色頁面,單擊創建角色。
在創建角色頁面,選擇可信實體類型為阿里云服務,然后單擊下一步。
在配置角色頁簽的角色類型區域選擇普通服務角色,輸入角色名稱OOSServiceRole,從選擇受信服務下拉列表中選擇系統運維管理,并單擊完成。
在創建完成頁簽,單擊為角色授權。
在添加權限面板的選擇權限區域,選擇系統策略,在文本框中輸入AliyunSAEFullAccess,在下方的權限列表單擊該權限,單擊確定。
單擊完成。
創建定時啟停規則
登錄SAE控制臺。
在左側導航欄,單擊命名空間(環境),在頂部菜單欄選擇地域,然后單擊具體命名空間名稱。
在左側導航欄,單擊定時啟停規則,在定時啟停規則頁面單擊創建定時啟停規則。
在創建定時啟停規則面板,配置規則信息,并單擊確定。
配置項
說明
規則名稱
定時啟停規則的名稱。必須以小寫字母開頭,并以數字或小寫字母結尾,僅可包含小寫字母、中文字符、數字及短劃線(-),不超過63個字符。
觸發動作
批量啟動應用:批量啟動本命名空間下選中的應用。
批量停止應用:批量停止本命名空間下選中的應用。
執行頻率
僅執行一次:在指定日期和時間執行一次后不再執行。
定期執行:按照指定的日期和時間循環執行。
日粒度:指定每個月需要執行的具體日期和時間,每月循環。
周粒度:指定每周需要執行的具體日期和時間,每周循環。
高級:使用Crontab表達式定義執行時間,各字段的取值范圍如下所示:
分(分鐘):[0, 59]。
時(小時):[0, 23],0表示午夜0時。
日(每個月的具體日期):[1, 31]。
月:[1, 12]或[JAN, DEC],不可修改。
周(星期):[1, 7]或[SUN, SAT]。
1
表示星期日,2
表示星期一,依次類推。例如設置觸發時間為星期二、四、六,則需輸入
3,5,7
或TUE,THU,SAT
。說明[1, 7]表示取值范圍,如果您輸入
1,7
則表示觸發時間僅為星期日和星期六兩天。
執行前通知配置
配置一個釘釘機器人Webhook地址,SAE將在每次開始執行定時任務前向此處指定的釘釘機器人發送通知,方便您第一時間獲取系統運維動作信息。釘釘機器人的自定義關鍵詞需要設置為
SAE
,具體操作,請參見獲取釘釘機器人Webhook地址。觸發的應用列表
啟停全部應用:啟動或停止目標命名空間內所有的應用。
啟停部分應用:選中啟停部分應用后,在下方列表中選中需要執行啟動或停止操作的應用。
說明如果選擇了全部應用,SAE在每次執行定時啟停任務之前,將自動去掃描最新的應用列表,然后再執行啟停操作。
創建好的規則將顯示在定時啟停規則頁面上,且默認為啟用狀態。您可以對規則進行查看、編輯、啟停、刪除等操作。
使用Crontab表達式
借助Crontab表達式,可以定義更靈活的定時啟停規則觸發時間和循環規律。
注意事項如下:
只能按日或周指定啟停觸發時間,如果指定了其中一個,另一個則必須填寫通配符
?
,表示不加限制。例如,如果指定每個月第1日、第2日,則必須在周輸入框中填寫?
。在Crontab表達式內必須使用英文半角字符,例如英文通配符星號(*)、問號(?)。
枚舉值之間用英文半角逗號(,)分隔。
值的區間用短劃線(-)表示,例如:日輸入框中填寫
1-5
,表示第1日~第5日。填寫周時,1表示周日,7表示周六,即每周從周日到周六的數字為1~7。
含義 | 填寫方法 | Crontab表達式 |
每周一至周五22:30 |
| 30 22 ? * 2,3,4,5,6 |
每個月第5日、第15日和第25日的0時 |
| 0 0 5,15,25 * ? |
常見問題
創建OOSServiceRole RAM角色后,報錯信息提示OOSServiceRole不存在,如何處理?
確認已創建的OOSServiceRole RAM角色的信任策略是否如下所示。如果信任策略不同,表示創建角色時填寫的信息有誤,例如,可信實體類型選擇有誤,應選擇阿里云服務。因此,您需要重新創建OOSServiceRole RAM角色。具體操作,請參見準備工作。
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": [
"oos.aliyuncs.com"
]
}
}
],
"Version": "1"
}
如何為應用設置定時重啟?
不支持。但是,您可以為應用設置定時啟停規則,達到類似的結果。