アカウント設定による Amazon ECS 機能へのアクセス - Amazon Elastic Container Service

アカウント設定による Amazon ECS 機能へのアクセス

Amazon ECS アカウント設定に移動して、特定の機能をオプトインまたはオプトアウトできます。各 AWS リージョンについて、アカウントレベルまたは特定のユーザーまたはロールで、各アカウント設定をオプトインまたはオプトアウトすることができます。

次のいずれかの条件が関係する場合は、特定の機能をオプトインまたはオプトアウトすることが考えられます。

  • ユーザーまたはロールは、個々のアカウントのために特定のアカウント設定をオプトインまたはオプトアウトできます。

  • ユーザーまたはロールはアカウントのすべてのユーザーに対してデフォルトのオプトインまたはオプトアウト設定を定義できます。

  • ルートユーザーまたは管理者権限を持つユーザーは、アカウントの任意の種類のロールまたはユーザーについて、オプトインまたはオプトアウトすることができます。ルートユーザーのアカウント設定が変更されると、個別にアカウント設定が選択されなかったすべてのユーザーとロールに対してデフォルト値が設定されます。

注記

フェデレーションユーザーは、ルートユーザーのアカウント設定を想定しており、明示的にアカウント設定を個別に設定することはできません。

以下のアカウント設定を使用できます。アカウント設定ごとに、オプトインおよびオプトアウトする必要があります。

Amazon リソースネーム (ARN) と ID

リソース名: serviceLongArnFormattaskLongArnFormatcontainerInstanceLongArnFormat

Amazon ECS で、Amazon リソースネーム (ARN) の新しいフォーマットと、Amazon ECS サービス、タスク、コンテナインスタンスのリソース ID が導入されました。各リソースタイプのオプトインステータスによって、リソースが使用する Amazon リソースネーム (ARN) の形式が決まります。そのリソースタイプのリソースタグ付けなどの機能を使用するには、新しい ARN の形式にオプトインする必要があります。詳細については、「Amazon リソースネーム (ARN) と ID」を参照してください。

デフォルト: enabled

オプトインした後に起動されたリソースだけが、新形式の ARN とリソース ID を受け取ります。既存のリソースは、いずれも影響を受けません。Amazon ECS サービスとタスクを新しい ARN およびリソース ID の形式に移行するには、サービスまたはタスクを再作成する必要があります。コンテナインスタンスを新しい ARN およびリソース ID 形式に移行するには、そのコンテナインスタンスを空にし、新規コンテナインスタンスを起動してクラスターに登録する必要があります。

注記

Amazon ECS サービスが 2018 年 11 月 16 日以降に作成されていて、そのサービスを作成したユーザーがタスクの新形式をオプトインしている場合、そのサービスによって起動されたタスクだけが新形式の ARN とリソース ID になります。

AWSVPC トランキング

リソース名: awsvpcTrunking

Amazon ECSは、サポートされている Amazon EC2 インスタンスタイプを使用して、Elastic Network Interface (ENI) の密度を高めたコンテナインスタンスの起動をサポートします。これらのインスタンスタイプを使用し、awsvpcTrunking アカウント設定にオプトインすると、新しく起動されたコンテナインスタンスで追加の ENI を利用できます。各コンテナインスタンスの awsvpc ネットワークモードを使用して、より多くのタスクを配置するために、この設定を使用できます。この機能を使用すると、awsvpcTrunking が有効になっている c5.large インスタンスでは、ENI クォータが 10 個に引き上げられます。コンテナインスタンスはプライマリネットワークインターフェイスを持ち、Amazon ECS はコンテナインスタンスに対して「トランク」ネットワークインターフェイスをアタッチします。プライマリネットワークインターフェイスとトランクネットワークインターフェイスは、ENI クォータにはカウントされません。したがって、この設定を使用して、現在の 2 個ではなく 10 個のタスクをコンテナインスタンスで起動できます。詳細については、「Amazon ECS Linux コンテナインスタンスのネットワークインターフェイスを増やす」を参照してください。

デフォルト: disabled

オプトイン後に起動したリソースのみが、引き上げられた ENI 上限を受けられます。既存のリソースは、いずれも影響を受けません。コンテナインスタンスを引き上げられた ENI クォータに移行するには、そのコンテナインスタンスを空にしてから、新規コンテナインスタンスをクラスターに登録する必要があります。

CloudWatch Container Insights

リソース名: containerInsights

CloudWatch Container Insights は、コンテナ化されたアプリケーションとマイクロサービスのメトリクスとログを収集、集約、要約します。このメトリクスには、CPU、メモリ、ディスク、ネットワークなどのリソース使用率が含まれます。Container Insights では、問題の迅速な特定と解決に役立つ、コンテナの再起動失敗などの診断情報も提供されます。また、Container Insights が収集するメトリクスには CloudWatch アラームを設定できます。詳細については、「Container Insights を使用して Amazon ECS コンテナをモニタリングする」を参照してください。

containerInsights アカウント設定にオプトインすると、すべての新しいクラスターで Container Insights がデフォルトで有効になります。この設定は、作成時に特定のクラスターに対して無効にすることができます。この設定は、UpdateClusterSettings API を使用して変更することもできます。

EC2 起動タイプを使用するタスクまたはサービスを含むクラスターでは、Container Insights を使用するには、コンテナインスタンスで Amazon ECS エージェントのバージョン 1.29.0 以降が実行されている必要があります。詳細については、「Amazon ECS Linux コンテナインスタンスの管理」を参照してください。

デフォルト: disabled

デュアルスタック VPC IPv6

リソース名: dualStackIPv6

Amazon ECS は、プライマリプライベート IPv4 アドレスに加えて IPv6 アドレスを備えたタスクの提供をサポートします。

タスクが IPv6 アドレスを受信するには、タスクが awsvpc ネットワークモードを使用し、デュアルスタックモードに設定された VPC で起動し、dualStackIPv6 アカウント設定を有効にする必要があります。その他の要件について詳しくは、EC2 起動タイプに関しては デュアルスタックモードでの VPC の使用、Fargate 起動タイプに関しては デュアルスタックモードでの VPC の使用 を参照してください。

重要

dualStackIPv6 アカウント設定は、Amazon ECS API または AWS CLI を使用してのみ変更できます。詳細については、「Amazon ECS アカウント設定の変更」を参照してください。

2020 年 10 月 1 日から 2020 年 11 月 2 日の間に、IPv6 が有効なサブネットで awsvpc ネットワークモードを使用してタスクを実行している場合、タスクが実行されていたリージョンの既定の dualStackIPv6 アカウント設定は disabled です。この条件が満たされない場合、リージョンのデフォルト dualStackIPv6 設定は enabled です。

デフォルト: disabled

Fargate FIPS-140 コンプライアンス

リソース名: fargateFIPSMode

Fargate は、機密情報を保護する暗号モジュールのセキュリティ要件を指定する連邦情報処理標準 (FIPS-140) をサポートしています。これは現在の米国およびカナダの政府標準であり、Federal Information Security Management Act (FISMA) または Federal Risk and Authorization Management Program (FedRAMP) への準拠が要求されるシステムに適用されます。

デフォルト: disabled

FIPS-140 コンプライアンスをオンにする必要があります。詳細については、「AWS Fargate 連邦情報処理標準 (FIPS-140)」を参照してください。

重要

fargateFIPSMode アカウント設定は、Amazon ECS API または AWS CLI を使用してのみ変更できます。詳細については、「Amazon ECS アカウント設定の変更」を参照してください。

タグリソース認可

リソース名: tagResourceAuthorization

一部の Amazon ECS API アクションでは、リソースの作成時にタグを指定できます。

Amazon ECS は、リソース作成のためのタグ付け認可を導入しています。ユーザーには、リソースを作成するアクションの許可が必要です (ecsCreateCluster など)。リソース作成アクションでタグが指定されている場合、AWS は ecs:TagResource アクションに対して追加の認可を実行して、ユーザーまたはロールがタグを作成するための許可を持っているかどうかを確認します。したがって、ecs:TagResource アクションを使用するための明示的な許可を付与する必要があります。詳細については、「リソース作成時にタグ付けするための許可を付与する」を参照してください。

Fargate タスク廃止の待機時間

リソース名: fargateTaskRetirementWaitPeriod

AWS Fargate の基盤となるインフラストラクチャに対する、パッチ適用とメンテナンスは、AWS が担当します。Fargate でホストされている Amazon ECS タスクにおいて、セキュリティまたはインフラストラクチャの更新が必要であると AWS が判断した場合、対象のタスクを停止し、それらを置き換えるための新しいタスクを起動する必要があります。Fargate タスクが廃止されるまでの待機時間を設定できます。タスクをすぐに廃止するか、7 暦日または 14 暦日待つかを選択できます。

この設定はアカウントレベルで適用されます。

Runtime Monitoring の有効化

リソース名: guardDutyActivate

guardDutyActivate パラメータは Amazon ECS では読み取り専用で、Amazon ECS アカウントのセキュリティ管理者によってランタイムモニタリングが有効になっているか無効になっているかを示します。GuardDuty は、ユーザーに代わってこのアカウント設定を制御します。詳細については、「Runtime Monitoring で Amazon ECS ワークロードを保護する」を参照してください。

Amazon リソースネーム (ARN) と ID

Amazon ECS リソースの作成時に、各リソースには一意の Amazon リソースネーム (ARN) と一意のリソース識別子 (ID) が割り当てられます。コマンドラインツールまたは Amazon ECS API を使用して Amazon ECS を操作する場合、特定のコマンドにはリソース ARNまたはリソース ID が必要になります。例えば、タスクを停止するために stop-task AWS CLI コマンドを使用する場合は、そのコマンドでタスクの ARN または ID を指定する必要があります。

新しい Amazon リソースネーム (ARN) およびリソース ID の形式は、リージョンごとにオプトインおよびオプトアウトできます。現在、新しく作成されたアカウントはデフォルトでオプトインされています。

新形式の Amazon リソースネーム (ARN) およびリソース ID はいつでもオプトインまたはオプトアウトできます。オプトイン後、作成するすべての新しいリソースは新しい形式を使用します。

注記

リソース ID が作成後に変更することはありません。したがって、新しい形式をオプトインまたはオプトアウトしても、既存のリソース ID には影響しません。

以下のセクションでは、ARN およびリソース ID 形式がどのように変更されているかについて説明します。新しい形式への移行の詳細については、「Amazon Elastic Container Service のよくある質問」を参照してください。

Amazon リソースネーム (ARN) 形式

一部のリソースには、production という名前のサービスなど、わかりやすい名前があります。それ以外の場合は、Amazon リソースネーム (ARN) 形式を使用してリソースを指定する必要があります。Amazon ECS のタスク、サービス、およびコンテナインスタンスの新しい ARN 形式には、クラスター名が含まれます。新しい ARN 形式へのオプトインの詳細については、「Amazon ECS アカウント設定の変更」を参照してください。

各リソースタイプでの現在の形式と新しい形式を次の表に示しています。

リソースタイプ

ARN

コンテナインスタンス

現在: arn:aws:ecs:region:aws_account_id:container-instance/container-instance-id

新: arn:aws:ecs:region:aws_account_id:container-instance/cluster-name/container-instance-id

Amazon ECS サービス

現在: arn:aws:ecs:region:aws_account_id:service/service-name

新: arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

Amazon ECS タスク

現在: arn:aws:ecs:region:aws_account_id:task/task-id

新: arn:aws:ecs:region:aws_account_id:task/cluster-name/task-id

リソース ID の長さ

リソース ID は文字と数字の一意の組み合わせです。新しいリソース ID 形式には、Amazon ECS タスクおよびコンテナインスタンス用の短い ID が含まれます。現在のリソース ID の形式の長さは 36 文字です。新しい ID は 32 文字の形式で、ハイフンは含まれません。新しい リソース ID 形式をオプトインする方法の詳細については、「Amazon ECS アカウント設定の変更」を参照してください。

ARN およびリソース ID 形式のタイムライン

新しい Amazon リソースネーム (ARN) と Amazon ECS リソースのリソース ID 形式のための、オプトインおよびオプトアウト期間のタイムラインは、2021 年 4 月 1 日に終了しました。デフォルトでは、すべてのアカウントが新しい形式にオプトインされています。新しく作成されたすべてのリソースには新しい形式が適用され、オプトアウトできなくなります。

AWS Fargate 連邦情報処理標準 (FIPS-140) コンプライアンス

Fargate で連邦情報処理標準 (FIPS-140) コンプライアンスをオンにする必要があります。詳細については、「AWS Fargate 連邦情報処理標準 (FIPS-140)」を参照してください。

fargateFIPSMode オプションを enabled に設定して put-account-setting-default を実行します。詳細については、「Amazon Elastic Container Service API リファレンス」の「put-account-setting-default」を参照してください。

  • 次のコマンドを使用して、FIPS-140 コンプライアンスをオンにできます。

    aws ecs put-account-setting-default --name fargateFIPSMode --value enabled

    出力例

    { "setting": { "name": "fargateFIPSMode", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:root", "type": user } }

list-account-settings を実行して、現在の FIPS-140 コンプライアンスステータスを表示できます。effective-settings オプションを使用して、アカウントレベルの設定を表示します。

aws ecs list-account-settings --effective-settings

タグ付け認可

Amazon ECS は、リソース作成のためのタグ付け認可を導入しています。ecsCreateCluster などのリソースを作成するアクションには、ユーザーがタグ付けのアクセス許可を持っている必要があります。リソースを作成し、そのリソースのタグを指定すると、AWS は、追加の認可を実行して、タグを作成するための許可があることを検証します。したがって、ecs:TagResource アクションを使用するための明示的な許可を付与する必要があります。詳細については、「リソース作成時にタグ付けするための許可を付与する」を参照してください。

タグ付け認可にオプトインするには、tagResourceAuthorization オプションを enable に設定して put-account-setting-default を実行します。詳細については、「Amazon Elastic Container Service API リファレンス」の「put-account-setting-default」を参照してください。list-account-settings を実行して、現在のタグ付け認可ステータスを表示できます。

  • 次のコマンドを使用して、タグ付け認可を有効にできます。

    aws ecs put-account-setting-default --name tagResourceAuthorization --value on --region region

    出力例

    { "setting": { "name": "tagResourceAuthorization", "value": "on", "principalArn": "arn:aws:iam::123456789012:root", "type": user } }

タグ付け認可を有効にしたら、作成時にユーザーがリソースにタグ付けできるように、適切なアクセス許可を設定する必要があります。詳細については、「リソース作成時にタグ付けするための許可を付与する」を参照してください。

list-account-settings を実行して、現在のタグ付け認可ステータスを表示できます。effective-settings オプションを使用して、アカウントレベルの設定を表示します。

aws ecs list-account-settings --effective-settings

タグ付け認可のタイムライン

list-account-settings を実行して tagResourceAuthorization 値を表示することで、タグ付け認可がアクティブかどうかを確認できます。値が on である場合、タグ付け認可が使用されています。詳細については、「Amazon Elastic Container Service API リファレンス」の「list-account-settings」を参照してください。

タグ付け認可に関連する重要な日付を次に示します。

  • 2023 年 4 月 18 日 – タグ付け認可が導入されました。この機能を使用するには、新規および既存のすべてのアカウントでオプトインする必要があります。タグ付け認可の使用開始をオプトインできます。オプトインすることにより、適切な許可を付与する必要があります。

  • 2024 年 2 月 9 日から 2024 年 3 月 6 日 — すべての新しいアカウントと影響を受けていない既存のアカウントでは、タグ付け認可がデフォルトで有効になります。tagResourceAuthorization アカウント設定を有効/無効にすると、IAM ポリシーを確認できます。

    AWS は、影響を受けたアカウントに通知しました。

    この機能を無効にするには、tagResourceAuthorization オプションを off に設定して put-account-setting-default を実行します。

  • 2024 年 3 月 7 日 — タグ付け認可を有効にしている場合、アカウント設定を無効にすることはできなくなります。

    この日までに IAM ポリシーのテストを完了することをお勧めします。

  • 2024 年 3 月 29 日 — すべてのアカウントがタグ付け認証を使用するようになります。アカウントレベルの設定は、Amazon ECS コンソールまたは AWS CLI では使用できなくなります。

AWS Fargate タスク廃止の待機時間

廃止の対象としてマークされたプラットフォームバージョンリビジョン上で実行している Fargate タスクがある場合、AWS から通知が送信されます。詳細については、「Amazon ECS での AWS Fargate タスクのメンテナンスに関するよくある質問」を参照してください。

Fargate がタスク廃止を開始する時間を設定できます。アップデートをすぐに適用する必要があるワークロードの場合は、即時設定 (0) を選択します。特定の時間帯にしかタスクを停止できない場合など、詳細な制御が必要な場合は、7 日 (7) または 14 日 (14) のオプションを設定します。

新しいプラットフォームバージョンのリビジョンを早く取得できるように、待機時間を短くすることをお勧めします。

待機時間を設定するには、ルートユーザーまたは管理者ユーザーで put-account-setting-default または put-account-setting を実行します。fargateTaskRetirementWaitPeriod オプションを name に使用し、value オプションを次のいずれかの値に設定します。

  • 0 - AWS から通知が送信され、影響を受けたタスクが直ちに廃止されます。

  • 7 - AWS から通知が送信され、7 日間待機してから、影響を受けたタスクの廃止が開始されます。

  • 14 - AWS から通知が送信され、14 日間待機してから、影響を受けたタスクの廃止が開始されます。

デフォルトは 7 日間です。

詳細については、「Amazon Elastic Container Service API リファレンス」の「put-account-setting-default」と「put-account-setting」を参照してください。

次のコマンドを実行して、待機時間を 14 日間に設定できます。

aws ecs put-account-setting-default --name fargateTaskRetirementWaitPeriod --value 14

出力例

{ "setting": { "name": "fargateTaskRetirementWaitPeriod", "value": "14", "principalArn": "arn:aws:iam::123456789012:root", "type: user" } }

現在の Fargate タスク廃止の待機時間は、list-account-settings を実行して表示できます。effective-settings オプションを使用する

aws ecs list-account-settings --effective-settings

Runtime Monitoring (Amazon GuardDuty 統合)

Runtime Monitoring は、AWS ログとネットワークアクティビティを継続的に監視して悪意のある動作や不正な動作を特定することで、Fargate および EC2 で実行されているワークロードを保護するインテリジェントな脅威検出サービスです。

guardDutyActivate パラメータは Amazon ECS では読み取り専用で、Amazon ECS アカウントのセキュリティ管理者によってランタイムモニタリングが有効になっているか無効になっているかを示します。GuardDuty は、ユーザーに代わってこのアカウント設定を制御します。詳細については、「Runtime Monitoring で Amazon ECS ワークロードを保護する」を参照してください。

list-account-settings を実行して、現在の GuardDuty 統合設定を表示できます。

aws ecs list-account-settings

出力例

{ "setting": { "name": "guardDutyActivate", "value": "on", "principalArn": "arn:aws:iam::123456789012:doej", "type": aws-managed" } }