Amazon ECS CloudWatch Container Insights - Amazon Elastic Container Service

Amazon ECS CloudWatch Container Insights

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

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

重要

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

Container Insights に関する考慮事項

CloudWatch Container Insights を使用する際には、以下の点を考慮する必要があります。

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

  • ネットワークメトリクスは、Fargate または awsvpc ネットワークモードで bridge または EC2 起動タイプを使用するタスクで使用できます。

Container Insights が有効なクラスターの操作

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 コンテナエージェントバージョン」を参照してください。

コンソールを使用して、Container Insights が有効なクラスターにアカウントのすべての IAM ユーザーまたはロールをオプトインするには

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

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

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

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

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

    重要

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

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

コマンドラインを使用して、Container Insights が有効なクラスターにアカウントのすべての IAM ユーザーまたはロールをオプトインするには

アカウントのユーザーは、以下のいずれかのコマンドを使用して、アカウントのすべての IAM ユーザーまたはロールのデフォルトアカウント設定を変更することができます。これらの変更は、IAM ユーザーまたはロールがこれらの設定を明示的に上書きしない限り、AWS アカウント全体に適用されます。

  • put-account-setting-default (AWS CLI)

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

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

コマンドラインを使用して、IAM ユーザーまたはコンテナインスタンスの IAM ロールをルートユーザーとして Container Insights が有効なクラスターにオプトインするには

アカウントのルートユーザーは、次のいずれかのコマンドを使用して、プリンシパル IAM ユーザー、またはコンテナインスタンスロールの IAM ロールの ARN をリクエストで指定して、アカウント設定を変更できます。

  • 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
  • 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

コマンドラインを使用して既存のクラスターの設定を更新するには

クラスターの設定を更新するには、次のいずれかのコマンドを使用します。

  • 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