AWS Fargate で Amazon Elastic Container Service (Amazon ECS) タスクの CPU 使用率が高くなる原因を把握したいです。
解決策
ECS サービスで Fargate タスクの CPU 使用率が高い場合のトラブルシューティング
タスクのサービスレベルでの CPU 使用率を確認するには、Amazon ECS メトリクスを参照します。Fargate 起動タイプを使用している場合は、Amazon CloudWatch でサービスの CPUUtilization メトリクスを参照します。詳細については、「使用可能なメトリクスを確認する」を参照してください。
次に、Amazon ECS サービスで進行中のデプロイを確認します。サービス内に進行中のデプロイが存在する場合は、Amazon ECS がそのデプロイを完了するまで待機してください。
進行中のデプロイがない場合は、アプリケーションログを参照し、CPU を大量に消費する操作を実行するタスクがないか確認してください。CPU を大量に消費する操作は、Fargate タスクにデプロイされているアプリケーションによって異なります。
注: ロギングドライバーにより、ログを受信する宛先を判断します。awslogs ドライバーは、ログを CloudWatch にエクスポートします。
Application Load Balancer の CloudWatch メトリクスで RequestCount メトリクスを参照し、Amazon ECS サービスに対する受信トラフィックの増加を監視します。タスクのリクエスト量が増加している場合は、Application Auto Scaling を使用してサービスで実行する必要があるタスクの数を増やします。
スタンドアロン Fargate タスクの CPU 使用率が高い場合のトラブルシューティング
パフォーマンスログを参考にタスクレベルのメトリクスを確認するには、Amazon ECS で Container Insights を有効にします。
アプリケーションのコンテナが CPU 負荷の高いワークロードを実行する必要がある場合は、タスク定義では、CPU および メモリ値の高いタスクサイズを選択してください。有効な CPU とメモリの組み合わせを選択したことを確認してください。有効な CPU とメモリの組み合わせのリストについては、「手順」のステップ 7 に記載した表を参照してください。
関連情報
AWS Fargate の料金