使用案例
A 公司某員工在下班前誤關了某台 EC2,導致 B 服務無法使用,直到第二天其他同事才發現架設該服務的 EC2 處於關閉狀態,此時為時已晚!因此,A 公司希望在有人關閉實例時,能接收到電子郵件通知,要如何設定才能做到這一點呢?
只要透過 Amazon Simple Notification Service (SNS) 及 CloudWatch 就能辦到囉!今天就由博弘架構師一步步教大家如何設定:
設定步驟
一、設定 Amazon SNS 主題和端點
1. 首先您必須先在 SNS 中設定主題,並將電子郵件地址新增為端點,以讓 Amazon CloudWatch Events 能發送電子郵件到您的信箱。
2. 登入 Amazon SNS 主控台
3. 從瀏覽窗格選取 Topics (主題),然後選取 Create Topic (建立主題)
4. 在 Create topic(建立主題)區段中,輸入主題名稱(例如: GuardDuty),其他詳細資料可選擇性填寫
5. 選擇 Create Topic(建立主題),並選擇剛才所建立的 Topic
6. 在 Subscription(訂閱)區段中,選取 Create subscription(建立訂閱)
A. 從 Protocol (通訊協定) 功能表中,選取 Email (電子郵件)
B. 在 Endpoint (端點) 欄位中,新增您想要接收通知的電子郵件
7. 選擇 Create subscription(建立訂閱)
8. 建立完成後,系統會發訂閱郵件到您的信箱,請查看收件匣中的訂閱郵件,選擇 Confirm Subscription(確認訂閱)
二、設定當 EC 狀態改變時,觸發通知的 CloudWatch Event
1. 前往 CloudWatch 主控台
2. 從導覽窗格中選取 Rules(規則) → Create Rule (建立規則)
3. Service Name(服務名稱)功能表中,選擇 EC2
4. Event Type(事件類型)功能表中,選擇 EC2 Instance State-change Notification
5. 可選擇 Any state,或是 Specific state(s)(只有特定事件才會通知,選項有:pending, running, shutting-down, stopped, stopping, terminated)
6. 可選擇 Any instance,或是 Specific instance ID(s) (只有特定 instance 才通知)
7. 在 Targets(目標)區段中,點擊 Add Target(新增目標)
8. Select Targets(選取目標)功能表中,選擇 SNS Topic(SNS 主題)
9. 選取您在「 一、設定 Amazon SNS 主題和端點 – 步驟 1」中建立的 SNS 主題名稱
10. Configure input 欄位選取 Input Transformer
11. 複製下列程式碼,並貼到 Input Path (輸入路徑) 欄位中
{“instance-id”:”$.detail.instance-id”, “state”:”$.detail.state”, “time”:”$.time”,
“region”:”$.region”, “account”:”$.account”}
12. 複製下列程式碼,並貼到 Input Template(輸入範本)欄位,以格式化電子郵件
“At <time>, the status of your EC2 instance <instance-id> on account
<account> in the AWS Region <region> has changed to <state>.”
13. 設置完成後,將會顯示如下圖
14. 確認設定無誤後,點擊 Configure Details(設定詳細資料)
15. 在 Configure rule details (設定規則詳細資訊) 頁面上,輸入規則的 Name(名稱)及 Description(描述),
State 必須勾選 Enable,最後點擊 Create rule (建立規則)
完成以上步驟後,AWS偵測到任何一台EC2狀態改變時,將會發送通知到您的電子郵件啦!
是不是清楚簡單又快速呢?
請持續鎖定 Nextlink 架構師專欄,以獲得最新專業資訊喔!
若您有任何 AWS 需求,歡迎與我們聯繫!