跳至內容

如何在 Amazon EC2 執行個體變更狀態時收到自訂電子郵件通知?

2 分的閱讀內容
0

我想在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體變更狀態時收到電子郵件通知。

簡短描述

若要在您的 EC2 執行個體變更狀態時接收電子郵件通知,請建立 Amazon Simple Notification Service (Amazon SNS) 主題,以將訊息傳送至已訂閱的端點或用戶端。然後,使用 EC2 執行個體狀態變更通知事件類型來建立 Amazon EventBridge 規則。

**注意:**系統會分別針對 Amazon SNSEventBridge 向您收費。

解決方法

建立自訂電子郵件通知

請完成以下步驟:

  1. 建立 Amazon SNS 主題
    **注意:**在 Type (類型),選擇 Standard (標準)。
  2. 建立 SNS 主題的訂閱
    **注意:**在 Protocol (通訊協定),選擇 Email (電子郵件)。您會在輸入的電子郵件地址收到訂閱確認電子郵件。在電子郵件中選擇 Confirm subscription (確認訂閱)。
  3. 開啟 EventBridge console (EventBridge 主控台)。
  4. 選擇 Create rule (建立規則)。或者,在 Events (事件) 導覽窗格中,選擇 Rules (規則),然後選擇 Create rule (建立規則)。
  5. 輸入規則的 Name (名稱) 和 Description (描述)。
  6. 保留預設的 Event bus (事件匯流排) 和 Rule type (規則類型) 設定,然後選擇 Next (下一步)。
  7. Event pattern (事件模式) 中,將 Event source (事件來源) 保留為 AWS services (AWS 服務)。在 AWS service (AWS 服務),選擇 EC2
  8. Event type (事件類型),選擇 EC2 Instance State-change Notification (EC2 執行個體狀態變更通知)。
  9. 保留 Any state (任何狀態) 和 Any instance (任何執行個體) 的預設設定,然後選擇 Next (下一步)。
  10. Select a target (選取目標),選取 SNS topic (SNS 主題)。
  11. Topic (主題),選取您建立的主題,然後選擇 Next (下一步)。
  12. 展開 Additional settings (其他設定) 區段。在 Configure target input (設定目標輸入),選擇 Input transformer (輸入轉換器)。
  13. 選取 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"
    }
}
  1. 選擇 Next (下一步)。
  2. 將選用的 Tags (標籤) 保留為空白,然後選擇 Next (下一步)。
  3. 選擇 Create rule (建立規則)。
    **注意:**您建立的規則僅適用於建立該規則的 AWS 區域。每次執行個體變更狀態時,該規則都會產生電子郵件通知。

測試您的自訂電子郵件通知

若要測試該規則,請啟動並停止執行個體

**注意:**當您停止並啟動執行個體時,執行個體的公共 IP 位址會變更。最佳實務是使用彈性 IP 位址,而不是公共 IP 位址,將外部流量路由至您的執行個體。如果您使用 Amazon Route 53,則在公共 IP 位址變更時,您可能需要更新 Route 53 DNS 記錄

在您停止並啟動執行個體之前,請採取以下動作:

AWS 官方已更新 5 個月前