メインコンテンツまでスキップ

Container Insights on EKS

始める前に

このセクションの環境を準備してください:

~$prepare-environment observability/container-insights

これにより、ラボ環境に以下の変更が適用されます:

  • OpenTelemetry オペレーターをインストールします
  • ADOT コレクターが CloudWatch にアクセスするための IAM ロールを作成します

これらの変更を適用する Terraform はこちらで確認できます。

このラボでは、CloudWatch Container Insights を有効にして使用し、コンテナ化されたアプリケーションとマイクロサービスからメトリクスとログを収集、集約、要約する方法を見ていきます。Container Insights は Amazon Elastic Container Service(Amazon ECS)、Amazon Elastic Kubernetes Service(Amazon EKS)、および Amazon EC2 上の Kubernetes プラットフォームで利用できます。Amazon ECS のサポートには Fargate のサポートも含まれています。

メトリクスには CPU、メモリ、ディスク、ネットワークなどのリソースの使用率が含まれます。Container Insights は、コンテナの再起動失敗などの診断情報も提供し、問題を迅速に特定して解決するのに役立ちます。また、Container Insights が収集するメトリクスに CloudWatch アラームを設定することもできます。

Container Insights が収集するメトリクスは CloudWatch の自動ダッシュボードで確認できます。CloudWatch Logs Insights を使用してコンテナのパフォーマンスとログデータを分析およびトラブルシューティングできます。

運用データは、パフォーマンスログイベントとして収集されます。これらのエントリは構造化された JSON スキーマを使用し、高カーディナリティデータの大規模な取り込みと保存を可能にします。このデータから、CloudWatch はクラスター、ノード、ポッド、タスク、サービスレベルの集計メトリクスを CloudWatch メトリクスとして作成します。

AWS Distro for OpenTelemetry コレクターを使用して Amazon EKS クラスターからメトリクスを収集するように Container Insights を設定します。