

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

# Amazon EC2 執行個體的執行期涵蓋範圍和疑難排解
<a name="gdu-assess-coverage-ec2"></a>

對於 Amazon EC2 資源，執行期涵蓋範圍會在執行個體層級進行評估。您的 Amazon EC2 執行個體可以在環境中 AWS 執行多種類型的應用程式和工作負載。此功能也支援 Amazon ECS 受管 Amazon EC2 執行個體，如果您在 Amazon EC2 執行個體上執行 Amazon ECS 叢集，執行個體層級的涵蓋範圍問題會顯示在 Amazon EC2 執行期涵蓋範圍內。

**Topics**
+ [檢閱涵蓋範圍統計資料](#review-coverage-statistics-ec2-runtime-monitoring)
+ [使用 EventBridge 通知變更涵蓋範圍狀態](#ec2-runtime-monitoring-coverage-status-change)
+ [對 Amazon EC2 執行期涵蓋範圍問題進行故障診斷](#ec2-runtime-monitoring-coverage-issues-troubleshoot)

## 檢閱涵蓋範圍統計資料
<a name="review-coverage-statistics-ec2-runtime-monitoring"></a>

與您自己的帳戶或成員帳戶相關聯的 Amazon EC2 執行個體涵蓋範圍統計資料，是所選 中所有 EC2 執行個體上運作狀態良好的 EC2 執行個體百分比 AWS 區域。可以用下列方程式將此表示為：

*（運作狀態良好的執行個體/所有執行個體）\*100*

如果您也為 Amazon ECS 叢集部署 GuardDuty 安全代理程式，則與在 Amazon EC2 執行個體上執行的 Amazon ECS 叢集相關的任何執行個體層級涵蓋範圍問題都會顯示為 Amazon EC2 執行個體執行期涵蓋範圍問題。

選擇其中一種存取方法來檢閱您帳戶的涵蓋範圍統計資料。

------
#### [ Console ]
+ 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/)：// 開啟 GuardDuty 主控台。
+ 在導覽窗格中，選擇**執行期監控**。
+ 選擇**執行期涵蓋**範圍索引標籤。
+ 在 **EC2 執行個體執行期涵蓋**範圍索引標籤下，您可以檢視執行個體**清單**資料表中可用之每個 Amazon EC2 執行個體涵蓋範圍狀態彙總的涵蓋範圍統計資料。
  + 您可以依下列資料欄篩選**執行個體清單**資料表：
    + **帳戶 ID**
    + **代理程式管理類型**
    + **代理程式版本**
    + **涵蓋範圍狀態**
    + **執行個體 ID**
    + **叢集 ARN**
+ 如果您的任何 EC2 執行個體的**涵蓋狀態**為**運作狀態不佳**，**問題**欄會包含**運作狀態不佳**原因的其他資訊。

------
#### [ API/CLI ]
+ 使用您自己的有效偵測器 ID、目前區域和服務端點執行 [ListCoverage](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListCoverage.html) API。您可以使用此 API 篩選和排序執行個體清單。
  + 您可以使用 `CriterionKey` 的下列選項之一變更範例 `filter-criteria`：
    + `ACCOUNT_ID`
    + `RESOURCE_TYPE`
    + `COVERAGE_STATUS`
    + `AGENT_VERSION`
    + `MANAGEMENT_TYPE`
    + `INSTANCE_ID`
    + `CLUSTER_ARN`
  + 當 `filter-criteria`包含 `RESOURCE_TYPE` 做為 **EC2** 時，執行期監控不支援使用 **ISSUE** 做為 `AttributeName`。如果您使用它，API 回應將導致 `InvalidInputException`。

    您可以使用下列選項變更 `sort-criteria` 中的範例 `AttributeName`：
    + `ACCOUNT_ID`
    + `COVERAGE_STATUS`
    + `INSTANCE_ID`
    + `UPDATED_AT`
  + 您可以變更 {{max-results}} (最多 50 個)。
  + 若要尋找`detectorId`您帳戶和目前區域的 ，請參閱 https：//[https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) 主控台中的**設定**頁面，或執行 [ListDetectors](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API。

  ```
  aws guardduty --region {{us-east-1}} list-coverage --detector-id {{12abc34d567e8fa901bc2d34e56789f0}} --sort-criteria '{"AttributeName": "{{EKS_CLUSTER_NAME}}", "OrderBy": "{{DESC}}"}' --filter-criteria '{"FilterCriterion":[{"CriterionKey":"{{ACCOUNT_ID}}", "FilterCondition":{"EqualsValue":"111122223333"}}] }'  --max-results {{5}}
  ```
+ 執行 [GetCoverageStatistics](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_GetCoverageStatistics.html) API，以根據 `statisticsType` 擷取彙總的涵蓋範圍統計資料。
  + 您可以將範例 `statisticsType` 變更成下列選項之一：
    + `COUNT_BY_COVERAGE_STATUS`：表示依涵蓋範圍狀態彙總的 EKS 叢集涵蓋範圍統計資料。
    + `COUNT_BY_RESOURCE_TYPE` – 根據清單中 AWS 資源類型彙總的涵蓋範圍統計資料。
    + 您可以在命令中變更範例 `filter-criteria`。您可將下列選項用於 `CriterionKey`：
      + `ACCOUNT_ID`
      + `RESOURCE_TYPE`
      + `COVERAGE_STATUS`
      + `AGENT_VERSION`
      + `MANAGEMENT_TYPE`
      + `INSTANCE_ID`
      + `CLUSTER_ARN`
  + 若要尋找`detectorId`您帳戶和目前區域的 ，請參閱 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) 主控台中的**設定**頁面，或執行 [ListDetectors](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html) API。

  ```
  aws guardduty --region {{us-east-1}} get-coverage-statistics --detector-id {{12abc34d567e8fa901bc2d34e56789f0}} --statistics-type {{COUNT_BY_COVERAGE_STATUS}} --filter-criteria '{"FilterCriterion":[{"CriterionKey":"{{ACCOUNT_ID}}", "FilterCondition":{"EqualsValue":"123456789012"}}] }'
  ```

------

如果 EC2 執行個體的涵蓋範圍狀態**不良**，請參閱 [對 Amazon EC2 執行期涵蓋範圍問題進行故障診斷](#ec2-runtime-monitoring-coverage-issues-troubleshoot)。

## 使用 EventBridge 通知變更涵蓋範圍狀態
<a name="ec2-runtime-monitoring-coverage-status-change"></a>

Amazon EC2 執行個體的涵蓋範圍狀態可能顯示為**運作狀態不佳**。若要了解涵蓋範圍狀態何時變更，建議您定期監控涵蓋範圍狀態，並在狀態變成**運作狀態不良**時進行故障診斷。或者，您可以建立 Amazon EventBridge 規則，以在涵蓋範圍狀態從**運作狀態不佳**變更為**正常運作**或其他狀態時收到通知。GuardDuty 預設在您帳戶的[EventBridge 匯流排](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html)中發布此通知。

### 範例通知結構描述
<a name="ec2-gdu-coverage-status-eventbridge-schema"></a>

在 EventBridge 規則中，您可以使用預先定義的範例事件和事件模式來接收涵蓋範圍狀態通知。如需有關建立 EventBridge 規則的詳細資訊，請參閱《Amazon EventBridge 使用者指南》**中的[建立規則](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html#eb-gs-create-rule)。

此外，您可以使用下列範例通知結構描述來建立自訂事件模式。請務必替換您帳戶的值。若要在 Amazon EC2 執行個體的涵蓋範圍狀態從 變更為 `Healthy` 時收到通知`Unhealthy`， `detail-type` 應該是 {{GuardDuty Runtime Protection Unhealthy}}。若要在涵蓋範圍狀態從 `Unhealthy` 變更成 `Healthy` 時收到通知，請使用 {{GuardDuty 執行期監控運作狀態不良}}取代 `detail-type` 的值。

```
{
  "version": "0",
  "id": "event ID",
  "detail-type": "GuardDuty Runtime Protection Unhealthy",
  "source": "aws.guardduty",
  "account": "AWS 帳戶 ID",
  "time": "event timestamp (string)",
  "region": "AWS 區域",
  "resources": [
       ],
  "detail": {
    "schemaVersion": "1.0",
    "resourceAccountId": "string",
    "currentStatus": "string",
    "previousStatus": "string",
    "resourceDetails": {
        "resourceType": "EC2",
        "ec2InstanceDetails": {
          "instanceId":"",
          "instanceType":"",
          "clusterArn": "",
          "agentDetails": {
            "version":""
          },
          "managementType":""
        }
    },
    "issue": "string",
    "lastUpdatedAt": "timestamp"
  }
}
```

## 對 Amazon EC2 執行期涵蓋範圍問題進行故障診斷
<a name="ec2-runtime-monitoring-coverage-issues-troubleshoot"></a>

如果 Amazon EC2 執行個體的涵蓋範圍狀態為**狀況不良**，您可以在**問題**欄下檢視原因。

如果您的 EC2 執行個體與 EKS 叢集相關聯，且 EKS 的安全代理程式是手動或透過自動代理程式組態安裝，則若要疑難排解涵蓋範圍問題，請參閱 [Amazon EKS 叢集的執行期涵蓋範圍和疑難排解](eks-runtime-monitoring-coverage.md)。

下表列出問題類型和對應的故障診斷步驟。



- ** 無客服人員報告 **
  - **問題訊息:** 等待 SSM 通知 / **疑難排解步驟:** 接收 SSM 通知可能需要幾分鐘的時間。<br />確定 Amazon EC2 執行個體受 SSM 管理。如需詳細資訊，請參閱在 *中使用 AWS Systems Manager 的方法 1 -* 中的步驟[手動安裝安全代理程式](installing-gdu-security-agent-ec2-manually.md)。
  - **問題訊息:** （空白） / **疑難排解步驟:** 如果您手動管理 GuardDuty 安全代理程式，請確定您已遵循 下的步驟[手動管理 Amazon EC2 資源的安全代理程式](managing-gdu-agent-ec2-manually.md)。
  - **疑難排解步驟:** 如果您已啟用自動代理程式組態：+  您的 EC2 執行個體受 SSM 管理。 <br />+  定期檢視安全代理程式的狀態。如需詳細資訊，請參閱[驗證 GuardDuty 安全代理程式安裝狀態](installing-gdu-security-agent-ec2-manually.md#validate-ec2-gdu-agent-installation-healthy)。 
  - **疑難排解步驟:** 驗證 Amazon EC2 執行個體的 VPC 端點是否已正確設定。如需詳細資訊，請參閱[驗證 VPC 端點組態](validate-vpc-endpoint-config-runtime-monitoring.md)。
  - **疑難排解步驟:** 如果您的組織有服務控制政策 (SCP)，請確認許可界限未限制`guardduty:SendSecurityTelemetry`許可。如需詳細資訊，請參閱[在多帳戶環境中驗證您的組織服務控制政策](prereq-runtime-monitoring-ec2-support.md#validate-organization-scp-ec2)。
  - **問題訊息:** 客服人員中斷連線 / **疑難排解步驟:**  +  檢視安全代理程式的狀態。如需詳細資訊，請參閱[驗證 GuardDuty 安全代理程式安裝狀態](installing-gdu-security-agent-ec2-manually.md#validate-ec2-gdu-agent-installation-healthy)。 <br />+  檢視安全代理程式日誌，以識別潛在的根本原因。日誌提供詳細的錯誤，您可以用來自行疑難排解問題。日誌檔案可在 下取得`/var/log/amzn-guardduty-agent/`。 <br />執行 `sudo journalctl -u amazon-guardduty-agent`。  

- ** 未佈建代理程式 **
  - **問題訊息:** 具有排除標籤的執行個體會從執行期監控中排除。 / **疑難排解步驟:** GuardDuty 不會從使用排除標籤 `GuardDutyManaged`： 啟動的 Amazon EC2 執行個體接收執行期事件`false`。<br />若要從此 Amazon EC2 執行個體接收執行期事件，請移除排除標籤。
  - **問題訊息:** 核心版本低於支援的版本。 / **疑難排解步驟:** 如需跨作業系統分佈支援的核心版本資訊，請參閱 [驗證架構需求](prereq-runtime-monitoring-ec2-support.md#validating-architecture-req-ec2) for Amazon EC2 執行個體。
  - **問題訊息:** 核心版本高於支援的版本。 / **疑難排解步驟:** 如需跨作業系統分佈支援的核心版本資訊，請參閱 [驗證架構需求](prereq-runtime-monitoring-ec2-support.md#validating-architecture-req-ec2) for Amazon EC2 執行個體。
  - **問題訊息:** 無法擷取執行個體身分文件。 / **疑難排解步驟:** 請遵循下列步驟：1.  確認您的資源是 Amazon EC2 執行個體，而不是混合non-EC2 執行個體。 <br />2.  確認執行個體中繼資料服務 (IMDS) 已啟用。若要這樣做，請參閱《*Amazon EC2 使用者指南*》中的[設定執行個體中繼資料服務選項](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html)。 <br />3.  驗證執行個體身分文件是否存在。若要這樣做，請參閱[《Amazon EC2 使用者指南》中的擷取執行個體身分文件](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/retrieve-iid.html)。 *Amazon EC2 * <br />4.  如果執行個體身分文件仍然不存在，請重新啟動執行個體。執行個體停止、開始、重新開始或啟動時，會產生執行個體身分文件。 

- ** SSM 關聯建立失敗 **
  - **問題訊息:** 您的帳戶中已存在 GuardDuty SSM 關聯 / **疑難排解步驟:**  1.  手動刪除現有的關聯。如需詳細資訊，請參閱*AWS Systems Manager 《 使用者指南*》中的[刪除關聯](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state-manager-delete-association.html)。 <br />2.  刪除關聯後，請停用並重新啟用 Amazon EC2 的 GuardDuty 自動代理程式組態。  
  - **問題訊息:** 您的帳戶有太多 SSM 關聯 / **疑難排解步驟:** 選擇下列兩個選項**之一**：+  刪除任何未使用的 SSM 關聯。如需詳細資訊，請參閱*AWS Systems Manager 《 使用者指南*》中的[刪除關聯](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state-manager-delete-association.html)。 <br />+  檢查您的帳戶是否符合提高配額的資格。如需詳細資訊，請參閱《》中的 [Systems Manager Service 配額](https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)*AWS 一般參考*。 

- ** SSM 關聯更新失敗 **
  - **問題訊息:** GuardDuty SSM 關聯不存在於您的帳戶
  - **疑難排解步驟:** 您的帳戶中不存在 GuardDuty SSM 關聯。停用再重新啟用執行期監控。

- ** SSM 關聯刪除失敗 **
  - **問題訊息:** GuardDuty SSM 關聯不存在於您的帳戶
  - **疑難排解步驟:** 您的帳戶中不存在 SSM 關聯。如果刻意刪除 SSM 關聯，則不需要採取任何動作。

- ** SSM 執行個體關聯執行失敗 **
  - **問題訊息:** 不符合架構需求或其他先決條件。
  - **疑難排解步驟:** 如需已驗證作業系統分佈的資訊，請參閱 [Amazon EC2 執行個體支援的先決條件](prereq-runtime-monitoring-ec2-support.md)。<br />如果您仍然遇到此問題，下列步驟將協助您識別並可能解決問題：1.  在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。 <br />2.  在導覽窗格中的**節點管理**下，選取**狀態管理員**。 <br />3.  依**文件名稱**屬性篩選，然後輸入 **AmazonGuardDuty-ConfigureRuntimeMonitoringSsmPlugin**。 <br />4.  選取對應的關聯 ID 並檢視其**執行歷史記錄**。 <br />5.  使用執行歷史記錄，檢視失敗、識別潛在的根本原因，並嘗試解決它。 

- ** VPC 端點建立失敗 **
  - **問題訊息:** 共用 VPC {{vpcId}} 不支援建立 VPC 端點 / **疑難排解步驟:** 執行期監控支援在組織內使用共用 VPC。如需詳細資訊，請參閱[搭配執行期監控使用共用 VPC](runtime-monitoring-shared-vpc.md)。
  - **問題訊息:** **只有在搭配自動代理程式組態使用共用 VPC 時**<br />共用 VPC {{vpcId}} 的擁有者帳戶 ID {{111122223333}} 未啟用執行期監控、自動代理程式組態或兩者 / **疑難排解步驟:** 共用 VPC 擁有者帳戶必須針對至少一個資源類型 (Amazon EKS 或 Amazon ECS (AWS Fargate)) 啟用執行期監控和自動代理程式組態。如需詳細資訊，請參閱[GuardDuty 執行期監控的特定先決條件](runtime-monitoring-shared-vpc.md#shared-vpc-runtime-monitoring-prereq-gd-setup)。
  - **問題訊息:** 啟用私有 DNS 需要 `enableDnsSupport` 和 `enableDnsHostnames` VPC 屬性針對 {{vpcId}} 設定為 `true` (服務：Ec2、狀態碼：400，請求 ID：{{a1b2c3d4-5678-90ab-cdef-EXAMPLE11111}})。 / **疑難排解步驟:** 請確保將下列 VPC 屬性設定為 `true`：`enableDnsSupport` 和 `enableDnsHostnames`。如需詳細資訊，請參閱 [VPC 中的 DNS 屬性](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support)。<br />如果您使用位於 https[https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)// 的 Amazon VPC 主控台來建立 Amazon VPC，則同時選取**啟用 DNS 主機名稱**和**啟用 DNS 解析**。如需詳細資訊，請參閱 [VPC 組態選項](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html#create-vpc-options)。<br />更新 VPC 屬性之後，您必須執行下列其中一個變更，以加速 VPC 端點建立的重試：+  您可以新增或修改 Amazon EC2 執行個體的`GuardDutyManaged`標籤 （建議）。例如，您可以新增 `GuardDutyManaged`：`true` 以包含執行期監控的執行個體。 <br />+  您可以變更 Amazon EC2 執行個體狀態 （停止或重新啟動）。 

- **共用 VPC 端點刪除失敗**
  - **問題訊息:** 帳戶 ID {{111122223333}}、共用 VPC {{vpcId}}、擁有者帳戶 ID {{555555555555}} 不允許刪除共用 VPC 端點。
  - **疑難排解步驟:** +  停用共用 VPC 參與者帳戶的執行期監控狀態不會影響共用 VPC 端點政策和存在於擁有者帳戶中的安全群組。 <br />若要刪除共用 VPC 端點和安全群組，您必須在共用 VPC 擁有者帳戶中停用執行期監控或自動代理程式組態狀態。 <br />+  共用 VPC 參與者帳戶無法刪除託管在共用 VPC 擁有者帳戶中的共用 VPC 端點和安全群組。 

- ** 客服人員未報告 **
  - **問題訊息:** （空白）
  - **疑難排解步驟:** 問題類型已結束支援。如果您繼續遇到此問題，但尚未這麼做，請為 Amazon EC2 啟用 GuardDuty 自動化代理程式。<br />如果問題仍然存在，請考慮停用執行期監控幾分鐘，然後再次啟用它。

