

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ランタイムカバレッジ統計の確認と問題のトラブルシューティング
<a name="runtime-monitoring-assessing-coverage"></a>

Runtime Monitoring を有効にし、GuardDuty セキュリティエージェントがリソースにデプロイされると、GuardDuty は対応するリソースタイプのカバレッジ統計と、アカウントに属するリソースの個別のカバレッジステータスを提供します。カバレッジステータスは、Runtime Monitoring が有効になっていること、Amazon VPC エンドポイントが作成されていること、対応するリソースの GuardDuty セキュリティエージェントがデプロイされていることを確認することによって決定されます。**[正常]** カバレッジステータスは、リソースに関連するランタイムイベントが発生すると、GuardDuty が Amazon VPC エンドポイントを通じてそのランタイムイベントを受信し、動作を監視できることを示します。Runtime Monitoring の設定、Amazon VPC エンドポイントの作成または GuardDuty セキュリティエージェントのデプロイ時に問題が発生した場合、カバレッジステータスは **[異常]** と表示されます。カバレッジステータスが異常の場合、GuardDuty は対応するリソースのランタイム動作を受信または監視できず、Runtime Monitoring の結果を生成することもできません。

以下のトピックは、カバレッジ統計の確認、EventBridge 通知の設定、特定のリソースタイプのカバレッジ問題のトラブルシューティングに役立ちます。

**Topics**
+ [Amazon EC2 インスタンスのランタイムカバレッジとトラブルシューティング](gdu-assess-coverage-ec2.md)
+ [Amazon ECS クラスターのランタイムカバレッジとトラブルシューティング](gdu-assess-coverage-ecs.md)
+ [Amazon EKS クラスターのランタイムカバレッジとトラブルシューティング](eks-runtime-monitoring-coverage.md)

# 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 インスタンスのカバレッジ統計は、選択した AWS リージョンのすべての EC2 インスタンスに対する正常な EC2 インスタンスの割合です。次の式はこれを次のように表します。

(正常なインスタンス/すべてのインスタンス)\$1100

Amazon ECS クラスターに GuardDuty セキュリティエージェントもデプロイしている場合、Amazon EC2 インスタンスで実行されている Amazon ECS クラスターに関連するインスタンスレベルのカバレッジの問題は、Amazon EC2 インスタンスのランタイムカバレッジ問題として表示されます。

いずれかのアクセス方法を選択して、アカウントのカバレッジ統計を確認してください。

------
#### [ Console ]
+ にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) で GuardDuty コンソールを開きます。
+ ナビゲーションペインで、**[Runtime Monitoring]** を選択します。
+ **[ランタイムカバレッジ]** タブを選択します。
+ **[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` に **[EC2]** として `RESOURCE_TYPE` が含まれている場合、Runtime Monitoring は `AttributeName` としての **[ISSUE]** の使用をサポートしていません。これを使用すると、API レスポンスは `InvalidInputException` になります。

    以下のオプションで `sort-criteria` の例 `AttributeName` を変更できます。
    + `ACCOUNT_ID`
    + `COVERAGE_STATUS`
    + `INSTANCE_ID`
    + `UPDATED_AT`
  + *max-results* (最大 50) を変更できます。
  + アカウントと現在のリージョンの `detectorId` を検索するには、[https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) コンソールの **[設定]** ページを参照するか、[https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html](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/) コンソールの **[設定]** ページを参照するか、[https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html](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` に変更されたときに通知を受け取るには、`detail-type` の値を *GuardDuty Runtime Protection Healthy* に置き換えます。

```
{
  "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)」を参照してカバレッジの問題をトラブルシューティングします。

次の表に、問題のタイプと対応するトラブルシューティングステップを示します。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/gdu-assess-coverage-ec2.html)

# Amazon ECS クラスターのランタイムカバレッジとトラブルシューティング
<a name="gdu-assess-coverage-ecs"></a>

Amazon ECS クラスターのランタイムカバレッジには、 AWS Fargate および Amazon ECS コンテナインスタンスで実行されるタスクが含まれます[1](#ecs-container-instance)。

Fargate で実行される Amazon ECS クラスターの場合、ランタイムカバレッジはタスクレベルで評価されます。ECS クラスターのランタイムカバレッジには、Fargate (ECS のみ) の Runtime Monitoring と自動エージェント設定を有効にした後に実行を開始した Fargate タスクが含まれます。デフォルトでは、Fargate タスクは変更できません。GuardDuty は、セキュリティエージェントをインストールして、既に実行されているタスクのコンテナをモニタリングすることはできません。このような Fargate タスクを含めるには、タスクを停止して再度開始する必要があります。関連付けられたサービスがサポートされていることを確認します。

Amazon ECS コンテナの詳細については、[キャパシティの作成](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-capacity.html)に関するページを参照してください。

**Topics**
+ [カバレッジ統計の確認](#ecs-review-coverage-statistics-ecs-runtime-monitoring)
+ [カバレッジステータス変更時の EventBridge 通知](#ecs-runtime-monitoring-coverage-status-change)
+ [Amazon ECS-Fargate ランタイムカバレッジの問題のトラブルシューティング](#ecs-runtime-monitoring-coverage-issues-troubleshoot)

## カバレッジ統計の確認
<a name="ecs-review-coverage-statistics-ecs-runtime-monitoring"></a>

自分のアカウントまたはメンバーアカウントに関連付けられた Amazon ECS リソースのカバレッジ統計は、選択した AWS リージョン内のすべての ECS クラスターに対する正常な ECS クラスターの割合です。これには、Fargate インスタンスと Amazon EC2 インスタンスの両方に関連付けられた Amazon ECS クラスターのカバレッジが含まれます。次の式はこれを次のように表します。

(正常なクラスター/すべてのクラスター)\$1100

### 考慮事項
<a name="considerations-ecs-coverage-review-stats"></a>
+ ECS クラスターのカバレッジ統計には、その ECS クラスターに関連付けられた Fargate タスクまたは ECS コンテナインスタンスのカバレッジステータスが含まれます。Fargate タスクのカバレッジステータスには、実行中のタスク、または最近実行を終了したタスクが含まれます。
+ **[ECS クラスターのランタイムカバレッジ]** タブの **[対象のコンテナインスタンス]** フィールドは、Amazon ECS クラスターに関連付けられたコンテナインスタンスのカバレッジステータスを示します。

  Amazon ECS クラスターに Fargate タスクのみが含まれている場合、カウントは **[0/0]** と表示されます。
+ Amazon ECS クラスターがセキュリティエージェントを持たない Amazon EC2 インスタンスに関連付けられている場合、Amazon ECS クラスターのカバレッジステータスも **[異常]** になります。

  関連付けられた Amazon EC2 インスタンスのカバレッジの問題を特定してトラブルシューティングするには、Amazon EC2 インスタンスの「[Amazon EC2 ランタイムカバレッジの問題のトラブルシューティング](gdu-assess-coverage-ec2.md#ec2-runtime-monitoring-coverage-issues-troubleshoot)」を参照してください。

いずれかのアクセス方法を選択して、アカウントのカバレッジ統計を確認してください。

------
#### [ Console ]
+ にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) で GuardDuty コンソールを開きます。
+ ナビゲーションペインで、**[Runtime Monitoring]** を選択します。
+ **[ランタイムカバレッジ]** タブを選択します。
+ **[ECS クラスターのランタイムカバレッジ]** タブでは、**[クラスターリスト]** テーブルにある各 Amazon ECS クラスターのカバレッジステータス別に集計されたカバレッジ統計を表示できます。
  + **[クラスターリスト]** テーブルは次の列でフィルタリングできます。
    + **アカウント ID**
    + **[クラスター名]**
    + **[エージェント管理タイプ]**
    + **[カバレッジステータス]**
+ Amazon ECS クラスターのいずれかの **[カバレッジステータス]** が **[異常]** の場合、**[問題]** 列には、**[異常]** ステータスである理由に関する追加情報が含まれています。

  Amazon ECS クラスターが Amazon EC2 インスタンスに関連付けられている場合は、**[EC2 インスタンスランタイムカバレッジ]** タブに移動し、**[クラスター名]** フィールドでフィルタリングして、関連する **[問題]** を表示します。

------
#### [ API/CLI ]
+ 独自の有効なディテクター ID、現在のリージョン、サービスエンドポイントを使用して [ListCoverage](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListCoverage.html) API を実行します。この API を使用して、インスタンスリストをフィルタリングしたり、ソートしたりできます。
  + 以下の `CriterionKey` のオプションのいずれかを使用して例 `filter-criteria` を変更できます。
    + `ACCOUNT_ID`
    + `ECS_CLUSTER_NAME`
    + `COVERAGE_STATUS`
    + `MANAGEMENT_TYPE`
  + 以下のオプションで `sort-criteria` の例 `AttributeName` を変更できます。
    + `ACCOUNT_ID`
    + `COVERAGE_STATUS`
    + `ISSUE`
    + `ECS_CLUSTER_NAME`
    + `UPDATED_AT`

      このフィールドは、関連する Amazon ECS クラスターで新しいタスクが作成されたとき、または対応するカバレッジステータスに変更があったときにのみ更新されます。
  + *max-results* (最大 50) を変更できます。
  + アカウントと現在のリージョンの `detectorId` を検索するには、[https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) コンソールの **[設定]** ページを参照するか、[https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html](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": "ECS_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` - カバレッジステータス別に集計された ECS クラスターのカバレッジステータスを表します。
    + `COUNT_BY_RESOURCE_TYPE` – リスト内の AWS リソースのタイプに基づいて集計されたカバレッジ統計。
    + コマンドで例 `filter-criteria` を変更できます。`CriterionKey` に対して次のオプションを設定できます。
      + `ACCOUNT_ID`
      + `ECS_CLUSTER_NAME`
      + `COVERAGE_STATUS`
      + `MANAGEMENT_TYPE`
      + `INSTANCE_ID`
  + アカウントと現在のリージョンの `detectorId` を検索するには、[https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) コンソールの **[設定]** ページを参照するか、[https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html](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"}}] }'
  ```

------

カバレッジ問題を解決する方法の詳細については、「[Amazon ECS-Fargate ランタイムカバレッジの問題のトラブルシューティング](#ecs-runtime-monitoring-coverage-issues-troubleshoot)」を参照してください。

## カバレッジステータス変更時の EventBridge 通知
<a name="ecs-runtime-monitoring-coverage-status-change"></a>

Amazon ECS クラスターのカバレッジステータスは **[異常]** と表示される場合があります。カバレッジステータスの変化を検出するためにカバレッジステータスを定期的に監視し、ステータスが **[異常]** の場合はトラブルシューティングすることをお勧めします。または、Amazon EventBridge ルールを作成して、カバレッジステータスが **[異常]** から **[正常]** に変更された場合やそれ以外の変更があった場合に通知を受け取ることもできます。デフォルトでは、GuardDuty はこれをアカウントの [EventBridge バス](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html)に公開します。

### 通知スキーマの例
<a name="ecs-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 ECS クラスターのカバレッジステータスが `Healthy` から `Unhealthy` に変更されたときに通知を受け取るには、`detail-type` が *GuardDuty Runtime Protection Unhealthy* である必要があります。カバレッジステータスが `Unhealthy` から `Healthy` に変更されたときに通知を受け取るには、`detail-type` の値を *GuardDuty Runtime Protection Healthy* に置き換えます。

```
{
  "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": "ECS",
        "ecsClusterDetails": {
          "clusterName":"",
          "fargateDetails":{
            "issues":[],
            "managementType":""
          },
          "containerInstanceDetails":{
            "coveredContainerInstances":int,
            "compatibleContainerInstances":int
          }
        }
    },
    "issue": "string",
    "lastUpdatedAt": "timestamp"
  }
}
```

## Amazon ECS-Fargate ランタイムカバレッジの問題のトラブルシューティング
<a name="ecs-runtime-monitoring-coverage-issues-troubleshoot"></a>

Amazon ECS クラスターのカバレッジステータスが **[異常]** の場合、その理由を **[問題]** 列で確認できます。

次のテーブルは、Fargate (Amazon ECS のみ) の問題に推奨されるトラブルシューティング手順を示しています。Amazon EC2 インスタンスカバレッジの問題の詳細については、Amazon EC2 インスタンスの「[Amazon EC2 ランタイムカバレッジの問題のトラブルシューティング](gdu-assess-coverage-ec2.md#ec2-runtime-monitoring-coverage-issues-troubleshoot)」を参照してください。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/gdu-assess-coverage-ecs.html)

# Amazon EKS クラスターのランタイムカバレッジとトラブルシューティング
<a name="eks-runtime-monitoring-coverage"></a>

Runtime Monitoring を有効にして EKS の GuardDuty セキュリティエージェント (アドオン) をインストールした後、EKS クラスターのカバレッジの評価を開始できます。

**Topics**
+ [カバレッジ統計の確認](#reviewing-coverage-statistics-eks-runtime-monitoring)
+ [カバレッジステータス変更時の EventBridge 通知](#eks-runtime-monitoring-coverage-status-change)
+ [Amazon EKS ランタイムカバレッジの問題のトラブルシューティング](#eks-runtime-monitoring-coverage-issues-troubleshoot)

## カバレッジ統計の確認
<a name="reviewing-coverage-statistics-eks-runtime-monitoring"></a>

自分のアカウントまたはメンバーアカウントに関連付けられた EKS クラスターのカバレッジ統計は、選択した AWS リージョンのすべての EKS クラスターに対する正常な EKS クラスターの割合です。次の式はこれを次のように表します。

(正常なクラスター/すべてのクラスター)\$1100

いずれかのアクセス方法を選択して、アカウントのカバレッジ統計を確認してください。

------
#### [ Console ]
+ にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) で GuardDuty コンソールを開きます。
+ ナビゲーションペインで、**[Runtime Monitoring]** を選択します。
+ **[EKS クラスターのランタイムカバレッジ]** タブを選択します。
+ **[EKS クラスターのランタイムカバレッジ]** タブでは、**[クラスターリスト]** テーブルにあるカバレッジステータス別に集計されたカバレッジ統計を表示できます。
  + **[クラスターリスト]** テーブルは次の列でフィルタリングできます。
    + **クラスター名**
    + **アカウント ID**
    + **[エージェント管理タイプ]**
    + **[カバレッジステータス]**
    + **[アドオンバージョン]**
+ EKS クラスターのいずれかの **[カバレッジステータス]** が **[異常]** の場合、**[問題]** 列には、**[異常]** ステータスである理由に関する追加情報が含まれている場合があります。

------
#### [ API/CLI ]
+ 独自の有効なディテクター ID、リージョン、およびサービスエンドポイントを使用して [ListCoverage](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListCoverage.html) API を実行します。この API を使用して、クラスターリストをフィルタリングしたり、ソートしたりできます。
  + 以下の `CriterionKey` のオプションのいずれかを使用して例 `filter-criteria` を変更できます。
    + `ACCOUNT_ID`
    + `CLUSTER_NAME`
    + `RESOURCE_TYPE`
    + `COVERAGE_STATUS`
    + `ADDON_VERSION`
    + `MANAGEMENT_TYPE`
  + 以下のオプションで `sort-criteria` の例 `AttributeName` を変更できます。
    + `ACCOUNT_ID`
    + `CLUSTER_NAME`
    + `COVERAGE_STATUS`
    + `ISSUE`
    + `ADDON_VERSION`
    + `UPDATED_AT`
  + *max-results* (最大 50) を変更できます。
  + アカウントと現在のリージョンの `detectorId` を検索するには、[https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) コンソールの **[設定]** ページを参照するか、[https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html](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`
      + `CLUSTER_NAME`
      + `RESOURCE_TYPE`
      + `COVERAGE_STATUS`
      + `ADDON_VERSION`
      + `MANAGEMENT_TYPE`
  + アカウントと現在のリージョンの `detectorId` を検索するには、[https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) コンソールの **[設定]** ページを参照するか、[https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html](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"}}] }'
  ```

------

EKS クラスターのカバレッジステータスが **[異常]** である場合は、「[Amazon EKS ランタイムカバレッジの問題のトラブルシューティング](#eks-runtime-monitoring-coverage-issues-troubleshoot)」を参照してください。

## カバレッジステータス変更時の EventBridge 通知
<a name="eks-runtime-monitoring-coverage-status-change"></a>

アカウントの EKS クラスターのカバレッジステータスが **[異常]** と表示されることがあります。カバレッジステータスが **[異常]** になったことを検出するためにカバレッジステータスを定期的にモニタリングし、ステータスが **[異常]** の場合はトラブルシューティングすることをお勧めします。または、Amazon EventBridge ルールを作成して、カバレッジステータスが `Unhealthy` から `Healthy` に変更された場合やそれ以外の変更があった場合に通知を受け取ることもできます。デフォルトでは、GuardDuty はこれをアカウントの [EventBridge バス](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html)に公開します。

### 通知スキーマの例
<a name="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 EKS クラスターのカバレッジステータスが `Healthy` から `Unhealthy` に変更されたときに通知を受け取るには、`detail-type` が *GuardDuty Runtime Protection Unhealthy* である必要があります。カバレッジステータスが `Unhealthy` から `Healthy` に変更されたときに通知を受け取るには、`detail-type` の値を *GuardDuty Runtime Protection Healthy* に置き換えます。

```
{
  "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": "EKS",
        "eksClusterDetails": { 
            "clusterName": "string",
            "availableNodes": "string",
             "desiredNodes": "string",
             "addonVersion": "string"
         }
    },
    "issue": "string",
    "lastUpdatedAt": "timestamp"
  }
}
```

## Amazon EKS ランタイムカバレッジの問題のトラブルシューティング
<a name="eks-runtime-monitoring-coverage-issues-troubleshoot"></a>

EKS クラスターのカバレッジステータスが `Unhealthy` の場合、GuardDuty コンソールの **[問題]** 列または [CoverageResource](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_CoverageResource.html) データ型を使用して、対応するエラーを確認できます。

包含タグまたは除外タグを使用して EKS クラスターを選択的にモニタリングする場合、タグの同期に時間がかかることがあります。これにより、関連する EKS クラスターのカバレッジステータスに影響が及ぶ可能性があります。対応するタグ (包含または除外) を削除してから、もう一度追加してみることができます。詳細については、「**Amazon EKS ユーザーガイド**」の「[Amazon EKS リソースのタグ付け](https://docs.aws.amazon.com/eks/latest/userguide/eks-using-tags.html)」を参照してください。

カバレッジ問題の構造は `Issue type:Extra information` です。通常、問題にはオプションの*追加情報*があり、特定のクライアント側の例外や問題に関する説明が含まれる場合があります。*追加情報*に基づき、EKS クラスターのカバレッジの問題をトラブルシューティングするための推奨ステップを以下の表に示します。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/eks-runtime-monitoring-coverage.html)


**アドオン問題コードのあるアドオンの作成/更新エラーのトラブルシューティング手順**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/eks-runtime-monitoring-coverage.html)