

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

# AWS Fargate (Amazon ECS のみ) サポートの前提条件
<a name="prereq-runtime-monitoring-ecs-support"></a>

このセクションでは、Fargate-Amazon ECS リソースのランタイム動作をモニタリングするための前提条件について説明します。これらの前提条件が満たされた後、「[GuardDuty Runtime Monitoring の有効化](runtime-monitoring-configuration.md)」を参照してください。

**Topics**
+ [アーキテクチャ要件の検証](#validating-architecture-req-ecs)
+ [コンテナイメージアクセスの前提条件](#before-enable-runtime-monitoring-ecs)
+ [マルチアカウント環境での組織サービスコントロールポリシーの検証](#validate-organization-scp-ecs)
+ [ロールのアクセス許可とポリシーのアクセス許可の境界の検証](#guardduty-runtime-monitoring-ecs-permission-boundary)
+ [CPU とメモリの制限](#ecs-runtime-agent-cpu-memory-limits)

## アーキテクチャ要件の検証
<a name="validating-architecture-req-ecs"></a>

使用するプラットフォームは、Amazon ECS クラスターからランタイムイベントを受信する際に GuardDuty セキュリティエージェントが GuardDuty をサポートする方法に影響を与える可能性があります。検証済みのプラットフォームのいずれかを使用していることを検証する必要があります。

**最初の検討事項:**  
Amazon ECS クラスターの AWS Fargate プラットフォームは Linux である必要があります。対応するプラットフォームバージョンは少なくとも `1.4.0` または `LATEST` である必要があります。有効なプラットフォームバージョンの詳細については、「*Amazon Elastic Container Service デベロッパーガイド*」の「[Linux プラットフォームのバージョン](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform-linux-fargate.html)」を参照してください。  
Windows プラットフォームバージョンはまだサポートされていません。

### 検証済みプラットフォーム
<a name="ecs-verified-platforms-gdu-agent"></a>

OS ディストリビューションと CPU アーキテクチャは、GuardDuty セキュリティエージェントが提供するサポートに影響します。次の表は、GuardDuty セキュリティエージェントをデプロイし、Runtime Monitoring を設定するための検証済み設定を示しています。


| OS ディストリビューション**[1](#runtime-monitoring-ecs-os-support)**  | カーネルサポート | CPU アーキテクチャ x64 (AMD64) | CPU アーキテクチャ Graviton (ARM64) | 
| --- | --- | --- | --- | 
| Linux | eBPF、Tracepoints、Kprobe | サポート対象 | サポート | <a name="runtime-monitoring-ecs-os-support"></a>

1 さまざまなオペレーティングシステムのサポート - GuardDuty は、前の表に記載されているオペレーティングシステムでの Runtime Monitoring のサポートを検証しました。GuardDuty セキュリティエージェントは、前の表に記載されていないオペレーティングシステムでも実行できますが、GuardDuty チームは予想されるセキュリティ値を保証できません。

## コンテナイメージアクセスの前提条件
<a name="before-enable-runtime-monitoring-ecs"></a>

以下の前提条件は、Amazon ECR リポジトリから GuardDuty サイドカーコンテナイメージにアクセスするのに役立ちます。

### アクセス許可の要件
<a name="ecs-runtime-permissions-requirements"></a>

タスク実行ロールには、GuardDuty セキュリティエージェントコンテナイメージをダウンロードするための特定の Amazon Elastic Container Registry (Amazon ECR) アクセス許可が必要です。

```
...
      "ecr:GetAuthorizationToken",
      "ecr:BatchCheckLayerAvailability",
      "ecr:GetDownloadUrlForLayer",
      "ecr:BatchGetImage",
...
```

Amazon ECR アクセス許可をさらに制限するには、GuardDuty セキュリティエージェントをホストする Amazon ECR リポジトリ URI を追加します AWS Fargate (Amazon ECS のみ）。詳細については、「[Amazon ECR リポジトリホスティング GuardDuty エージェント](runtime-monitoring-ecr-repository-gdu-agent.md)」を参照してください。

[AmazonECSTaskExecutionRolePolicy](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) マネージドポリシーを使用するか、`TaskExecutionRole` ポリシーに上記のアクセス許可を追加できます。

### タスク定義の設定
<a name="ecs-runtime-task-definition"></a>

Amazon ECS サービスを作成または更新する際には、タスク定義でサブネット情報を提供する必要があります。

「*Amazon Elastic Container Service API リファレンス*] の [[CreateService]](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html) API と [[UpdateService]](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html) API を実行するには、サブネット情報を渡す必要があります。詳細については、「*Amazon Elastic Container Service デベロッパーガイド*」の「[Amazon ECS のタスク定義](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html)」を参照してください。

### ネットワーク接続要件
<a name="ecs-runtime-network-requirements"></a>

Amazon ECR から GuardDuty コンテナイメージをダウンロードするには、ネットワーク接続を確保する必要があります。この要件は、Amazon ECR を使用してセキュリティエージェントをホストするため、GuardDuty に固有のものです。ネットワーク設定に応じて、以下のいずれかのオプションを実装する必要があります。

**オプション 1 - パブリックネットワークアクセスの使用 (利用可能な場合)**  
Fargate タスクがアウトバウンドインターネットアクセスのあるサブネットで実行されている場合、追加のネットワーク設定は必要ありません。

**オプション 2 - Amazon VPC エンドポイントを使用する (プライベートサブネット用)**  
Fargate タスクがインターネットアクセスできないプライベートサブネットで実行される場合は、GuardDuty セキュリティエージェントをホストする ECR リポジトリ URI がネットワークにアクセスできるようにするために、ECR の VPC エンドポイントを設定する必要があります。これらのエンドポイントがないと、プライベートサブネットのタスクは GuardDuty コンテナイメージをダウンロードできません。  
VPC エンドポイントのセットアップ手順については、「*Amazon Elastic コンテナレジストリ ユーザーガイド*」の 「[Amazon ECR 用の VPC エンドポイントを作成する](https://docs.aws.amazon.com/AmazonECR/latest/userguide/vpc-endpoints.html#ecr-setting-up-vpc-create)」を参照してください。

Fargate で GuardDuty コンテナをダウンロードできるようにする方法については、「*Amazon Elastic Container Registry ユーザーガイド*」の「[Using Amazon ECR images with Amazon ECS](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_on_ECS.html)」を参照してください。

### セキュリティグループの構成
<a name="ecs-runtime-security-group-requirements"></a>

GuardDuty コンテナイメージは Amazon ECR にあり、Amazon S3 アクセスが必要です。この要件は、Amazon ECR からのコンテナイメージのダウンロードに固有です。ネットワークアクセスが制限されたタスクでは、S3 へのアクセスを許可するようにセキュリティグループを設定する必要があります。

セキュリティグループに、[ポート 443 の S3 マネージドプレフィックスリスト (`pl-xxxxxxxx`)](https://docs.aws.amazon.com/vpc/latest/privatelink/gateway-endpoints.html#gateway-endpoint-security) へのトラフィックを許可するアウトバウンドルールを追加します。アウトバウンドルールを追加するには、「*Amazon VPC ユーザーガイド*」の「[セキュリティグループの設定](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-group-rules.html)」を参照してください。

 AWSマネージドプレフィックスリストをコンソールで表示したり、 AWS Command Line Interface (AWS CLI) を使用して説明したりするには、*「Amazon VPC ユーザーガイド*」の[AWS「 マネージドプレフィックスリスト](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-aws-managed-prefix-lists.html)」を参照してください。

## マルチアカウント環境での組織サービスコントロールポリシーの検証
<a name="validate-organization-scp-ecs"></a>

このセクションでは、サービスコントロールポリシー (SCP) の設定を検証して、組織全体で Runtime Monitoring が期待どおりに動作することを確認する方法について説明します。

組織内のアクセス許可を管理するために 1 つ以上のサービスコントロールポリシーを設定している場合は、`guardduty:SendSecurityTelemetry` アクションを拒否しないことを検証する必要があります。SCP の仕組みについては、「*AWS Organizations ユーザーガイド*」の「[SCP の評価](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_evaluation.html)」を参照してください。

メンバーアカウントの場合は、関連する委任管理者に接続します。組織の SCP の管理については、「*AWS Organizations ユーザーガイド*」の「[サービスコントロールポリシー(SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)」を参照してください。

マルチアカウント環境で設定したすべての SCP に対して次の手順を実行します。

**SCP で `guardduty:SendSecurityTelemetry` が否定されていないことを検証するには**

1. [https://console.aws.amazon.com/organizations/](https://console.aws.amazon.com/organizations/) で Organizations コンソールを開きます。組織の管理アカウントで、IAM ロールとしてサインインするか、ルートユーザーとしてサインインする [(推奨されません)](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#lock-away-credentials) 必要があります。

1. 左のナビゲーションペインで [**ポリシー**] を選択します。次に、**[サポートされているポリシータイプ]** で、**[サービスコントロールポリシー]** を選択します。

1. **[サービスコントロールポリシー]** ページで、検証するポリシーの名前を選択します。

1. ポリシーの詳細ページで、このポリシーの**コンテンツ**を表示します。`guardduty:SendSecurityTelemetry` アクションを拒否しないことを確認してください。

   次の SCP ポリシーは、 `guardduty:SendSecurityTelemetry` アクションを*拒否しない*例です。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
       "Effect": "Allow",
               "Action": [           
                   "guardduty:SendSecurityTelemetry"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

   ポリシーがこのアクションを拒否する場合は、ポリシーを更新する必要があります。詳細については、「*AWS Organizations ユーザーガイド*」の「[サービスコントロールポリシーの更新](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_policies_update.html#update_policy)」を参照してください。

## ロールのアクセス許可とポリシーのアクセス許可の境界の検証
<a name="guardduty-runtime-monitoring-ecs-permission-boundary"></a>

次のステップを使用して、ロールとそのポリシーに関連付けられたアクセス許可の境界が `guardduty:SendSecurityTelemetry` アクションを制限**しない**ことを確認します。

**ロールとそのポリシーのアクセス許可の境界を表示するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. 左のナビゲーションペインの **[アクセス管理]** で、**[ロール]** を選択します。

1. [**ロール**] ページで、作成したロール *`TaskExecutionRole`* を選択します。

1. 選択したロールのページで、**[アクセス許可]** タブで、このロールに関連付けられたポリシー名を展開します。次に、このポリシーが `guardduty:SendSecurityTelemetry` を制限していないことを確認します。

1. **アクセス許可の境界が設定されている場合**は、このセクションを展開します。次に、各ポリシーを展開して、`guardduty:SendSecurityTelemetry` アクションが制限されていないことを確認します。ポリシーは次の [Example SCP policy](#ecs-runtime-scp-not-deny-policy-example) のようになります。

   必要に応じて、次のいずれかのアクションを実行します。
   + ポリシーを変更するには、**[編集]** を選択します。このポリシーの**[アクセス許可の変更]** ページで、**ポリシーエディタ**でポリシーを更新します。JSON スキーマが有効であることを確認してください。その後、**[Next]** を選択します。その後、変更を確認して保存することができます。
   + このアクセス許可の境界を変更して別の境界を選択するには、**[境界の変更]** を選択します。
   + このアクセス許可の境界を削除するには、**[境界の削除]** を選択します。

   IAM ポリシーの管理の詳細については、「*IAM ユーザーガイド*」の「[AWS Identity and Access Managementでのポリシーとアクセス管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)」を参照してください。

## CPU とメモリの制限
<a name="ecs-runtime-agent-cpu-memory-limits"></a>

Fargate タスク定義では、CPU 値とメモリの値をタスクレベルで指定する必要があります。次の表は、タスクレベルの CPU 値とメモリの値の有効な組み合わせ、および、対応する GuardDuty コンテナの最大メモリ制限を示しています。

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

Runtime Monitoring を有効にして、クラスターのカバレッジステータスが **[正常]** と評価されると、コンテナインサイトメトリクスを設定および表示できます。詳細については、[Amazon ECS クラスターでの監視設定](runtime-monitoring-setting-cpu-mem-monitoring.md#ecs-runtime-cpu-memory-monitoring-agent) を参照してください。

次のステップでは、Runtime Monitoring を設定し、セキュリティエージェントも設定します。