

# ランタイムモニタリングを使用して不正な動作を特定する
<a name="ecs-guard-duty-integration"></a>

Amazon GuardDuty は、AWS 環境内のアカウント、コンテナ、ワークロード、データを保護する脅威検知サービスです。GuardDuty は、機械学習（ML）モデル、異常および脅威検出機能を使用して、さまざまなログソースとランタイムアクティビティを継続的に監視し、環境内の潜在的なセキュリティリスクと悪意のあるアクティビティを特定して優先順位を付けます。

GuardDuty のランタイムモニタリングは、AWS ログとネットワークアクティビティを継続的にモニタリングして悪意のある、または不正な動作を特定することで、Fargate および EC2 コンテナインスタンスで実行されているワークロードを保護します。ランタイムモニタリングは、軽量でフルマネージド型の GuardDuty セキュリティエージェントを使用して、ファイルアクセス、プロセス実行、ネットワーク接続などのホスト上動作を分析します。これは、Amazon EC2 インスタンスおよびコンテナワークロードでの権限の昇格、流出した認証情報の使用、悪意のある IP アドレスやドメインとの通信、マルウェアの存在などの問題に対応しています。詳細については、「*GuardDuty ユーザーガイド*」の「[GuardDuty ランタイムモニタリング](https://docs.aws.amazon.com/guardduty/latest/ug/runtime-monitoring.html)」を参照してください。

セキュリティ管理者が GuardDuty 用 AWS Organizations での 1 つまたは複数のアカウントでランタイムモニタリングを有効にします。また、Fargate を使用するときに GuardDuty が GuardDuty セキュリティエージェントを自動的にデプロイするかどうかも選択します。クラスターはすべて自動的に保護され、GuardDuty がユーザーに代わってセキュリティエージェントを管理します。

次の場合は、GuardDuty セキュリティエージェントを手動で設定することもできます。
+ EC2 コンテナインスタンスを使用する
+ ランタイムモニタリングをクラスターレベルで有効にするのにきめ細かな制御が必要

ランタイムモニタリングを使用するには、保護対象のクラスターを設定し、EC2 コンテナインスタンスに GuardDuty セキュリティエージェントをインストールして管理する必要があります。

## Amazon ECS でのランタイムモニタリングの仕組み
<a name="ecs-runtime-monitoring-events"></a>

ランタイムモニタリングは、軽量な GuardDuty セキュリティエージェントを使用して、アプリケーションが基盤となるシステムリソースに対してどのようにリクエストし、アクセスし、消費しているかについて、Amazon ECS ワークロードのアクティビティをモニタリングします。

Fargate タスクでは、GuardDuty セキュリティエージェントは各タスクのサイドカーコンテナとして実行されます。

EC2 コンテナインスタンスでは、GuardDuty セキュリティエージェントはインスタンス上のプロセスとして実行されます。

GuardDuty セキュリティエージェントは、以下のリソースからデータを収集し、そのデータを GuardDuty に送信して処理します。検出結果は GuardDuty コンソールに表示できます。また、AWS Security Hub CSPM などのほかの AWS のサービス やサードパーティのセキュリティベンダーに送信して、集計や修復を行うこともできます。検出結果を表示および管理する方法については、「*Amazon GuardDuty ユーザーガイド*」の「[Amazon GuardDuty 検出結果の管理](https://docs.aws.amazon.com/guardduty/latest/ug/findings_management.html)」を参照してください。
+ 次の Amazon ECS API コールからのレスポンス:
  + [https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeClusters.html](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeClusters.html)

    `--include TAGS` オプションを使用すると、レスポンスパラメータにランタイムモニタリングタグ (タグが設定されている場合) が含まれます。
  + [https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html)

    Fargate では、レスポンスパラメータに GuardDuty サイドカーコンテナが含まれます。
  + [https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListAccountSettings.html](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListAccountSettings.html)

    レスポンスパラメータには、セキュリティ管理者が設定するランタイムモニタリングアカウント設定が含まれます。
+ コンテナエージェントのイントロスペクションデータ。詳細については、「[Amazon ECS コンテナの詳細分析](ecs-agent-introspection.md)」を参照してください。
+ コンピューティングオプションのタスクメタデータエンドポイント:
  +  [Amazon ECS タスクメタデータエンドポイントバージョン 4](task-metadata-endpoint-v4.md)
  +  [Fargate のタスク用の Amazon ECS タスクメタデータエンドポイントバージョン 4](task-metadata-endpoint-v4-fargate.md)

## 考慮事項
<a name="ecs-guard-duty-support"></a>

ランタイムモニタリングを使用する際は、次の点を考慮してください。
+ ランタイムモニタリングにはコストが関連付けられています。詳細については、「[Amazon GuardDuty の料金](https://aws.amazon.com/guardduty/pricing/)」を参照してください。
+ ランタイムモニタリングは Amazon ECS Anywhere ではサポートされていません。
+ ランタイムモニタリングは Windows オペレーティングシステムではサポートされていません。
+ Fargate で Amazon ECS Exec を使用する場合、GuardDuty セキュリティエージェントはサイドカーコンテナとして実行されるため、コンテナ名を指定する必要があります。
+ GuardDuty セキュリティエージェントのサイドカーコンテナでは Amazon ECS Exec を使用することはできません。
+ クラスターレベルでランタイムモニタリングを制御する IAM ユーザーには、タグ付け用の適切な IAM アクセス許可が必要です。詳細については、「*IAM ユーザーガイド*」の「[IAM チュートリアル: タグに基づいて AWS リソースにアクセスするためのアクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)」を参照してください。
+ Fargate タスクはタスク実行ロールを使用する必要があります。このロールは、ユーザーに代わって Amazon ECR プライベートリポジトリに保存されている GuardDuty セキュリティエージェントを取得、更新、管理するアクセス許可をタスクに付与します。
+ Runtime Monitoring は、Amazon ECS マネージドインスタンスで実行されているアプリケーションではサポートされていません。

## リソース使用率
<a name="ecs-guard-duty-resources"></a>

クラスターに追加したタグは、クラスタータグクォータに加算されます。

GuardDuty エージェントサイドカーコンテナは、タスク定義クォータあたりのコンテナ数には可算されません。

ほとんどのセキュリティソフトウェアと同様に、GuardDuty には若干のオーバーヘッドがあります。Fargate のメモリ制限については、「*GuardDuty ユーザーガイド*」の「[CPU とメモリの制限](https://docs.aws.amazon.com/guardduty/latest/ug/prereq-runtime-monitoring-ecs-support.html#ecs-runtime-agent-cpu-memory-limits)」を参照してください。Amazon EC2 のメモリ制限については、「[GuardDuty エージェントの CPU とメモリの制限](https://docs.aws.amazon.com/guardduty/latest/ug/prereq-runtime-monitoring-ec2-support.html#ec2-cpu-memory-limits-gdu-agent)」を参照してください。