【教學】如何自動修復 AWS 上故障的 EC2 實例
只要是管理 AWS 多年的維運人員,多多少少都會遇到 AWS (Amazon Web Services) 底層主機故障的問題,這問題會造成 CPU異常、網路不通,等等奇怪現象。而唯一解決辦法就是關閉實例( EC2 ),並再次開啟,讓實例從異常底層轉移到正常主機。
雖然這問題發生的機率不大,處理起來也相當迅速輕鬆,但令人擔憂的是,維運人員通常不會只管少量主機,大多都是一大批或一整群,一旦數量增加,發生這問題的機率也會直線上升,而且,如果運氣不好,發生的時間點又剛好都是在半夜,那可真的要人命。
好在,這也不是沒解決方案的。AWS 裡面其實有個內建小功能,可以再偵測到問題時就自動修復,本章節就是教大家如何在 EC2 實例上建置警報( Alarm ),並在觸發警報時,自動修復主機,進而達到工作量減輕的功效 !
環境
雲平台: AWS
設定步驟
Step 1. 進入 AWS EC2 後台
Step 2. 找到要設定的主機
右鍵選擇 Monitor and troubleshoot => Manage CloudWatch alarm
Step 3. 設定 Alarm thresholds 欄位
修改 Type of data to sample 至 Status check failed: either ,Period 就依自身環境需求下去做設定,想要敏感一點,數值就短一點,想要誤判減少就拉長 Consecutive Period 及 Period 的數值
Step 4. 啟用 Alarm action 欄位
找到 Alarm actionRecover 。
使用這設定後,AWS 會在觸發 Alarm thresholds 後,執行 Recover 的動作,具體 AWS 會做什麼事,可以參考 AWS 的 ,通常就是關閉損壞的實例 ( EC2 ) ,然後在健康的 Host 主機上啟動實例
留言