定時啟停功能可實現按命名空間定時批量啟停應用,例如定時啟停開發環境或測試環境的全部應用,協助您提高硬體資產利用率、降低資源閑置成本。本文介紹如何在SAE控制台管理定時啟停規則以及使用Crontab運算式。
準備工作
命名空間應用定時啟停功能依賴CloudOps Orchestration Service (OOS),請先建立OOSServiceRole RAM角色,並為該角色賦予管理SAE的完整許可權AliyunSAEFullAccess。更多資訊,請參見什麼是系統營運管理。
如果您已經建立OOSServiceRole角色,則只需為其添加許可權AliyunSAEFullAccess。
使用Resource Access Management員登入RAM控制台。
在左側導覽列,選擇 。
在角色頁面,單擊建立角色。
在建立角色頁面,選擇可信實體類型為阿里雲服務,然後單擊下一步。
在配置角色頁簽的角色類型地區選取項目普通服務角色,輸入角色名稱OOSServiceRole,從選擇受信服務下拉式清單中選擇CloudOps Orchestration Service,並單擊完成。
在建立完成頁簽,單擊為角色授權。
在添加許可權面板的選擇許可權地區,選擇系統策略,在文字框中輸入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
則表示觸發時間僅為星期日和星期六兩天。
執行前通知配置
配置一個DingTalk機器人Webhook地址,SAE將在每次開始執行定時任務前向此處指定的DingTalk機器人發送通知,方便您第一時間擷取系統營運動作資訊。
觸發的應用列表
啟停全部應用:啟動或停止目標命名空間內所有的應用。
啟停部分應用:選中啟停部分應用後,在下方列表中選中需要執行啟動或停止操作的應用。
說明如果選擇了全部應用,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"
}
如何為應用設定定時重啟?
不支援。但是,您可以為應用設定定時啟停規則,達到類似的結果。