

# Amazon ECS CloudWatch メトリクス
<a name="available-metrics"></a>

CloudWatch 使用状況メトリクスを使用して、アカウントのリソースの使用状況を把握できます。これらのメトリクスを使用して、CloudWatch グラフやダッシュボードで現在のサービスの使用状況を可視化できます。

Amazon ECS は、CloudWatch に 1 分間隔でメトリクスを送信します。これらのメトリクスは、`RUNNING` 状態のタスクを持つリソースに対して収集されます。クラスター、サービス、またはその他のリソースに実行中のタスクがない場合、その期間中、そのリソースのメトリクスは報告されません。例えば、クラスターに 1 つのサービスがあるが、このサービスに `RUNNING` 状態のタスクがない場合、CloudWatch に送信されるメトリクスはありません。同様に、2 つのサービスがあり、1 つに実行中のタスクがあるが、別の 1 つに実行中のタスクがない場合、実行中のタスクがあるサービスのメトリクスのみが送信されます。


****  

| メトリクス | 説明 | 有効なディメンション | 有用な統計 | Unit | 
| --- | --- | --- | --- | --- | 
| CPUReservation |  クラスターまたはサービスで予約されている CPU ユニットの割合。 CPU の予約率 (`ClusterName` でフィルタリング) は、クラスター上の Amazon ECS タスクによって予約されている CPU ユニットの総数を、クラスターに登録されているすべての Amazon EC2 インスタンスの CPU ユニットの総数で割った数で測定されます。`ACTIVE` または `DRAINING` ステータスの Amazon EC2 インスタンスのみが、CPU 予約率メトリクスに影響します。このメトリクスは、Amazon EC2 インスタンスでホストされるタスクでのみサポートされています。  |  ClusterName. | Average、Minimum、Maximum | 割合 (%) | 
| CPUUtilization |  クラスターまたはサービスで使用されている CPU ユニットの割合。 クラスターレベルの CPU 使用率 (`ClusterName` でフィルタリング) は、クラスター上の Amazon ECS タスクによって使用されている CPU ユニットの総数を、クラスターに登録されているすべての Amazon EC2 インスタンスの CPU ユニットの総数で割った値で測定されます。`ACTIVE` または `DRAINING` ステータスの Amazon EC2 インスタンスのみが、CPU 予約率メトリクスに影響します。クラスターレベルのメトリクスは、Amazon EC2 インスタンスでホストされるタスクでのみサポートされています。 サービスレベルの CPU 使用率 (`ClusterName`、`ServiceName` でフィルタリング) は、サービスに属するタスクによって使用されている CPU ユニットの総数を、サービスに属するタスク用に予約されている CPU ユニットの総数で割った値で測定されます。サービスレベルのメトリクスは、Amazon EC2 インスタンスと Fargate でホストされているタスクでサポートされています。  |  ClusterName, ServiceName |  Average、Minimum、Maximum  | 割合 (%) | 
| MemoryReservation |  クラスターでタスクを実行することで予約されているメモリの割合。 クラスターのメモリ予約率は、クラスター上の Amazon ECS タスクによって予約されているメモリの合計を、クラスターに登録されているすべての Amazon EC2 インスタンスのメモリの合計で割った値で測定されます。このメトリクスは `ClusterName` でのみフィルタリング可能です。`ACTIVE` または `DRAINING` ステータスの Amazon EC2 インスタンスのみが、メモリ予約率メトリクスに影響します。クラスターレベルのメモリ予約率メトリクスは、Amazon EC2 インスタンスでホストされるタスクでのみサポートされています。  メモリ使用量率を計算する際、`MemoryReservation` が指定されると、合計メモリの代わりにその値が計算に使用されます。   |  ClusterName. | Average、Minimum、Maximum | 割合 (%) | 
| MemoryUtilization |  クラスターまたはサービスで使用されているメモリの割合。 クラスターレベルのメモリ使用率 (`ClusterName` でフィルタリング) は、クラスター上の Amazon ECS タスクによって使用されているメモリの合計を、クラスターに登録されているすべての Amazon EC2 インスタンスメモリの合計で割った値で測定されます。`ACTIVE` または `DRAINING` ステータスの Amazon EC2 インスタンスのみが、メモリ使用率メトリクスに影響します。クラスターレベルのメトリクスは、Amazon EC2 インスタンスでホストされるタスクでのみサポートされています。 サービスレベルのメモリ使用率は (`ClusterName`、`ServiceName` でフィルタリング)、サービスに属するタスクによって使用されているメモリの合計を、サービスに属するタスク用に予約されているメモリの合計で割った値で測定されます。サービスレベルのメトリクスは、Amazon EC2 インスタンスと Fargate でホストされているタスクでサポートされています。  |  ClusterName, ServiceName |  Average、Minimum、Maximum  | 割合 (%) | 
| EBSFilesystemUtilization |  サービス内のタスクによって使用されている Amazon EBS ファイルシステムの割合。 サービスレベルの EBS ファイルシステム使用率メトリクス (`ClusterName`、`ServiceName` でフィルタリング) は、サービスに属するタスクによって使用されている EBS ファイルシステムの合計を、サービスに属するすべてのタスクに割り当てられている EBS ファイルシステムストレージの合計で割った値で測定されます。サービスレベルの EBS ファイルシステム使用率メトリクスは、EBS ボリュームがアタッチされている Amazon EC2 インスタンス (コンテナエージェントバージョン `1.79.0`) と Fargate (プラットフォームバージョン `1.4.0`) でホストされているタスクでのみ使用できます。  Fargate でホストされているタスクでは、Fargate によってのみ使用されるディスク上のスペースがあります。Fargate が使用するスペースにコストは発生しませんが、`df` のようなツールで使用されるこの追加ストレージが表示されます。   |  ClusterName, ServiceName |  Average、Minimum、Maximum  | 割合 (%) | 
| GPUReservation |  使用可能な GPUs の合計に対する、クラスター内の実行中のタスクによって予約されている GPU の割合。 クラスターレベルの GPU 予約率メトリクスは、クラスター上の Amazon ECS タスクによって予約されている GPU の数を、クラスターに登録された GPU を備えたすべての Amazon EC2 インスタンスで使用可能な GPU の総数で割った値で測定されます。`ACTIVE` または `DRAINING` ステータスの Amazon EC2 インスタンスのみが、GPU 予約率メトリクスに影響します。  | ClusterName | Average、Minimum、Maximum | 割合 (%) | 
| ActiveConnectionCount | 選択した `DiscoveryName` を共有するタスクで実行される、クライアントから Amazon ECS Service Connect プロキシへの、アクティブな同時接続の総数。 このメトリクスは、Amazon ECS Service Connect を設定した場合にのみ使用できます。 有効なディメンション: `DiscoveryName` および `DiscoveryName, ServiceName, ClusterName`。 |  DiscoveryName と DiscoveryName、ServiceName、ClusterName | Average、Minimum、Maximum、Sum | カウント | 
| NewConnectionCount |  選択した `DiscoveryName` を共有するタスクで実行される、クライアントから Amazon ECS Service Connect プロキシに確立された新しい接続の総数。 このメトリクスは、Amazon ECS Service Connect を設定した場合にのみ使用できます。  | DiscoveryName および DiscoveryName, ServiceName, ClusterName  | Average、Minimum、Maximum、Sum | カウント | 
| ProcessedBytes |  Service Connect プロキシによって処理されたインバウンドトラフィックの総バイト数。 このメトリクスは、Amazon ECS Service Connect を設定した場合にのみ使用できます。  | DiscoveryName および DiscoveryName, ServiceName, ClusterName  | Average、Minimum、Maximum、Sum | バイト | 
| RequestCount |  Service Connect プロキシによって処理されたインバウンドトラフィックリクエストの数。 このメトリクスは、Amazon ECS Service Connect を設定した場合にのみ使用できます。 また、タスク定義のポートマッピングで `appProtocol` を設定する必要があります。  | DiscoveryName および DiscoveryName, ServiceName, ClusterName  | Average、Minimum、Maximum、Sum | カウント | 
| GrpcRequestCount |  Service Connect プロキシによって処理された gRPC インバウンドトラフィックリクエストの数。 このメトリクスは、Amazon ECS Service Connect を設定していて、タスク定義のポートマッピングで `appProtocol` が `GRPC` である場合にのみ使用できます。  | DiscoveryName および DiscoveryName, ServiceName, ClusterName  | Average、Minimum、Maximum、Sum | カウント | 
| HTTPCode\$1Target\$12XX\$1Count |  これらのタスクによってアプリケーションによって生成された 200 から 299 の数字の HTTP レスポンスコードの数。これらのタスクがターゲットです。このメトリクスは、これらのタスクでアプリケーションによって Service Connect プロキシに送信された応答のみをカウントし、直接送信された応答はカウントしません。 このメトリクスは、Amazon ECS Service Connect を設定していて、タスク定義のポートマッピングで `appProtocol` が `HTTP` または `HTTP2` である場合にのみ使用できます。 有効なディメンション:  | TargetDiscoveryName および TargetDiscoveryName, ServiceName, ClusterName  | Average、Minimum、Maximum、Sum | カウント | 
| HTTPCode\$1Target\$13XX\$1Count |  これらのタスクによってアプリケーションによって生成された 300 から 399 の数字の HTTP レスポンスコードの数。これらのタスクがターゲットです。このメトリクスは、これらのタスクでアプリケーションによって Service Connect プロキシに送信された応答のみをカウントし、直接送信された応答はカウントしません。 このメトリクスは、Amazon ECS Service Connect を設定していて、タスク定義のポートマッピングで `appProtocol` が `HTTP` または `HTTP2` である場合にのみ使用できます。  | TargetDiscoveryName および TargetDiscoveryName, ServiceName, ClusterName  | Average、Minimum、Maximum、Sum | カウント | 
| HTTPCode\$1Target\$14XX\$1Count |  これらのタスクによってアプリケーションによって生成された 400 から 499 の数字の HTTP レスポンスコードの数。これらのタスクがターゲットです。このメトリクスは、これらのタスクでアプリケーションによって Service Connect プロキシに送信された応答のみをカウントし、直接送信された応答はカウントしません。 このメトリクスは、Amazon ECS Service Connect を設定していて、タスク定義のポートマッピングで `appProtocol` が `HTTP` または `HTTP2` である場合にのみ使用できます。  | TargetDiscoveryName および TargetDiscoveryName, ServiceName, ClusterName  | Average、Minimum、Maximum、Sum | カウント | 
| HTTPCode\$1Target\$15XX\$1Count |  これらのタスクによってアプリケーションによって生成された 500 から 599 の数字の HTTP レスポンスコードの数。これらのタスクがターゲットです。このメトリクスは、これらのタスクでアプリケーションによって Service Connect プロキシに送信された応答のみをカウントし、直接送信された応答はカウントしません。 このメトリクスは、Amazon ECS Service Connect を設定していて、タスク定義のポートマッピングで `appProtocol` が `HTTP` または `HTTP2` である場合にのみ使用できます。  | TargetDiscoveryName および TargetDiscoveryName, ServiceName, ClusterName  | Average、Minimum、Maximum、Sum | カウント | 
| RequestCountPerTarget |  選択した `DiscoveryName` を共有する各ターゲットによって受信されたリクエストの平均数。 このメトリクスは、Amazon ECS Service Connect を設定した場合にのみ使用できます。  | TargetDiscoveryName および TargetDiscoveryName, ServiceName, ClusterName  | 平均 | カウント | 
| TargetProcessedBytes |  Service Connect プロキシによって処理された総バイト数。 このメトリクスは、Amazon ECS Service Connect を設定した場合にのみ使用できます。  | TargetDiscoveryName および TargetDiscoveryName, ServiceName, ClusterName  | Average、Minimum、Maximum、Sum | バイト | 
| TargetResponseTime |  アプリケーションリクエスト処理のレイテンシー。リクエストがターゲットタスクの Service Connect プロキシに到達してから、ターゲットアプリケーションからの応答がプロキシに受信されるまでの経過時間 (ミリ秒)。 このメトリクスは、Amazon ECS Service Connect を設定した場合にのみ使用できます。  |  TargetDiscoveryName および TargetDiscoveryName, ServiceName, ClusterName  |  Average、Minimum、Maximum  | ミリ秒 | 
| ClientTLSNegotiationErrorCount |  TLS 接続に失敗した合計回数。このメトリクスは TLS が有効になっている場合にのみ使用されます。 このメトリクスは、Amazon ECS Service Connect を設定した場合にのみ使用できます。  |  DiscoveryName、DiscoveryName、ServiceName、ClusterName | Average、Minimum、Maximum、Sum | カウント | 
| TargetTLSNegotiationErrorCount |  クライアント証明書の欠落、AWS Private CA 検証の失敗、または SAN 検証の失敗により TLS 接続が失敗した合計回数。このメトリクスは TLS が有効になっている場合にのみ使用されます。 このメトリクスは、Amazon ECS Service Connect を設定した場合にのみ使用できます。  |  ServiceName、ClusterName、TargetDiscoveryName および TargetDiscoveryName | Average、Minimum、Maximum、Sum | カウント | 

## Amazon ECS メトリクスのディメンション
<a name="ecs-metrics-dimensions"></a>

Amazon ECS メトリックスは `AWS/ECS` 名前空間を使用し、以下のディメンションのメトリックスを提供しています。Amazon ECS は、タスクが `RUNNING` 状態にあるリソースのメトリクスのみを送信します。例えば、クラスターに 1 つのサービスがあるが、このサービスに `RUNNING` 状態のタスクがない場合、CloudWatch に送信されるメトリクスはありません。2 つのサービスがあり、1 つに実行中のタスクがあるが、別の 1 つに実行中のタスクがない場合、実行中のタスクがあるサービスのメトリクスのみが送信されます。


****  

| ディメンション | 定義 | 
| --- | --- | 
| ClusterName |  このディメンションにより、指定したクラスター内のすべてのリソースから、リクエストしたデータがフィルタ処理されます。すべての Amazon ECS メトリクスは `ClusterName` でフィルタ処理されます。  | 
| ServiceName |  このディメンションにより、指定したクラスター内の特定サービスのすべてのリソースから、リクエストしたデータがフィルタ処理されます。  | 
| DiscoveryName |  このディメンションは、トラフィックメトリクスをリクエストするデータを、すべての Amazon ECS クラスター全体の指定された Service Connect 検出名にフィルタリングします。 実行中のコンテナ内の特定のポートには、複数の検出名を指定できることに注意してください。  | 
| DiscoveryName, ServiceName, ClusterName |  このディメンションは、トラフィックメトリクスをリクエストするデータを、このクラスター内のこのサービスによって作成された、この検出名を持つタスク全体の指定された Service Connect 検出名にフィルタリングします。 異なる名前空間の複数のサービスで同じ検出名を再利用した場合、このディメンションを使用して特定のサービスのインバウンドトラフィックメトリクスを確認できます。 実行中のコンテナ内の特定のポートには、複数の検出名を指定できることに注意してください。  | 
| TargetDiscoveryName |  このディメンションは、トラフィックメトリクスをリクエストするデータを、すべての Amazon ECS クラスター全体の指定された Service Connect 検出名にフィルタリングします。 `DiscoveryName` とは異なり、このトラフィックメトリクスは、この名前空間に Service Connect 設定がある他の Amazon ECS タスクから送信される、この `DiscoveryName` へのインバウンドトラフィックのみを測定します。これには、クライアントのみ、またはクライアントとサーバーの Service Connect 設定を使用したサービスによって実行されるタスクが含まれます。 実行中のコンテナ内の特定のポートには、複数の検出名を指定できることに注意してください。  | 
| TargetDiscoveryName, ServiceName, ClusterName |  このディメンションは、トラフィックメトリクスにリクエストしたデータを指定された Service Connect 検出名にフィルタリングしますが、このクラスター内のこのサービスによって作成されたタスクからのトラフィックのみをカウントします。 このディメンションを使用して、別のサービスの特定のクライアントからのインバウンドトラフィックメトリクスを確認できます。 `DiscoveryName, ServiceName, ClusterName` とは異なり、このトラフィックメトリクスは、この名前空間に Service Connect 設定がある他の Amazon ECS タスクから送信される、この `DiscoveryName` へのインバウンドトラフィックのみを測定します。これには、クライアントのみ、またはクライアントとサーバーの Service Connect 設定を使用したサービスによって実行されるタスクが含まれます。 実行中のコンテナ内の特定のポートには、複数の検出名を指定できることに注意してください。  | 