Amazon ECS CloudWatch コンテナインサイト - Amazon Elastic Container Service

Amazon ECS CloudWatch コンテナインサイト

CloudWatch Container Insights は、コンテナ化されたアプリケーションとマイクロサービスのメトリクスとログを収集、集約、要約します。このメトリクスには、CPU、メモリ、ディスク、ネットワークなどのリソース使用率が含まれます。メトリクスは、CloudWatch 自動ダッシュボードで使用できます。Amazon ECS コンテナインサイトメトリクスの一覧については、「Amazon CloudWatch ユーザーガイド」の「Amazon ECS コンテナインサイトメトリクスの表示」を参照してください。

運用データは、パフォーマンスログイベントとして収集されます。これらは、高濃度データを大規模に取り込み、保存できる、構造化された JSON スキーマを使用するエントリです。CloudWatch はこのデータから、クラスター、サービスおよびサービスレベルで、高レベルの集約されたメトリクスを CloudWatch メトリクスとして作成します。詳細については、「Amazon CloudWatch ユーザーガイド」の「Amazon ECS のコンテナインサイトメトリクス」を参照してください。

重要

CloudWatch Container インサイトによって収集されたメトリクスは、カスタムメトリクスとして課金されます。CloudWatch の料金の詳細については、 CloudWatch の料金をご覧ください。Amazon ECS は、追加料金なしで提供されているモニタリングメトリクスも提供します。詳細については、「Amazon ECS CloudWatch メトリクス」を参照してください。

Container Insights の考慮事項

CloudWatch Container Insights を使用する場合は、次の事項を考慮する必要があります。

  • CloudWatch Container Insights のメトリクスは、指定した期間中にタスクが実行されているリソースのみを反映します。たとえば、クラスターに 1 つのサービスがあるが、このサービスに RUNNING 状態のタスクがない場合、CloudWatch に送信されるメトリクスはありません。2 つのサービスがあり、1 つに実行中のタスクがあるが、別の 1 つに実行中のタスクがない場合、実行中のタスクがあるサービスのメトリクスのみが送信されます。

  • ネットワークメトリクスは、Fargate で実行されるすべてのタスクと、bridge または awsvpc ネットワークモードを使用する Amazon EC2 インスタンスで実行されるタスクに使用できます。

クラスターおよびサービスレベルのメトリクスの CloudWatch コンテナインサイトの設定

Container Insights は、containerInsights アカウント設定にオプトインして作成した新しいすべてのクラスターで、またはクラスター作成時に有効にした個々のクラスターで、または UpdateClusterSettings API を使用して既存のクラスターで、使用できます。

containerInsights アカウント設定へのオプトインは、Amazon ECS コンソールと AWS CLI の両方を使用してできます。この機能を使用するには、バージョン 1.16.200 以降の AWS CLI を実行している必要があります。Amazon ECS クラスターの作成については、「従来のコンソールを使用したクラスターの作成」を参照してください。

重要

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

コンソールを使用する全ユーザーの Container Insights のデフォルトを変更するには

すべての IAM ユーザーとロールによって新しいクラスターが作成された際に、すべての新しいクラスターで Container Insights を有効にできます。これらの変更は、IAM ユーザーまたはロールがこれらの設定を明示的に上書きしない限り、AWS アカウント全体に適用されます。アカウントのユーザーは、以下のいずれかのステップを使用して、アカウントに存在する IAM ユーザーまたはロールすべてのデフォルトのアカウント設定を変更できます。以下のステップで、AWS Management Console を使用してデフォルトを設定できます。

  1. アカウントのルートユーザーとして、Amazon ECS コンソール (https://console.aws.amazon.com/ecs/)を開きます。

  2. 画面上部のナビゲーションバーで、Container Insights-default クラスターにオプトインするリージョンを選択します。

  3. ダッシュボードで、[アカウント設定] を選択します。

  4. [IAM ユーザーまたはロール] で、ルートユーザーまたはコンテナインスタンスの IAM ロールが選択されていることを確認します。

  5. [Container Insights] で、チェックボックスをオンにします。終了したら、[保存] を選択します。

    重要

    IAM ユーザーと IAM ロールでこのアクションを実行するには ecs:PutAccountSetting アクセス許可が必要です。

  6. 確認画面で [Confirm (確認)] を選択すると、選択内容が保存されます。

コマンドラインを使用して全ユーザーの Container Insights のデフォルトを変更するには

すべての IAM ユーザーとロールによって新しいクラスターが作成された際に、すべての新しいクラスターで Container Insights を有効にできます。これらの変更は、IAM ユーザーまたはロールがこれらの設定を明示的に上書きしない限り、AWS アカウント全体に適用されます。アカウントのユーザーは、以下のいずれかのステップを使用して、アカウントに存在する IAM ユーザーまたはロールすべてのデフォルトのアカウント設定を変更できます。以下のステップで、AWS Command Line Interface を使用してデフォルトを設定できます。

  1. put-account-setting-default (AWS CLI)

    aws ecs put-account-setting-default --name containerInsights --value enabled --region us-east-1
  2. Write-ECSAccountSettingDefault (AWS Tools for Windows PowerShell)

    Write-ECSAccountSettingDefault -Name containerInsights -Value enabled -Region us-east-1 -Force

コマンドラインを使用して特定のユーザーに対する Container Insights のデフォルトを変更するには

特定の IAM ユーザーまたはロールによって新しいクラスターが作成された際に、すべての新しいクラスターで Container Insights を有効にできます。これは、AWS CloudFormation によって特定のロールが使用され、本番稼働用アカウントですべての変更を実行する場合などに便利です。アカウントのルートユーザーは、次のいずれかのコマンドを使用して、プリンシパル IAM ユーザー、またはコンテナインスタンスロールの IAM ロールの ARN をリクエストで指定して、アカウント設定を変更できます。

  1. put-account-setting (AWS CLI)

    次の例では、特定の IAM ユーザーのアカウント設定を修正します。

    aws ecs put-account-setting --name containerInsights --value enabled --principal-arn arn:aws:iam::aws_account_id:user/userName --region us-east-1
  2. Write-ECSAccountSetting (AWS Tools for Windows PowerShell)

    次の例では、特定の IAM ユーザーのアカウント設定を修正します。

    Write-ECSAccountSetting -Name containerInsights -Value enabled -PrincipalArn arn:aws:iam::aws_account_id:user/userName -Region us-east-1 -Force

コマンドラインを使用して、特定のクラスターに対して Container Insights を有効にするには

クラスターに対して Container Insights を有効にするには、次のいずれかのコマンドを使用します。

  • update-cluster-settings (AWS CLI)

    aws ecs update-cluster-settings --cluster cluster_name_or_arn --settings name=containerInsights,value=enabled|disabled --region us-east-1