Amazon EC2 インスタンスのランタイムカバレッジとトラブルシューティング - Amazon GuardDuty

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

Amazon EC2 インスタンスのランタイムカバレッジとトラブルシューティング

Amazon EC2 リソースの場合、ランタイムカバレッジはインスタンスレベルで評価されます。Amazon EC2 インスタンスは、 AWS 環境内のさまざまなタイプのアプリケーションやワークロードを実行できます。この機能は Amazon ECS によって管理されている Amazon EC2 インスタンスもサポートしており、Amazon EC2 インスタンスで Amazon ECS クラスターを実行している場合、インスタンスレベルでのカバレッジの問題は Amazon EC2 ランタイムカバレッジに表示されます。

カバレッジ統計の確認

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

(正常なインスタンス/すべてのインスタンス)*100

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

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

Console
  • にサインイン AWS Management Console し、https://console.aws.amazon.com/guardduty/ で GuardDuty コンソールを開きます。

  • ナビゲーションペインで、[Runtime Monitoring] を選択します。

  • [ランタイムカバレッジ] タブを選択します。

  • [EC2 インスタンスのランタイムカバレッジ] タブでは、[クラスターリスト] テーブルにある各 Amazon EC2 インスタンスのカバレッジステータス別に集計されたカバレッジ統計を表示できます。

    • [インスタンスリスト] テーブルは次の列でフィルタリングできます。

      • アカウント ID

      • [エージェント管理タイプ]

      • [エージェントバージョン]

      • [カバレッジステータス]

      • [インスタンス ID]

      • クラスター ARN

  • EC2 インスタンスのいずれかの [カバレッジステータス][異常] の場合、[問題] 列には、ステータスが [異常] である理由に関する追加情報が含まれています。

API/CLI
  • 独自の有効なディテクター ID、現在のリージョン、サービスエンドポイントを使用して ListCoverage 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/ コンソールの [設定] ページを参照するか、ListDetectors 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 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/ コンソールの [設定] ページを参照するか、ListDetectors 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 ランタイムカバレッジの問題のトラブルシューティング」を参照してください。

カバレッジステータス変更時の EventBridge 通知

Amazon EC2 インスタンスのカバレッジステータスが [異常] と表示される場合があります。カバレッジステータスの変化を検出するためにカバレッジステータスを定期的に監視し、ステータスが [異常] の場合はトラブルシューティングすることをお勧めします。または、Amazon EventBridge ルールを作成して、カバレッジステータスが [異常] から [正常] に変更された場合やそれ以外の変更があった場合に通知を受け取ることもできます。デフォルトでは、GuardDuty はこれをアカウントの EventBridge バスに公開します。

通知スキーマの例

EventBridge のルールでは、あらかじめ定義されたサンプルイベントとイベントパターンを使用して、カバレッジステータスの通知を受け取ることができます。EventBridge ルールの作成の詳細については、「Amazon EventBridge ユーザーガイド」の「ルールの作成」を参照してください。

さらに、次の通知スキーマの例を使用して、カスタムイベントパターンを作成します。アカウントの値を必ず置き換えてください。Amazon EC2 インスタンスのカバレッジステータスが Healthy から Unhealthy に変更されたときに通知を受け取るには、detail-typeGuardDuty 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 ランタイムカバレッジの問題のトラブルシューティング

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

EC2 インスタンスが EKS クラスターに関連付けられていて、EKS のセキュリティエージェントが手動または自動エージェント設定でインストールされている場合は、「Amazon EKS クラスターのランタイムカバレッジとトラブルシューティング」を参照してカバレッジの問題をトラブルシューティングします。

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

問題タイプ 問題メッセージ トラブルシューティングのステップ

エージェントからの報告なし

SSM 通知を待機中

SSM 通知の受信には数分かかる場合があります。

Amazon EC2 インスタンスが SSM マネージドであることを確認してください。詳細については、「メソッド 1 - で AWS Systems Manager を使用する」の手順を参照してくださいセキュリティエージェントの手動インストール

(意図的に空にしてあります)

GuardDuty セキュリティエージェントを手動で管理している場合は、「Amazon EC2 リソースのセキュリティエージェントの手動管理」のステップに従っていることを確認してください。

自動エージェント設定を有効にしている場合:

Amazon EC2 インスタンスの VPC エンドポイントが正しく設定されていることを確認します。詳細については、「VPC エンドポイント設定の検証」を参照してください。

組織にサービスコントロールポリシー (SCP) がある場合は、アクセス許可の境界が guardduty:SendSecurityTelemetry アクセス許可を制限していないことを確認します。詳細については、「組織サービスコントロールポリシーの検証」を参照してください。

エージェントが切断されました

  • セキュリティエージェントのステータスを確認します。詳細については、「GuardDuty セキュリティエージェントのインストールステータスの検証」を参照してください。

  • セキュリティエージェントのログを表示して、潜在的な根本原因を特定します。ログには、問題を自分でトラブルシューティングするために使用できる詳細なエラーが表示されます。ログファイルは /var/log/amzn-guardduty-agent/ で入手できます。

    sudo journalctl -u amazon-guardduty-agent を行います。

SSM 関連付けの作成に失敗

GuardDuty SSM 関連付けがアカウント内に既に存在します

  1. 既存の関連付けを手動で削除します。詳細については、「AWS Systems Manager ユーザーガイド」の「関連付けを削除する」を参照してください。

  2. 関連付けを削除した後、Amazon EC2 の GuardDuty 自動エージェント設定を無効にしてから再度有効にします。

アカウントに SSM 関連付けが多すぎます

次の 2 つのオプションのいずれかを選択します。

  • 未使用の SSM 関連付けを削除します。詳細については、「AWS Systems Manager ユーザーガイド」の「関連付けを削除する」を参照してください。

  • アカウントがクォータ引き上げの対象かどうかを確認します。詳細については、「AWS 全般のリファレンス」の「System Manager Service Quotas」を参照してください。

SSM 関連付けの更新に失敗

GuardDuty SSM 関連付けがアカウントに存在しません

GuardDuty SSM 関連付けがアカウントに存在しません。Runtime Monitoring を無効にしてから再度有効にします。

SSM 関連付けの削除に失敗

GuardDuty SSM 関連付けがアカウントに存在しません

SSM 関連付けがアカウントに存在しません。SSM 関連付けが意図的に削除された場合、アクションは必要ありません。

SSM インスタンス関連付けの実行に失敗

アーキテクチャ要件またはその他の前提条件が満たされていません。

検証済みのオペレーティングシステムディストリビューションの詳細については、「Amazon EC2 インスタンスサポートの前提条件」を参照してください。

それでもこの問題が解決しない場合は、次のステップが問題の特定と解決に役立ちます。

  1. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

  2. ナビゲーションペインの [ノード管理] で、[ステートマネージャー] を選択します。

  3. [ドキュメント名] プロパティでフィルタリングし、「AmazonGuardDuty-ConfigureRuntimeMonitoringSsmPlugin」と入力します。

  4. 対応する関連付け ID を選択し、その [実行履歴] を表示します。

  5. 実行履歴を使用して、障害を表示し、潜在的な根本原因を特定し、解決を試みます。

VPC エンドポイントの作成に失敗

VPC エンドポイントの作成は、共有 VPC vpcId ではサポートされていません

Runtime Monitoring は、組織内の共有 VPC の使用をサポートしています。詳細については、「自動セキュリティエージェントで共有 VPC を使用する」を参照してください。

自動エージェント設定で共有 VPC を使用する場合のみ

共有 VPC vpcId の所有者アカウント ID 111122223333 では、Runtime Monitoring、自動エージェント設定、またはその両方が有効になっていません

共有 VPC 所有者アカウントは、少なくとも 1 つのリソースタイプ (Amazon EKS または Amazon ECS (AWS Fargate)) の Runtime Monitoring および自動エージェント設定を有効にする必要があります。詳細については、「GuardDuty Runtime Monitoring に固有の前提条件」を参照してください。

プライベート DNS を有効にするには、enableDnsSupportenableDnsHostnames VPC 属性の両方が vpcId に対して true に設定されている必要があります (サービス: Ec2、ステータス コード: 400、リクエスト ID: a1b2c3d4-5678-90ab-cdef-EXAMPLE11111)。

次の VPC 属性が true - enableDnsSupport および enableDnsHostnames に設定されていることを確認する必要があります。詳細については、「VPC の DNS 属性」を参照してください。

https://console.aws.amazon.com/vpc/ にある Amazon VPC コンソールを使用して Amazon VPC を作成する場合は、必ず [DNS ホスト名を有効にする] および [解決を有効にする] の両方を選択してください。詳細については、「VPC 設定オプション」を参照してください。

共有 VPC エンドポイントの削除に失敗

共有 VPC エンドポイントの削除は、アカウント ID 111122223333、共有 VPC vpcId、所有者アカウント ID 555555555555 では許可されません。

考えられるステップ:
  • 共有 VPC 参加者アカウントの Runtime Monitoring ステータスを無効にしても、共有 VPC エンドポイントポリシーと所有者アカウントに存在するセキュリティグループには影響しません。

    共有 VPC エンドポイントとセキュリティグループを削除するには、共有 VPC 所有者アカウントで Runtime Monitoring または自動エージェント設定ステータスを無効にする必要があります。

  • 共有 VPC 参加者アカウントは、共有 VPC 所有者アカウントでホストされている共有 VPC エンドポイントとセキュリティグループを削除することはできません。

エージェントが報告しない

(意図的に空にしてあります)

問題のタイプがサポート終了になりました。この問題が引き続き発生し、まだ行っていない場合は、Amazon EC2 の GuardDuty 自動エージェントを有効にします。

それでも問題が解決しない場合は、Runtime Monitoring を数分間無効にしてから、再度有効にすることを検討してください。