Amazon ECS のモニタリングツール - Amazon Elastic Container Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon ECS のモニタリングツール

AWS には、Amazon ECS のモニタリングに使用できるさまざまなツールが用意されています。これらのツールの一部はモニタリングを行うように設定できますが、一部のツールは手動による介入が必要です。モニタリングタスクをできるだけ自動化することをお勧めします。

自動モニタリングツール

以下の自動化されたモニタリングツールを使用して、Amazon ECS を監視し、問題が発生したときにレポートできます。

  • Amazon CloudWatch アラーム – 指定した期間にわたって 1 つのメトリクスを監視し、複数の期間にわたる特定のしきい値に対するメトリクスの値に基づいて 1 つ以上のアクションを実行します。アクションは、Amazon Simple Notification Service (Amazon SNS) トピックまたは Amazon EC2 Auto Scaling ポリシーに送信される通知です。 CloudWatch alarms は、単に特定の状態にあるというだけではアクションを呼び出しません。状態が変わり、指定された期間にわたって持続している必要があります。詳細については、「を使用して Amazon ECS をモニタリングする CloudWatch 」を参照してください。

    Fargate 起動タイプを使用するタスクがあるサービスの場合、 CloudWatch アラームを使用して、CPU やメモリの使用率などの CloudWatch メトリクスに基づいてサービスのタスクをスケールインおよびスケールアウトできます。詳細については、「Amazon ECS サービスを自動的にスケーリングする」を参照してください。

    EC2 起動タイプを使用するタスクまたはサービスがあるクラスターの場合、 CloudWatch アラームを使用して、クラスターメモリ予約などの CloudWatch メトリクスに基づいてコンテナインスタンスをスケールインおよびスケールアウトできます。

    Amazon ECS に最適化された Amazon Linux AMI で起動されたコンテナインスタンスでは、 CloudWatch Logs を使用してコンテナインスタンスからのさまざまなログを 1 か所で便利に表示できます。コンテナインスタンスに CloudWatch エージェントをインストールする必要があります。詳細については、「Amazon ユーザーガイド」の「コマンドラインを使用して CloudWatch エージェントをダウンロードして設定する」を参照してください。 CloudWatch また、ecsInstanceRole ロールに ECS-CloudWatchLogs ポリシーを追加する必要があります。詳細については、「コンテナインスタンスのモニタリングに必要なアクセス許可」を参照してください。

  • Amazon CloudWatch Logs – タスク定義で awslogsログドライバーを指定して、Amazon ECS タスクのコンテナのログファイルを監視、保存、およびアクセスします。詳細については、「awslogs ログドライバーを使用する」を参照してください。

    Amazon ECS コンテナインスタンスからのオペレーティングシステムおよび Amazon ECS コンテナエージェントのログファイルをモニタリング、保存、アクセスすることもできます。この方法を使用したログへのアクセスは、EC2 起動タイプを使用するコンテナの場合で使うことができます。

  • Amazon CloudWatch Events – イベントをマッチングし、1 つ以上のターゲット関数またはストリームにルーティングして、変更を加え、状態情報を取得し、是正措置を取ります。詳細については、このガイドを使用して Amazon ECS エラーへのレスポンスを自動化する EventBridgeの「」および「Amazon CloudWatch Events ユーザーガイド」の「Amazon Events とは」を参照してください。 CloudWatch

  • Container Insights – コンテナ化されたアプリケーションとマイクロサービスからメトリクスとログを収集、集計、要約します。Container Insights は、埋め込みメトリクス形式を使用して、パフォーマンスログイベントとしてデータを収集します。これらのパフォーマンスログイベントは、高カーディナリティデータを大規模に取り込み、保存できる構造化された JSON スキーマを使用するエントリです。このデータから、 はクラスター、タスク、サービスレベルでメトリクスとして集約された CloudWatch メトリクス CloudWatch を作成します。Container Insights が収集するメトリクスは、 CloudWatch 自動ダッシュボードで利用でき、コンソールの CloudWatch Metrics セクションにも表示されます。

  • AWS CloudTrail ログモニタリング – アカウント間でログファイルを共有し、 CloudWatch Logs に送信してリアルタイムで CloudTrail ログファイルをモニタリングし、Java でログ処理アプリケーションを記述して、 による配信後にログファイルが変更されていないことを確認します CloudTrail。詳細については、このガイドを使用した Amazon ECS API コールのログ記録 AWS CloudTrailの「」および AWS CloudTrail ユーザーガイドの CloudTrail「ログファイルの操作」を参照してください。

  • Runtime Monitoring – 環境内のクラスターとコンテナの脅威を検出します AWS 。Runtime Monitoring は、ファイルアクセス、プロセス実行、ネットワーク接続など、個々の Amazon ECS ワークロードをランタイムで可視化する GuardDuty セキュリティエージェントを使用します。

手動モニタリングツール

Amazon ECS のモニタリングでもう 1 つ重要な点は、 CloudWatch アラームの対象外の項目を手動でモニタリングすることです。 CloudWatch Trusted Advisor、、およびその他の AWS コンソールダッシュボードには、 AWS 環境の状態 at-a-glance が表示されます。コンテナインスタンスおよびタスクのコンテナのログファイルも確認することをお勧めします。

  • Amazon ECS コンソール:

    • EC2 起動タイプのクラスターメトリクス

    • サービスメトリクス

    • サービスのヘルスステータス

    • サービスデプロイイベント

  • CloudWatch ホームページ:

    • 現在のアラームとステータス

    • アラームとリソースのグラフ

    • サービスのヘルスステータス

    さらに、 CloudWatch を使用して次の操作を実行できます。

    • 重要なサービスをモニタリングするためにカスタマイズされたダッシュボードを作成する。

    • メトリクスデータをグラフ化して、問題のトラブルシューティングを行い、傾向を確認する。

    • すべての AWS リソースメトリクスを検索して参照します。

    • 問題があることを通知するアラームを作成および編集する。

  • コンテナのヘルスチェック - コンテナ上でローカルに実行され、アプリケーションのヘルスと可用性を検証するコマンドです。これらは、タスク定義でコンテナごとに設定します。

  • AWS Trusted Advisor は、パフォーマンス、信頼性、セキュリティ、費用対効果を向上させるために AWS リソースをモニタリングするのに役立ちます。すべてのユーザーは 4 つの Trusted Advisor チェックを利用できます。ビジネスまたはエンタープライズサポートプランのユーザーは 50 を超えるチェックを利用できます。詳細については、「AWS Trusted Advisor」を参照してください。

    Trusted Advisor には、Amazon ECS に関連する以下のチェックがあります。

    • 単一のアベイラビリティーゾーンでサービスが実行されていることを示す耐障害性。

    • 複数のアベイラビリティーゾーンにスプレッドプレイスメント戦略を使用していないことを示す耐障害性。

  • AWS Compute Optimizer は、 AWS リソースの設定と使用率のメトリクスを分析するサービスです。Compute Optimizer は、リソースが最適かどうかを報告し、最適化に関するレコメンデーションを生成してコストを削減およびワークロードのパフォーマンスを改善します。

    詳細については、「AWS Compute Optimizer Amazon ECS の推奨事項」を参照してください。