Amazon EKS でのオブザーバビリティ - Amazon EKS

Amazon EKS でのオブザーバビリティ

Amazon EKS では、利用可能な多くのモニタリングツールまたはログ記録ツールを使用して、データを観測できます。Amazon EKS ログデータを AWS のサービス またはパートナーツールにストリーミングしてデータ分析することができます。Amazon EKS の問題をトラブルシューティングするためのデータを提供する多くのサービスが、AWS Management Console で利用可能です。

Amazon EKS コンソールの左側のナビゲーションペインで [クラスター] を選択後、お客様のクラスターの名前を選択すると、クラスターの健全性と詳細を表示できます。クラスタにデプロイされている既存の Kubernetes リソースの詳細を表示するには、「Kubernetes リソースを表示する」を参照してください。

モニタリングは、Amazon EKS と AWS ソリューションの信頼性、可用性、パフォーマンスを維持する上で重要なパートです。モニタリングのデータを AWS ソリューションのすべての部分から収集することをお勧めします。これにより、マルチポイント障害が発生した場合は、その障害をより簡単にデバッグできます。Amazon EKS のモニタリングを開始する前に、モニタリング計画が以下の質問に対処していることを確認してください。

  • 目標は何ですか。クラスターが劇的に拡大する場合、リアルタイムの通知が必要ですか。

  • どのリソースを観測する必要がありますか。

  • これらのリソースをどのくらいの頻度で観測する必要がありますか。あなたの会社はリスクに迅速に対応したいですか。

  • どのツールを使用する予定ですか。起動の一環として既に AWS Fargate を実行している場合は、組み込みログルーターを使用できます。

  • 誰がモニタリングタスクを実行する予定ですか。

  • 何か問題が発生したときに通知を誰に送信したいですか。

Amazon EKS でのログ記録とモニタリング

Amazon EKS には、ログ記録とモニタリング用の組み込みツールが用意されています。コントロールプレーンのログ記録は、クラスターへのすべての API 呼び出し、クラスターに対してどのユーザーがどのアクションを実行したかをキャプチャする監査情報、およびロールベースの情報を記録します。詳細については、AWS 規範的ガイダンスの「Amazon EKS でのロギングとモニタリング」を参照してください。

Amazon EKS コントロールプレーンのログ記録により、アカウント内で Amazon EKS コントロールプレーンから CloudWatch Logs に対し、監査および診断ログを直接送れるようになります。これらのログを使用すると、クラスターの保護と実行が容易になります。必要なログタイプを正確に選択することで、CloudWatch 内で各 Amazon EKS クラスターのためのグループに対し、ログストリームの形態でログを送信できます。詳細については、「Amazon EKS コントロールプレーンのログ記録」を参照してください。

注記

Amazon CloudWatch で Amazon EKS の認証ログをチェックすると、次のサンプルテキストのようなテキストを含むエントリが表示されます。

level=info msg="mapping IAM role" groups="[]" role="arn:aws:iam::111122223333:role/XXXXXXXXXXXXXXXXXX-NodeManagerRole-XXXXXXXX" username="eks:node-manager"

このテキストを含むエントリが必要です。username は、マネージド型ノードグループと Fargate の特定のオペレーションを実行する、Amazon EKS の内部サービスロールです。

低レベルでカスタマイズ可能なログ記録には、Kubernetes ログ記録 が利用可能です。

Amazon EKS は、AWS CloudTrail と統合されています。このサービスにより、Amazon EKS のユーザー、ロールまたは AWS のサービスによって実行されたアクションを記録します。CloudTrail は、Amazon EKS へのすべての API コールをイベントとしてキャプチャします。キャプチャされた呼び出しには、Amazon EKS コンソールからの呼び出しと、Amazon EKS API オペレーションへのコード呼び出しが含まれます。詳細については、「AWS CloudTrail を使用した Amazon EKS API コールのログ記録」を参照してください。

Kubernetes API サーバーは、モニタリングと分析に役立つ多数のメトリクスを公開します。詳細については、「Prometheus のメトリクス」を参照してください。

Fluent Bit をカスタムの Amazon CloudWatch ログに設定するには、「Amazon CloudWatch ユーザーガイド」の「Fluent Bit のセットアップ」を参照してください。

Amazon EKS のログ記録とモニタリングのツール

Amazon Web Services では、Amazon EKS のモニタリングに使用できるさまざまなツールを提供しています。一部のツールは自動モニタリングを設定できますが、手動呼び出しが必要なツールもあります。環境および既存のツールセットで許容される範囲で、できるだけモニタリングタスクを自動化することをお勧めします。

ログ記録ツール
エリア ツール 説明 セットアップ

アプリケーション

Amazon CloudWatch Container Insights

コンテナ化されたアプリケーションとマイクロサービスから、メトリクスとログを収集、集計、要約します。

設定手順

コントロールプレーン

AWS CloudTrail

ユーザー、ロール、またはサービスによる API 呼び出しをログに記録します。

設定手順

AWS Fargate インスタンス用の複数のエリア

AWS Fargate ログルーター

AWS Fargate インスタンスの場合、ログを AWS サービスまたはパートナーツールにストリーミングします。AWS for Fluent Bit を使用します。ログは他の AWS のサービス またはパートナーツールにストリーミングできます。

設定手順

モニタリングツール
エリア ツール 説明 セットアップ

アプリケーション

CloudWatch Container Insights

CloudWatch Container Insights は、コンテナ化されたアプリケーションとマイクロサービスのメトリクスとログを収集、集約、要約します。

設定手順

アプリケーション

AWS Distro for OpenTelemetry (ADOT)

相関メトリクス、トレースデータ、メタデータを収集し、AWS モニタリングサービスまたはパートナーに送信します。これは、CloudWatch Container Insights を介して設定できます。

設定手順

アプリケーション

Amazon DevOps Guru

ノードレベルの運用パフォーマンスと可用性を検出します。

設定手順

アプリケーション

AWS X-Ray

アプリケーションに関するトレースデータを受信します。このトレースデータには、着信と送信のリクエスト、およびリクエストに関するメタデータが含まれます。Amazon EKS の場合、実装には OpenTelemetry アドオンが必要です。

設定手順

アプリケーション Amazon CloudWatch オブザーバビリティオペレータ Amazon CloudWatch オブザーバビリティオペレーターは、メトリクス、ログ、トレースデータを収集します。それらを Amazon CloudWatch と AWS X-Ray に送信します。 設定手順

コントロールプレーン

Prometheus

CloudWatch Logs で設定された取り込み、アーカイブストレージ、およびデータスキャンレートが、有効化されたコントロールプレーンログに適用されます。

設定手順