天天看點

華為雲伺服器設定自動開關機

作者:木子李CH

起因是我買了一個按需的伺服器,每天白天使用,晚上關閉,進而減少費用(誰晚上還上班。。。)自己手動開關伺服器弄了一段時間,經常容易忘記,導緻錢嘩啦啦的流走了,就問了下華為工程師

華為雲伺服器設定自動開關機

不得不說,華為的服務還是可以的,我都準備關閉工單了,他讓我稍等。

華為工程師提供的方案

  1. 使用 FunctionGraph 服務實作定時開關機,産品示例有已經寫好的 python代碼包,您修改 projectId、region和domain的參數就可以直接使用。support.huaweicloud.com/bestpractic…
  2. ECS服務也有提供開關機的API接口,您也可以通過代碼實作開關機

    批量啟動雲伺服器 support.huaweicloud.com/api-ecs/ecs…

    批量關閉雲伺服器 support.huaweicloud.com/api-ecs/ecs…

我也是按照這個文檔上操作的,但有一些坑,這裡記錄下全流程 FunctionGraph 服務實作定時開關機的全流程

主要分兩步:建立委托和配置函數

建立委托

  • 登入統一身份認證服務控制台。
  • 在統一身份認證服務的左側導航窗格中,選擇“委托”頁簽,單擊右上方的“+建立委托”
    華為雲伺服器設定自動開關機

配置委托

  • 委托名稱:EcsOperation。
  • 委托類型:選擇“雲服務”。
  • 雲服務:選擇“函數工作流 FunctionGraph”。
  • 持續時間:選擇“永久”。
  • 描述:填寫描述資訊。
    華為雲伺服器設定自動開關機
  • 進入委托選擇頁面,在右方搜尋框中搜尋“ECS FullAccess”權限并勾選
    華為雲伺服器設定自動開關機
  • 單擊“下一步”,請根據業務需要選擇權限的作用範圍,點選“确認”完成

配置函數

  • 在服務清單裡面搜函數,進去“函數工作流 FunctionGraph”
    華為雲伺服器設定自動開關機
  • 點選右上角建立函數
    華為雲伺服器設定自動開關機
  • 使用函數模闆
  • 事件函數
  • 彈性雲伺服器
  • Python3.6
  • 找到“定時打開華為雲公有雲虛拟機”,使用模闆
    華為雲伺服器設定自動開關機
  • 配置基本資訊
  • 區域:選擇需要開機的ECS所在區域
  • 函數名稱:自定義
  • 委托名稱:選擇上面配置好的委托“EcsOperation”
    華為雲伺服器設定自動開關機
  • 配置環境變量
  • projectId:項目ID,
    • 在我的憑證裡面可以找到
      華為雲伺服器設定自動開關機
  • endpoint:ECS的終端節點
    • 具體Endpoint資訊,請參考地區和終端節點。
  • region:ECS所在的區域
    • 在我的憑證裡面可以找到
  • whiteLists:當定時開啟華為公有雲虛拟機時,填寫需開啟的虛拟機ID,以英文逗号分隔
    華為雲伺服器設定自動開關機
  • 配置觸發器
  • 定時器名稱:預設即可,也可以自定義
  • 觸發規則:可以固定頻率,也可以Cron表達式
    • 了解Cron表達式
  • 為了測試,可以先使用固定頻率,看函數是否生效,觸發器後面删掉,在重新做一個
    華為雲伺服器設定自動開關機
  • 這樣函數就建立完成了
  • 函數建立完成之後,需要添加依賴包“huaweicloudsdk_ecs_core_py3.6”
  • 進入函數,代碼頁簽底下(這個地方找了好久)
    華為雲伺服器設定自動開關機
  • 可以在監控裡面開啟動日志
    華為雲伺服器設定自動開關機
  • 可以在設定裡面更改觸發器
    華為雲伺服器設定自動開關機
  • 設定觸發器
  • 使用Cron表達式(參考官網)
    • 了解Cron表達式
      華為雲伺服器設定自動開關機

      至此使用 FunctionGraph 服務實作定時開機就完成啦

      關機的話,操作是一樣,選擇關機模闆即可

繼續閱讀