

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS Health 使用 Amazon EventBridge 監控 中的事件
<a name="cloudwatch-events-health"></a>

您可以使用 Amazon EventBridge 來偵測和回應 AWS Health 事件。然後，當事件符合您在規則中指定的值時，EventBridge 會根據您建立的規則叫用一或多個目標動作。根據事件類型，您可以擷取事件資訊、啟動其他事件、傳送通知、採取修正動作或執行其他動作。例如，如果您的 中有 AWS 帳戶 排定更新 AWS 的資源，例如 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體，您可以使用 來 AWS Health 接收電子郵件通知。

**備註**  
AWS Health 會*持久*地交付事件，並嘗試至少將事件成功交付至 EventBridge 一次。
您建立的任何 EventBridge 規則只能接收 的通知 AWS 帳戶。若要接收您 內其他帳戶的組織事件 AWS Organizations，請參閱[使用組織檢視和委派管理員存取權彙總 AWS Health 事件](https://docs.aws.amazon.com/health/latest/ug/aggregating-health-events.html)。
建立 EventBridge 規則後，公有運作狀態事件最多可能需要一小時才會開始傳送。

您可以在 AWS Health 工作流程中為 EventBridge 選擇多個目標類型，包括：
+ AWS Lambda 函數
+ Amazon Kinesis Data Streams
+ Amazon Simple Queue Service (Amazon SQS) 佇列
+ 內建目標 （例如 CloudWatch 警示動作）
+ Amazon Simple Notification Service (Amazon SNS) 主題

例如，您可以使用 Lambda 函數，在 AWS Health 事件發生時將通知傳遞至 Slack 頻道。或者，您可以使用 Lambda 和 EventBridge，在 AWS Health 事件發生時透過 Amazon SNS 傳送自訂文字或簡訊通知。

如需您可以為回應 AWS Health 事件而建立的自動化和自訂提醒範例，請參閱 GitHub 中的[AWS Health 工具](https://github.com/aws/aws-health-tools)。

**Topics**
+ [建立涵蓋 AWS 區域 範圍的 EventBridge 規則](choosing-a-region.md)
+ [監控 的帳戶特定和公有事件 AWS Health](about-public-events.md)
+ [檢視 EventBridge 上的 AWS Health 事件分頁清單](pagnation-of-health-events.md)
+ [使用組織檢視和委派管理員存取權彙總 AWS Health 事件](aggregating-health-events.md)
+ [將 AWS Health 事件監控和通知與 JIRA 和 ServiceNow 整合](SMC-integration.md)
+ [設定 EventBridge 規則以傳送 中事件的通知 AWS Health](creating-event-bridge-events-rule-for-aws-health.md)
+ [在聊天應用程式中設定 Amazon Q Developer 以傳送 中事件的通知 AWS Health](receive-health-events-with-aws-chatbot-event-bridge.md)
+ [在 EC2 執行個體上自動執行操作，以回應 中的事件 AWS Health](automating-instance-actions.md)
+ [參考： AWS Health 事件 Amazon EventBridge 結構描述](aws-health-events-eventbridge-schema.md)

# 建立涵蓋 AWS 區域 範圍的 EventBridge 規則
<a name="choosing-a-region"></a>

您可以為要接收 AWS Health 事件的每個區域建立 EventBridge 規則。例如，若要從歐洲 （法蘭克福） 區域接收事件，您可以為此區域建立規則。

若要增強 AWS Health 通知的可靠性，您可以在專用備份區域中設定規則。在標準 AWS 分割區中，美國西部 （奧勒岡） 區域做為所有其他區域的備份區域，而美國東部 （維吉尼亞北部） 區域則做為美國西部 （奧勒岡） 區域的備份。當運作狀態事件發生時，它們會自動傳送至主要區域及其指定的備份區域。例如，如果您要監控歐洲 （法蘭克福） 區域中的事件，則任何運作狀態事件都會傳送至歐洲 （法蘭克福） 區域和美國西部 （奧勒岡） 區域。即使主要區域遇到問題，此系統仍會確保您繼續接收運作狀態通知。若要建立備份規則，請遵循 的程序[設定 EventBridge 規則以傳送 中事件的通知 AWS Health](creating-event-bridge-events-rule-for-aws-health.md)。

如果您不想使用備份功能，則必須將篩選條件新增至備份區域規則。例如，為 實作篩選條件`detail.backupEvent = False`。這可防止您從其他區域接收備份事件。

## 高可用性設定 （選用）
<a name="high-availability-setup"></a>

如果您想要建立具有高可用性的 EventBridge 整合，請確定您已在相關和備份區域中實作規則，然後使用 實作重複資料刪除`detail.communicationId`。這可確保您接收所有事件，同時避免重複。如需詳細資訊，請參閱[參考： AWS Health 事件 Amazon EventBridge 結構描述](aws-health-events-eventbridge-schema.md)。

## 簡化整合
<a name="simplified-integration"></a>

如果您想要從多個 擷取事件 AWS 區域，但偏好只設定單一規則，則簡化整合是適當的選項。若要從標準 AWS 分割區中的所有區域接收 AWS Health 事件，您可以在美國西部 （奧勒岡） 區域中設定中央規則。此單一規則會自動彙總來自您接收運作狀態事件之所有標準分割區區域的事件。不過，您不會有高可用性組態。

## 全域事件
<a name="global-events"></a>

有些 AWS Health 事件並非區域特定。非特定區域的事件稱為全域事件。這些包括針對 AWS Identity and Access Management (IAM) 傳送的事件。若要接收全域事件，您必須為美國東部 （維吉尼亞北部） 區域建立規則。

# 監控 的帳戶特定和公有事件 AWS Health
<a name="about-public-events"></a>

當您建立 EventBridge 規則來監控事件時 AWS Health，規則會同時提供帳戶特定的事件和公有事件：
+ *帳戶特定*事件會影響您的帳戶和資源，例如 事件，告訴您 Amazon EC2 執行個體或其他排程變更事件的必要更新。
+ *公*有事件會出現在[AWS Health 儀表板 – 服務運作狀態](https://status.aws.amazon.com/)。公有事件並非專屬於 AWS 帳戶 ，並提供有關服務區域可用性的公有資訊。

**重要**  
若要接收這兩種事件類型，您的規則必須使用 `"source": [ "aws.health"]`值。萬用字元，例如 `"source": [ "aws.health*"]`不符合要監控任何事件的模式。

您可以使用 eventScopeCode 參數，在 EventBridge 中識別事件為公有或帳戶特定。事件可以有 `PUBLIC`或 `ACCOUNT_SPECIFIC`。您也可以在此參數上篩選規則。

**範例：Amazon Elastic Compute Cloud 的公有事件**

下列事件顯示美國東部 （維吉尼亞北部） 區域中 Amazon EC2 的操作問題。

```
{
    "version": "0",
    "id": "fd9d4512-1eb0-50f6-0491-d016ae56aef0",
    "detail-type": "AWS Health Event",
    "source": "aws.health",
    "account": "123456789012",
    "time": "2023-02-15T10:07:10Z",
    "region": "us-east-1",
    "resources": [],
    "detail": {
        "eventArn": "arn:aws:health:us-east-1::event/EC2/AWS_EC2_OPERATIONAL_ISSUE",
        "service": "EC2",
        "eventTypeCode": "AWS_EC2_OPERATIONAL_ISSUE",
        "eventTypeCategory": "issue",
        "eventScopeCode": "PUBLIC",
        "communicationId": "01b0993207d81a09dcd552ebd1e633e36cf1f09a-1",
        "startTime": "Wed, 15 Feb 2023 22:07:07 GMT",
        "lastUpdatedTime": "Wed, 15 Feb 2023 22:07:07 GMT",
        "statusCode": "open",
        "eventRegion": "us-east-1",
        "eventDescription": [{
            "latestDescription": "We are investigating increased API Error rates and Latencies for Amazon Elastic Compute Cloud in the US-EAST-1 Region.",
            "language": "en_US"
        }],
        "page": "1",
        "totalPages": "1",
        "affectedAccount": "123456789012"

    }
}
```

## AWS Health 事件的備份規則
<a name="about-public-events-backup-rules"></a>

如果您是從 監控公有事件 AWS 區域，建議您建立備份規則。在受影響的區域中設定有效的規則時， 的公有事件 AWS Health 會同時傳送至受影響的區域和備份區域。

AWS Health 無論受影響區域中設定的任何規則為何， 都會將帳戶特定事件傳送至受影響的區域和備份區域。

我們建議您使用 `eventARN`和 刪除重複 AWS Health 事件，`communicationId`因為這些值對於傳送至備份區域 AWS Health 的訊息，會保持一致。

# 檢視 EventBridge 上的 AWS Health 事件分頁清單
<a name="pagnation-of-health-events"></a>

AWS Health 當 AWS Health `resources`或 的清單`affectedEntities`導致訊息大小超過 EventBridge 的 256KB 訊息大小限制時， 支援事件分頁。

AWS Health 包含訊息中的所有 `resources`和 `detail.affectedEntities` 欄位。如果此清單的 `resources`和 `detail.affectedEntities`值超過 256KB，則 會將運作狀態事件 AWS Health 分割成多個頁面，並在 EventBridge 中將這些頁面發佈為個別訊息。每個頁面會保留相同的 `eventARN`和 `communicationId`值，以協助在收到所有頁面`detail.affectedEntities`之後重新組合 `resources`或 的清單。

這些額外的訊息可能會導致不必要的訊息，例如當 EventBridge 規則導向至人類可讀取的界面時，例如電子郵件或聊天。具有人類可讀通知的客戶可以為 `detail.page` 欄位新增篩選條件，以僅處理第一頁，從而消除從後續頁面建立的不必要訊息。

在結構描述中，即使只有 1 頁，每個 communicationId 也會包含 communicationId 之後的連字號頁碼。欄位 `detail.page`和 `detail.totalPages` 說明 AWS Health 事件的目前頁碼和總頁數。每個分頁訊息中包含的資訊都相同，但 `detail.affectedEntities`或 的清單除外`resources`。在收到所有頁面後，即可重建這些清單。受影響資源和實體的頁面與順序無關。

# 使用組織檢視和委派管理員存取權彙總 AWS Health 事件
<a name="aggregating-health-events"></a>

AWS Health 支援在 Amazon EventBridge 上發佈 AWS Health 之事件的組織檢視和委派管理員存取權。在 中開啟組織檢視時 AWS Health，管理帳戶或委派管理員帳戶會收到來自 中組織內所有帳戶的單一 AWS Health 事件摘要 AWS Organizations。

此功能旨在提供集中式檢視，以協助管理整個組織的 AWS Health 事件。在管理帳戶中設定組織檢視和 EventBridge 規則不會停用組織中其他帳戶的 EventBridge 規則。

如需在 上啟用組織檢視和委派管理員存取權的詳細資訊 AWS Health，請參閱[彙總 AWS Health 事件](https://docs.aws.amazon.com/health/latest/ug/aggregate-events.html)。

# 將 AWS Health 事件監控和通知與 JIRA 和 ServiceNow 整合
<a name="SMC-integration"></a>

您可以將 AWS Health 事件與 JIRA 和 ServiceNow 整合，以接收操作和帳戶資訊、準備排定的變更，以及使用 Service Management Connector (SMC) 管理運作狀態事件。與 整合的 SMC AWS Health 可以使用透過 EventBridge 傳送的運作狀態事件，自動建立、映射和更新 JIRA 票證和 ServiceNow 事件。

您可以使用組織檢視和委派管理員存取權，在 JIRA 和 ServiceNow 內輕鬆管理整個組織的運作狀態事件，並將資訊直接整合 AWS Health 到團隊的工作流程中。

如需使用 SMC 進行 ServiceNow 整合的詳細資訊，請參閱 [ ServiceNow AWS Health 中的整合](https://docs.aws.amazon.com/smc/latest/ag/sn-aws-health.html)。

 如需使用 SMC 進行 JIRA Management Cloud 整合的詳細資訊，請參閱 [AWS Health JIRA 中的](https://docs.aws.amazon.com/smc/latest/ag/cloud-sys-health.html) 。

# 設定 EventBridge 規則以傳送 中事件的通知 AWS Health
<a name="creating-event-bridge-events-rule-for-aws-health"></a>

您可以建立 Amazon EventBridge 規則，以程式設計方式將 AWS Health 事件與其他 服務、應用程式和工作負載整合。EventBridge 提供拖放主控台界面和 API，以設定在為您的帳戶或組織建立相符 AWS Health 事件時觸發的規則。若要了解如何在 EventBridge 中設定規則以擷取 AWS Health 事件，請參閱《[Amazon EventBridge 使用者指南》中的在 Amazon EventBridge 中建立規則](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-visual.html)[和在 Amazon EventBridge 中建立對事件做出反應的規則](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-wizard.html)。 * EventBridge *

根據您的整合，EventBridge 可讓您將參數新增至 EventBridge 規則，以僅篩選您要與使用案例整合 AWS Health 的事件。對於事件回應使用案例，您可能想要專注於`issue`事件類別和某些關鍵服務。對於計劃的生命週期事件等變更管理使用案例，您可能想要在可**操作性**欄位中將重點放在具有 AWS Health 的事件`ACTION_REQUIRED`上。為了與安全使用案例整合，您可能想要使用`SECURITY`角色欄位專注於所有 AWS Health 濫用事件和 AWS Health 事件。

您可以使用範例使用案例來驗證您的規則擷取您需要的事件。範例使用案例可在 中取得[參考： AWS Health 事件 Amazon EventBridge 結構描述](aws-health-events-eventbridge-schema.md)。您也可以在 EventBridge 主控台的測試**事件模式 - 選用面板的使用範例事件提供的**選項下找到它們 **** 

## 使用 API 或 AWS Command Line Interface
<a name="create-rule-multiple-services-categories"></a>

對於新的或現有的規則，請使用 [PutRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutRule.html) API 操作或 `aws events put-rule`命令來更新事件模式。若要檢視範例 AWS CLI 命令，請參閱《 *AWS CLI 命令參考*》中的 [put-rule](https://docs.aws.amazon.com//cli/latest/reference/events/put-rule.html)。

**Example 範例：為僅 Amazon EC2 服務的問題設定規則**  
下列事件模式會建立規則來監控 Amazon EC2 服務的問題事件。  

```
{
  "detail": {
    "eventTypeCategory": [
      "issue"
    ],
    "service": [
      "EC2"
    ]
  },
  "detail-type": [
    "AWS Health Event"
  ],
  "source": [
    "aws.health"
  ]
}
```

**Example 範例：設定所有動作所需 AWS Health 事件的規則，包括規劃的生命週期事件**  
下列事件模式會建立規則來監控需要 動作的所有 AWS Health 事件，包括計劃的生命週期事件。  

```
{
  "detail": {
    "eventTypeCategory": [
      "accountNotification",
      "scheduledChange"
    ],
    "actionability": [
      "ACTION_REQUIRED"
    ]
  },
  "detail-type": [
    "AWS Health Event"
  ],
  "source": [
    "aws.health"
  ]
}
```

**Example 範例：為多個服務和 AWS Health 事件類型類別的所有事件設定規則**  
下列事件模式會建立規則來監控三種 AWS 服務之 `issue`、 `accountNotification`和 `scheduledChange`事件類型類別的事件：Amazon EC2 Auto Scaling、Amazon VPC 和 Amazon EC2。  

```
{
  "detail": {
    "eventTypeCategory": [
      "issue",
      "accountNotification",
      "scheduledChange"
    ],
    "service": [
      "AUTOSCALING",
      "VPC",
      "EC2"
    ]
  },
  "detail-type": [
    "AWS Health Event"
  ],
  "source": [
    "aws.health"
  ]
}
```

# 在聊天應用程式中設定 Amazon Q Developer 以傳送 中事件的通知 AWS Health
<a name="receive-health-events-with-aws-chatbot-event-bridge"></a>

您可以直接在聊天用戶端中接收 AWS Health 事件，例如 Slack 和 Amazon Chime。您可以使用此事件來識別可能影響應用程式 AWS 和基礎設施的最新 AWS 服務問題。然後，您可以登入您的 [AWS Health Dashboard](https://health.aws.amazon.com/health/home) 以進一步了解更新。例如，如果您正在監控 AWS 帳戶中`AWS_EC2_INSTANCE_STOP_SCHEDULED`的事件類型，則 AWS Health 事件可以直接顯示到您的 Slack 頻道。

## 先決條件
<a name="prerequisited-chat-bot-event-bridge"></a>

開始使用之前，您必須具備下列項目：
+ 在聊天應用程式中使用 Amazon Q Developer 設定的聊天用戶端。您可以設定 Amazon Chime 和 Slack。如需詳細資訊，請參閱《[聊天應用程式管理員指南》中的](https://docs.aws.amazon.com//chatbot/latest/adminguide/getting-started.html)*在聊天應用程式中開始使用 Amazon Q 開發人員*。
+ 您建立和訂閱的 Amazon SNS 主題。如果您已有 SNS 主題，您可以使用現有的主題。如需詳細資訊，請參閱《Amazon Simple Notification Service 開發人員指南》**中的 [Amazon SNS 入門](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)。

**在聊天應用程式中使用 Amazon Q Developer 接收 AWS Health 事件**

1. 依照中的程序[設定 EventBridge 規則以傳送 中事件的通知 AWS Health](creating-event-bridge-events-rule-for-aws-health.md)執行步驟 13。

   1. 當您完成步驟 13 中的事件模式設定時，請在模式的最後一行新增逗號，並新增以下行以從分頁 AWS Health 事件中移除不必要的聊天訊息。請參閱 [檢視 EventBridge 上的 AWS Health 事件分頁清單](pagnation-of-health-events.md)。

      `"detail.page": ["1"]`

   1. 當您在步驟 16 選擇目標時，請選擇 SNS 主題。您將在聊天應用程式主控台的 Amazon Q Developer 中使用相同的 SNS 主題。

   1. 完成其餘程序以建立規則。

1. 在[聊天應用程式主控台中導覽至 Amazon Q Developer](https://console.aws.amazon.com/chatbot)。

1. 選擇您的聊天用戶端，例如您的 Slack 頻道名稱，然後選擇**編輯**。

1. 在**通知 - 選用**區段中，針對**主題**選擇您在步驟 1 中指定的相同 SNS 主題。

1. 選擇**儲存**。

   當 AWS Health 將事件傳送至符合您規則的 EventBridge 時， AWS Health 事件會出現在您的聊天用戶端中。

1. 選擇事件名稱，即可在 AWS Health 儀表板中查看更多資訊。

**Example ： AWS Health 事件傳送至 Slack**  
以下是美國東部 （維吉尼亞北部） 區域中 Amazon EC2 和 Amazon Simple Storage Service (Amazon S3) 在 Slack 頻道中出現的兩個 AWS Health 事件範例。  

![\[Slack 頻道中顯示兩個 AWS Health 事件的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/health/latest/ug/images/slack-chat-notification-for-health-events.png)


# 在 EC2 執行個體上自動執行操作，以回應 中的事件 AWS Health
<a name="automating-instance-actions"></a>

您可以自動化回應 Amazon EC2 執行個體排程事件的動作。當 AWS Health 將事件傳送到 AWS 您的帳戶時，您的 EventBridge 規則接著可以叫用 AWS Systems Manager 自動化文件等目標，以代表您自動執行動作。

例如，當排程 Amazon EC2執行個體的 Amazon EC2 執行個體淘汰事件時， AWS Health 會將`AWS_EC2_PERSISTENT_INSTANCE_RETIREMENT_SCHEDULED`事件類型傳送至您的 AWS Health Dashboard。當您的規則偵測到此事件類型時，您可以自動停止和啟動執行個體。如此一來，您就不必手動執行這些動作。

**注意**  
若要自動化 Amazon EC2 執行個體的動作，執行個體必須由 Systems Manager 管理。

如需詳細資訊，請參閱《[Amazon EC2 使用者指南》中的使用 EventBridge 自動化](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/automating_with_cloudwatch_events.html) Amazon EC2。 *Amazon EC2 *

## 先決條件
<a name="prerequisites-automation-ec2-instances"></a>

您必須建立 AWS Identity and Access Management (IAM) 政策、建立 IAM 角色，以及更新角色的信任政策，才能建立規則。

### 建立 IAM 政策
<a name="create-iam-role-for-ssm-automation"></a>

請遵循此程序，為您的角色建立客戶管理政策。此政策提供角色代表您執行動作的許可。此程序在 IAM 主控台中使用 JSON 政策編輯器。

**建立 IAM 政策**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 IAM 主控台。

1. 在導覽窗格中，選擇**政策**。

1. 選擇 **Create policy** (建立政策)。

1. 請選擇 **JSON** 標籤。

1. 複製下列 JSON，然後在編輯器中取代預設 JSON。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "ec2:StartInstances",
           "ec2:StopInstances",
           "ec2:DescribeInstanceStatus"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "ssm:*"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "sns:Publish"
         ],
         "Resource": [
           "arn:aws:sns:*:*:Automation*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "iam:PassRole"
         ],
         "Resource": "arn:aws:iam::123456789012:role/AutomationEVRole"
       }
     ]
   }
   ```

------

   1. 在 `Resource` 參數中，針對 Amazon Resource Name (ARN) 輸入 AWS 您的帳戶 ID。

   1. 您也可以取代角色名稱或使用預設值。此範例使用 *AutomationEVRole*。

1. 選擇下**一步：標籤**。

1. (選用) 您可使用標籤作為金鑰值對，將中繼資料新增至政策。

1. 選擇下**一步：檢閱**。

1. 在**檢閱政策**頁面上，輸入**名稱**，例如 *AutomationEVRolePolicy* 和選用的**描述**。

1. 檢閱**摘要**頁面以查看政策允許的許可。如果您對政策感到滿意，請選擇**建立政策**。

此政策定義角色可以採取的動作。若需詳細資訊，請參閱《IAM 使用者指南》中的[建立 IAM 政策 (主控台)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)。

### 建立 IAM 角色
<a name="creating-an-iam-role-for-ssm-automation"></a>

建立政策之後，必須建立 IAM 角色，並將政策連接到該角色。

**為 AWS 服務建立角色**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 IAM 主控台。

1. 在導覽窗格中，選擇**角色**，然後選擇**建立角色**。

1. 對於 **Select type of trusted entity (選取信任的實體類型)**，選擇 **AWS service ( 服務)**。

1. 為您要允許 擔任此角色的服務選擇 **EC2**。

1. 選擇**下一步：許可**。

1. 輸入您建立的政策名稱，例如 *AutomationEVRolePolicy*，然後選取政策旁的核取方塊。

1. 選擇下**一步：標籤**。

1. (選用) 您可使用標籤作為金鑰值對，將中繼資料新增至角色。

1. 選擇下**一步：檢閱**。

1. 針對**角色名稱**，輸入 *AutomationEVRole*。此名稱必須與您建立之 IAM 政策的 ARN 中出現的名稱相同。

1. (選用) 在 **Role description (角色說明)** 中，輸入角色的說明。

1. 檢閱角色，然後選擇**建立角色**。

如需詳細資訊，請參閱《*IAM 使用者指南*》中的[為 AWS 服務建立角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console)。

### 更新信任政策
<a name="modify-trust-policy"></a>

最後，您可以更新所建立角色的信任政策。您必須完成此程序，才能在 EventBridge 主控台中選擇此角色。

**更新角色的信任政策**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 IAM 主控台。

1. 在導覽窗格中，選擇**角色**。

1. 在 AWS 帳戶中的角色清單中，選擇您建立的角色名稱，例如 *AutomationEVRole*。

1. 選擇 **Trust Relationships (信任關係)** 標籤，然後選擇 **Edit Trust Relationship (編輯信任關係)**。

1. 針對**政策文件**，複製下列 JSON、移除預設政策，並將複製的 JSON 貼到其位置。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "ssm.amazonaws.com",
                       "events.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. 選擇 **Update Trust Policy** (更新信任政策)。

如需詳細資訊，請參閱《*IAM 使用者指南*》中的[修改角色信任政策 （主控台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy)。

## 建立 EventBridge 的規則
<a name="create-rule-for-ssm-automation"></a>

請依照此程序在 EventBridge 主控台中建立規則，以便您可以自動停止和啟動排程淘汰的 EC2 執行個體。

**建立適用於 Systems Manager 自動化動作的 EventBridge 規則**

1. 造訪 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) 開啟 Amazon EventBridge 主控台。

1. 在導覽窗格的 **Events** (事件) 下，選擇 **Rules** (規則)。

1. 在**建立規則**頁面上，輸入規則**的名稱**和**描述**。

1. 在 **Define pattern** (定義模式) 下，選擇 **Event pattern** (事件模式)，然後選擇 **Pre-defined pattern by service** (依服務預先定義模式)。

1. 針對**服務供應商**，選擇 **AWS**。

1. 針對**服務名稱**，選擇**運作狀態**。

1. 針對**事件類型**，選擇**特定運作狀態事件**。

1. 選擇**特定 （特定） 服務**，然後選擇 **EC2**。

1. 選擇**特定事件類型類別 (s)**，然後選擇 **scheduledChange**。

1. 選擇**特定事件類型程式碼 （程式碼）**，然後選擇事件類型程式碼。

   例如，對於 Amazon EC2 EBS 支援的執行個體，選擇 **`AWS_EC2_PERSISTENT_INSTANCE_RETIREMENT_SCHEDULED`**。針對 Amazon EC2 執行個體後端執行個體，選擇 **`AWS_EC2_INSTANCE_RETIREMENT_SCHEDULED`**。

1. 選擇 **Any resource (任何資源)**。

   您的**事件模式**看起來會與下列範例類似。  
**Example**  

   ```
   {
     "source": [
       "aws.health"
     ],
     "detail-type": [
       "AWS Health Event"
     ],
     "detail": {
       "service": [
         "EC2"
       ],
       "eventTypeCategory": [
         "scheduledChange"
       ],
       "eventTypeCode": [
         "AWS_EC2_PERSISTENT_INSTANCE_RETIREMENT_SCHEDULED"
       ]
     }
   }
   ```

1. 新增 Systems Manager Automation 文件目標。在**選取目標**下，針對**目標**選擇 **SSM 自動化**。

1. 對於 **Document** (文件)，請選擇 `AWS-RestartEC2Instance`。

1. 展開**設定自動化參數 （設定）**，然後選擇**輸入轉換器**。

1. 在**輸入路徑**欄位中，輸入 **`{"Instances":"$.resources"}`**。

1. 針對第二個欄位，輸入 **`{"InstanceId": <Instances>}`**。

1. 選擇**使用現有角色**，然後選擇您建立的 IAM 角色，例如 *AutomationEVRole*。

   您的目標看起來應該如下範例所示。  
![\[EventBridge 主控台中 "SSM Automation" 範例的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/health/latest/ug/images/event-bridge-event-pattern-ssm-automation.png)
**注意**  
如果您沒有具有必要 EC2 和 Systems Manager 許可和信任關係的現有 IAM 角色，您的角色將不會出現在清單中。如需詳細資訊，請參閱[先決條件](#prerequisites-automation-ec2-instances)。

1. 選擇**建立**。

   如果您的帳戶中發生符合您規則的事件，EventBridge 會將事件傳送至您指定的目標。

# 參考： AWS Health 事件 Amazon EventBridge 結構描述
<a name="aws-health-events-eventbridge-schema"></a>

以下是 AWS Health 事件的結構描述。在第二個資料表中，詳細資訊參數的內容如下。範例承載是在結構描述資料表之後提供。

## AWS Health 事件結構描述
<a name="aws-health-event-schema"></a>


**AWS Health 事件結構描述**  

| 參數 | Description | 必要 | 
| --- | --- | --- | 
| version | EventBridge 版本，目前為 "0"。 | 是 | 
| id | EventBridge 事件的唯一識別符。 | 是 | 
| detail-type | 詳細資訊的類型。對於 AWS Health 事件，支援的值為 &AWS Health Event和 AWS Health Abuse Event |  是 | 
| source |  事件匯流排來源。對於 AWS Health 事件，支援的值為 `aws.health`  | 是 | 
| account | 傳送 AWS Health 事件的目標帳戶 ID。 對於組織檢視，如果在管理帳戶或委派管理員帳戶中收到，則這是與受影響帳戶不同的帳戶。  | 是 | 
| time | 通知傳送至 EventBridge 的時間。格式：yyyy-mm-ddThh:mm:ssZ。 | 是 | 
| region | 通知傳送到 AWS 區域 的 。 此欄位不會指出此 AWS Health 事件受影響的區域。該資訊會在 中報告`detail.eventRegion`。  | 是 | 
| resources |  描述帳戶內受影響的資源清單，如果有的話。 如果沒有參考的資源，此欄位為空白。  | 否 | 
| 詳細資訊 | 包含 AWS Health 事件詳細資訊的 區段，如此事件後面的資料表所述。 | 是 | 

### 'details' 參數的結構描述內容
<a name="schema-details"></a>

下表記錄 AWS Health 事件結構描述中**詳細資訊**參數的內容。


**AWS Health 事件結構描述：詳細資訊參數內容**  

| 'detail' 參數內容 | Description | 必要 | 
| --- | --- | --- | 
| eventArn | 特定區域 AWS Health 事件的唯一識別符，包括區域和事件 ID。 事件 ARN 對特定 AWS 帳戶 或 區域來說不是唯一的。  | 是 | 
| 服務 | 受 AWS Health 事件 AWS 服務 影響的 。例如，Amazon EC2、Amazon Simple Storage Service、Amazon Redshift 或 Amazon Relational Database Service。 | 是 | 
| eventTypeCode | 事件類型的唯一辨識碼。例如：AWS\$1EC2\$1INSTANCE\$1NETWORK\$1MAINTENANCE\$1SCHEDULED 和 AWS\$1EC2\$1INSTANCE\$1REBOOT\$1MAINTENANCE\$1SCHEDULED。包含 的事件通常會MAINTENANCE\$1SCHEDULED在開始時間前約兩週推出。 所有新的計劃生命週期事件都具有事件類型 `AWS_{SERVICE}_PLANNED_LIFECYCLE_EVENT`。  | 是 | 
| eventTypeCategory | 事件的類別程式碼。支援的值包括 issue、investigation、 accountNotification和 scheduledChange。 | 是 | 
| eventScopeCode | 指出 AWS Health 事件是帳戶特定還是公有。支援的值為 ACCOUNT\$1SPECIFIC 或 PUBLIC。 | 是 | 
| communicationId |  此 AWS Health 事件通訊的唯一識別符。 具有相同通訊 ID 的訊息可能是備份訊息或單一 AWS Health 事件的頁面。此識別符可與帳戶 ID 搭配使用，以協助刪除重複的訊息。 使用 AWS Health 事件分頁支援時，通訊 ID 會包含頁面號碼，讓通訊 ID 在各頁面中保持唯一，例如 12345678910-1。如需詳細資訊，請參閱[檢視 EventBridge 上的 AWS Health 事件分頁清單](pagnation-of-health-events.md)。  | 是 | 
| startTime |  AWS Health 事件的開始時間，格式為 DoW, DD, MMM, YYYY, HH:MM:SS TZ。排程事件的開始時間可以是未來的時間。  | 是 | 
| endTime |  AWS Health 事件的結束時間，格式為：DoW, DD MMM YYYY HH:MM:SS TZ。無法為排程在未來時間的事件提供結束時間。  | 否 | 
| lastUpdatedTime |  AWS Health 事件的上次更新時間，格式為 DoW, DD MMM YYYY HH:MM:SS TZ。 | 是 | 
| statusCode |   AWS Health 事件的狀態。 支援的值包括 `open`、 `closed`和 `upcoming`。  | 是 | 
| eventRegion | 此 AWS Health 事件描述受影響的區域。 | 是 | 
| eventDescription |  描述 AWS Health 事件的區段。這包括用於描述事件的語言和文字欄位。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/health/latest/ug/aws-health-events-eventbridge-schema.html)  | 是 | 
| eventMetadata |  可為事件提供 AWS Health 的其他事件中繼資料。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/health/latest/ug/aws-health-events-eventbridge-schema.html)  | 否 | 
| affectedEntities |  描述 AWS Health 事件中受影響資源的資源值和狀態的陣列。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/health/latest/ug/aws-health-events-eventbridge-schema.html)  | 否 | 
| 頁面 | 此訊息代表的頁面。如需詳細資訊，請參閱[檢視 EventBridge 上的 AWS Health 事件分頁清單](pagnation-of-health-events.md)。 分頁只會發生在資源上。如果因為其他原因超過 256KB 大小限制，則通訊會失敗。  | 是 | 
| totalPages | 此運作狀態事件的頁面總數。如需詳細資訊，請參閱[檢視 EventBridge 上的 AWS Health 事件分頁清單](pagnation-of-health-events.md)。 您可以使用此值來判斷您是否收到帳戶多頁通訊的所有頁面。  | 是 | 
| backupEvent | 如果客戶不想利用備援，此旗標會篩選掉分割區中指定備份區域中的備份事件。此值可以是 true 或 false。 | 是 | 
| affectedAccount | 受影響帳戶的帳戶 ID。 如果此運作狀態事件傳送到屬於 的帳戶， AWS Organizations 並在管理帳戶或委派管理員帳戶中收到，則可能與 `account` 欄位的值不同。  | 是 | 
| 可操作性 | 中繼資料可啟用哪些事件需要動作的程式設計判斷，無需手動檢查。可能的 （單一） 值可以是 ACTION\$1REQUIRED、 ACTION\$1MAY\$1BE\$1REQUIRED或 INFORMATIONAL。 | 否 | 
| 角色 | 此中繼資料清單會啟用將事件路由到哪個利益相關者的程式設計判斷。可能 （多個） 的值為 OPERATIONAL、 SECURITY和 BILLING。 | 否 | 

## 公有運作狀態事件 - Amazon EC2 操作問題
<a name="amazon-ec2-operational-issue"></a>

```
{
    "version": "0",
    "id": "7bf73129-1428-4cd3-a780-95db273d1602",
    "detail-type": "AWS Health Event",
    "source": "aws.health",
    "account": "123456789012",
    "time": "2023-01-27T09:01:22Z",
    "region": "af-south-1",
    "resources": [],
    "detail": {
        "eventArn": "arn:aws:health:af-south-1::event/EC2/AWS_EC2_OPERATIONAL_ISSUE/AWS_EC2_OPERATIONAL_ISSUE_7f35c8ae-af1f-54e6-a526-d0179ed6d68f",
        "service": "EC2",
        "eventTypeCode": "AWS_EC2_OPERATIONAL_ISSUE",
        "eventTypeCategory": "issue",
        "eventScopeCode": "PUBLIC",
        "communicationId": "01b0993207d81a09dcd552ebd1e633e36cf1f09a-1",
        "startTime": "Fri, 27 Jan 2023 06:02:51 GMT",
        "endTime": "Fri, 27 Jan 2023 09:01:22 GMT",
        "lastUpdatedTime": "Fri, 27 Jan 2023 09:01:22 GMT",
        "statusCode": "open",
        "eventRegion": "af-south-1",
        "eventDescription": [{
            "language": "en_US",
            "latestDescription": "Current severity level: Operating normally\n\n[RESOLVED] \n\n [03:15 PM PST] We continue see recovery \n\nThe following AWS services were previously impacted but are now operating normally: APPSYNC, BACKUP, EVENTS."
        }],
        "affectedEntities": [],
        "page": "1",
        "totalPages": "1",
        "backupEvent": "false",
        "affectedAccount": "123456789012",
        "personas": ["OPERATIONS"]
    }
}
```

## 帳戶特定 AWS Health 事件 - Elastic Load Balancing API 問題
<a name="elastic-load-balancing-api-issue"></a>

```
{
    "version": "0",
    "id": "121345678-1234-1234-1234-123456789012",
    "detail-type": "AWS Health Event",
    "source": "aws.health",
    "account": "123456789012",
    "time": "2022-06-10T06:27:57Z",
    "region": "ap-southeast-2",
    "resources": [],
    "detail": {
        "eventArn": "arn:aws:health:ap-southeast-2::event/AWS_ELASTICLOADBALANCING_API_ISSUE_90353408594353980",
        "service": "ELASTICLOADBALANCING",
        "eventTypeCode": "AWS_ELASTICLOADBALANCING_API_ISSUE",
        "eventTypeCategory": "issue",
        "eventScopeCode": "ACCOUNT_SPECIFIC",
        "communicationId": "01b0993207d81a09dcd552ebd1e633e36cf1f09a-1",
        "startTime": "Fri, 10 Jun 2022 05:01:10 GMT",
        "endTime": "Fri, 10 Jun 2022 05:30:57 GMT",
        "statusCode": "open",
        "eventRegion": "ap-southeast-2",
        "eventDescription": [{
            "language": "en_US",
            "latestDescription": "A description of the event will be provided here"
        }],
        "page": "1",
        "totalPages": "1",
        "backupEvent": "false",
        "affectedAccount": "123456789012",
        "personas": ["OPERATIONS"]
    }
}
```

## 帳戶特定 AWS Health 事件 - Amazon EC2 執行個體存放區磁碟機效能降低的備份事件
<a name="amazon-ec2-instance-store-drive-performance-degraded"></a>

```
{
    "version": "0",
    "id": "121345678-1234-1234-1234-123456789012",
    "detail-type": "AWS Health Event",
    "source": "aws.health",
    "account": "123456789012",
    "time": "2022-06-03T06:27:57Z",
    "region": "us-west-2",
    "resources": [
        "i-abcd1111"
    ],
    "detail": {
        "eventArn": "arn:aws:health:us-east-1::event/AWS_EC2_INSTANCE_STORE_DRIVE_PERFORMANCE_DEGRADED_90353408594353980",
        "service": "EC2",
        "eventTypeCode": "AWS_EC2_INSTANCE_STORE_DRIVE_PERFORMANCE_DEGRADED",
        "eventTypeCategory": "issue",
        "eventScopeCode": "ACCOUNT_SPECIFIC",
        "communicationId": "01b0993207d81a09dcd552ebd1e633e36cf1f09a-1",
        "startTime": "Fri, 3 Jun 2022 05:01:10 GMT",
        "endTime": "Fri, 3 Jun 2022 05:30:57 GMT",
        "statusCode": "open",
        "eventRegion": "us-east-1",
        "eventDescription": [{
            "language": "en_US",
            "latestDescription": "A description of the event will be provided here"
        }],
        "affectedEntities": [{
            "entityValue": "i-abcd1111"
        }],
        "page": "1",
        "totalPages": "1",
        "backupEvent": "true",
        "affectedAccount": "123456789012",
        "personas": ["OPERATIONS"]
    }
}
```

## 帳戶特定 AWS Health 事件 - Amazon EC2 執行個體淘汰
<a name="amazon-ec2-instance-retirement-scheduled"></a>

```
{
    "version": "0",
    "id": "7bf73129-1428-4cd3-a780-95db273d1602",
    "detail-type": "AWS Health Event",
    "source": "aws.health",
    "account": "123456789012",
    "time": "2026-01-27T01:43:21Z",
    "region": "us-east-1",
    "detail": {
        "eventArn": "arn:aws:health:us-east-1::event/AWS_EC2_INSTANCE_RETIREMENT_SCHEDULED_90353408594353983",
        "service": "EC2",
        "eventTypeCode": "AWS_EC2_INSTANCE_RETIREMENT_SCHEDULED",
        "eventTypeCategory": "scheduledChange",
        "eventScopeCode": "ACCOUNT_SPECIFIC",
        "communicationId": "1234abc01232a4012345678-1",
        "startTime": "Thu, 27 Aug 2026 13:19:03 GMT",
        "lastUpdatedTime": "Thu, 27 Jan 2026 13:44:13 GMT",
        "statusCode": "open",
        "eventRegion": "us-east-1",
        "eventDescription": [{
            "language": "en_US",
            "latestDescription": "A description of the event will be provided here"
        }],
        "eventMetadata": {
            "keystring1": "valuestring1",
            "keystring2": "valuestring2",
            "keystring3": "valuestring3",
            "keystring4": "valuestring4",
            "truncated": "true"
        },
        "affectedEntities": [{
            "entityValue": "arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0",
            "lastUpdatedTime": "Thu, 26 Jan 2026 19:01:55 GMT",
            "status": "PENDING"
        }],
        "affectedAccount": "123456789012",
        "page": "1",
        "totalPages": "1",
        "backupEvent": "false",
        "personas": ["OPERATIONS"],
        "actionability": "ACTION_REQUIRED"
    }
}
```

## 帳戶特定 AWS Health 事件 - Lambda 計劃生命週期事件
<a name="amazon-lambda-planned-lifecycle-event"></a>

```
{
    "version": "0",
    "id": "7bf73129-1428-4cd3-a780-95db273d1602",
    "detail-type": "AWS Health Event",
    "source": "aws.health",
    "account": "123456789012",
    "time": "2023-01-27T01:43:21Z",
    "region": "us-west-2",
    "resources": ["arn:lambda-1-101002929", "arn:lambda-1-101002930", "arn:lambda-1-101002931", "arn:lambda-1-101002932"],
    "detail": {
        "eventArn": "arn:aws:health:us-west-2::event/AWS_LAMBDA_PLANNED_LIFECYCLE_EVENT_90353408594353980",
        "service": "LAMBDA",
        "eventTypeCode": "AWS_LAMBDA_PLANNED_LIFECYCLE_EVENT",
        "eventTypeCategory": "scheduledChange",
        "eventScopeCode": "ACCOUNT_SPECIFIC",
        "communicationId": "1234abc01232a4012345678-1",
        "startTime": "Thu, 27 Aug 2026 13:19:03 GMT",
        "lastUpdatedTime": "Thu, 27 Jan 2026 13:44:13 GMT",
        "statusCode": "open",
        "eventRegion": "us-west-2",
        "eventDescription": [{
            "language": "en_US",
            "latestDescription": "A description of the event will be provided here"
        }],
        "eventMetadata": {
            "keystring1": "valuestring1",
            "keystring2": "valuestring2",
            "keystring3": "valuestring3",
            "keystring4": "valuestring4",
            "truncated": "true"
        },
        "affectedEntities": [{
            "entityValue": "arn:lambda-1-101002929",
            "lastUpdatedTime": "Thu, 26 Jan 2026 19:01:55 GMT",
            "status": "PENDING"
        }, {
            "entityValue": "arn:lambda-1-101002930",
            "lastUpdatedTime": "Thu, 26 Jan 2026 19:05:12 GMT",
            "status": "PENDING"
        }, {
            "entityValue": "arn:lambda-1-101002931",
            "lastUpdatedTime": "Thu, 26 Jan 2026 19:07:13 GMT",
            "status": "PENDING"
        }, {
            "entityValue": "arn:lambda-1-101002932",
            "lastUpdatedTime": "Thu, 26 Jan 2026 19:10:59 GMT",
            "status": "RESOLVED"
        }],
        "affectedAccount": "123456789012",
        "page": "1",
        "totalPages": "10",
        "backupEvent": "false",
        "personas": ["OPERATIONS"],
        "actionability": "ACTION_REQUIRED"
    }
}
```