企業上雲,大大降低企業設備、人力、維運成本,並將成本轉換為雲端服務的運作時間。但若設備在閒置的情況下未關機或刪除,依然會增加許多額外成本,對公司造成營運負擔。

EC2 和 RDS 為最常見的兩種雲端運算服務,企業上雲都與之有關。因此,如何適當地管理它們就顯得格外重要。

  • 自動關機功能-避免忘記關機或刪除設備而增加不必要的成本。
  • 自動開機功能-免去手動開機時,需等待設備暖機的時間,讓執行更有效率。

AWS擁有多種自動開關機的方法,此文章擇其一:Systems Manager 服務內的 State Manager 能省去複雜操作流程,將設定開關機時間的介面圖形化,操作簡單、易上手,更無須擔心費用問題。State Manager 為免費服務,不會增加額外的使用成本。

利用 State Manager 自動開關機

1. 架構圖

 藉由 Systems Manager 服務內的 State Manager 功能,設定自動開關機排程

 

2. 前置作業

 Step 1:在設定自動排程前,需配置 IAM Role於SSM,Policy 包含 

 Step 2:為IAM Role取名稱 ( Ex:Tech3-Role-SSMAutoStartStopEC2 )。

 Step 3:上述 Policy 僅提供 Systems Manager 管理 EC2 的權限,若要管理 RDS,必須新增 inline policy:

 

3. 配置 State Manager 自動排程

 進入 State Manager 介面,創建開機自動排程以及關機自動排程,共兩個排程:

  Step 1:Document 項目,依照提示並輸入關鍵字,選擇所需要的 Document。以創建自動開機排程為例,選擇 AWS-StartEC2Instance。若是創建自動關機排程,則選擇 AWS-StopEC2Instance。

 

  Step 2:Execution 項目,選擇 Rate control,設定執行排程的時間。

 

  Step 3:Targets 項目,以 Tag 方式抓取需要自動開關機的 EC2,圖例上新增一個 key 為 AutoStartStop、value 為 Yes 的 Tag,若 EC2 或 RDS 實例有此 Tag,將會執行此自動開關機排程。

 

  Step 4:Input parameters 項目,AutomationAssumeRole 欄位,選擇上述已創建好,並分配給 SSM 的 IAM Role。

 

  Step 5:Specify schedule 項目,設定開機時程。如上圖所示,設定的時間為UTC標準時間,若是在台灣(UTC+8) 設定自動開機排程,想要每天 9:00 自動開機,必須將時間設定為 1:00。

 

  Step 6:Rate control 項目,Concurrency 欄位設定執行排程時,可同時執行開機或關機的數量或是百分比。Error threshold 欄位設定錯誤數量或是百分比,若錯誤達到設定值,則停止執行。

 

  Step 7:創建完成兩個自動排程。

 

  Step 8:此範例是以 Tag 方式抓取自動開關機的 EC2,所以 EC2 必須設定 Tag。接下來到 EC2 介面,為需要開關機的 EC2 新增 Tag,完成自動排程所有設定。

 

4. 驗證結果

 原本有四台開機的 EC2

 

 到 State Manager 介面,點擊 Apply association now,直接執行自動關機排程,進行測試。

 

 再回到 EC2 介面,可看到成功將四台 EC2 關機。

 

只需一些步驟,即可設定自動開關機排程,不過,設定上有兩個限制:

  • State Manager 為地區性( Regional ),不是全球性 ( Global )
  • Specify Schedule 項目,目前只能以小時、日、週為週期設定自動開關機

 

結語

AWS State Manager 服務能幫助使用者快速建置自動排程。EC2 和 RDS 雖為隨付即用的雲端服務,但若未將閒置的服務關機或刪除,還是會持續計算費用,造成企業成本負擔。運用此服務的自動開關機排程,可節省人力成本,同時避免不必要的成本開銷。

AWS 提供多元雲端服務,協助客戶省去後端維運的繁文縟節,全神貫注在開發及業務,為公司帶來效益最佳化。

 

CKmates,您的雲端數位長,深耕雲端產業多年,富有厚實的雲端技術,能運用雲端服務,針對客戶痛點提供適切的解決方案,是各個產業最值得信賴的雲端數位長。