我想在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體變更狀態時收到電子郵件通知。
簡短描述
若要在您的 EC2 執行個體變更狀態時接收電子郵件通知,請建立 Amazon Simple Notification Service (Amazon SNS) 主題,以將訊息傳送至已訂閱的端點或用戶端。然後,使用 EC2 執行個體狀態變更通知事件類型來建立 Amazon EventBridge 規則。
**注意:**系統會分別針對 Amazon SNS 和 EventBridge 向您收費。
解決方法
建立自訂電子郵件通知
請完成以下步驟:
- 建立 Amazon SNS 主題。
**注意:**在 Type (類型),選擇 Standard (標準)。
- 建立 SNS 主題的訂閱。
**注意:**在 Protocol (通訊協定),選擇 Email (電子郵件)。您會在輸入的電子郵件地址收到訂閱確認電子郵件。在電子郵件中選擇 Confirm subscription (確認訂閱)。
- 開啟 EventBridge console (EventBridge 主控台)。
- 選擇 Create rule (建立規則)。或者,在 Events (事件) 導覽窗格中,選擇 Rules (規則),然後選擇 Create rule (建立規則)。
- 輸入規則的 Name (名稱) 和 Description (描述)。
- 保留預設的 Event bus (事件匯流排) 和 Rule type (規則類型) 設定,然後選擇 Next (下一步)。
- 在 Event pattern (事件模式) 中,將 Event source (事件來源) 保留為 AWS services (AWS 服務)。在 AWS service (AWS 服務),選擇 EC2。
- 在 Event type (事件類型),選擇 EC2 Instance State-change Notification (EC2 執行個體狀態變更通知)。
- 保留 Any state (任何狀態) 和 Any instance (任何執行個體) 的預設設定,然後選擇 Next (下一步)。
- 在 Select a target (選取目標),選取 SNS topic (SNS 主題)。
- 在 Topic (主題),選取您建立的主題,然後選擇 Next (下一步)。
- 展開 Additional settings (其他設定) 區段。在 Configure target input (設定目標輸入),選擇 Input transformer (輸入轉換器)。
- 選取 Configure input transformer (設定輸入轉換器),然後在 Input path (輸入路徑) 和 Template (範本) 輸入以下文字。
輸入路徑:
{
"instance-id": "$.detail.instance-id",
"state": "$.detail.state",
"time": "$.time",
"region": "$.region",
"account": "$.account"
}
範本:
"At <time>, the status of your EC2 instance <instance-id> on account <account> in the AWS Region <region> has changed to <state>."
注意:如需更多輸入轉換欄位的資訊,請參閱 Amazon EventBridge 輸入轉換。輸入轉換器只能使用資料事件中存在的欄位。例如,以下事件模式是前述組態所擷取事件的範例,顯示進入待處理狀態的執行個體:
{
"id": "7bf73129-1428-4cd3-a780-95db273d1602",
"detail-type": "EC2 Instance State-change Notification",
"source": "aws.ec2",
"account": "123456789012",
"time": "2021-11-11T21:29:54Z",
"region": "us-east-1",
"resources": ["arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"],
"detail": {
"instance-id": "i-1234567890abcdef0",
"state": "pending"
}
}
- 選擇 Next (下一步)。
- 將選用的 Tags (標籤) 保留為空白,然後選擇 Next (下一步)。
- 選擇 Create rule (建立規則)。
**注意:**您建立的規則僅適用於建立該規則的 AWS 區域。每次執行個體變更狀態時,該規則都會產生電子郵件通知。
測試您的自訂電子郵件通知
若要測試該規則,請啟動並停止執行個體。
**注意:**當您停止並啟動執行個體時,執行個體的公共 IP 位址會變更。最佳實務是使用彈性 IP 位址,而不是公共 IP 位址,將外部流量路由至您的執行個體。如果您使用 Amazon Route 53,則在公共 IP 位址變更時,您可能需要更新 Route 53 DNS 記錄。
在您停止並啟動執行個體之前,請採取以下動作: