このページの改善にご協力ください
本ユーザーガイドの改善にご協力いただけませんか? このページの下部までスクロールし、[GitHub でこのページの編集] を選択します。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。
クラスターのパフォーマンスをモニタリングし、ログを表示する
Amazon EKS では、利用可能な多くのモニタリングツールまたはログ記録ツールを使用して、データを観測できます。Amazon EKS ログデータを AWS のサービス またはパートナーツールにストリーミングしてデータ分析することができます。Amazon EKS の問題をトラブルシューティングするためのデータを提供する多くのサービスが、AWS Management Console で利用可能です。また、AWS でサポートされているオープンソースソリューションを使用して、Amazon EKS インフラストラクチャをモニタリングすることもできます。
Amazon EKS コンソールの左側のナビゲーションペインで [クラスター] を選択後、お客様のクラスターの名前を選択すると、クラスターの健全性と詳細を表示できます。クラスタにデプロイされている既存の Kubernetes リソースの詳細を表示するには、「AWS Management Console 内の 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 クラスターのためのグループに対し、ログストリームの形態でログを送信できます。詳細については、「コントロールプレーンログを CloudWatch Logs に送信する」を参照してください。
注記
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 オペレーションへのコード呼び出しが含まれます。詳細については、「API コールを AWS CloudTrail イベントとしてログ記録する」を参照してください。
Kubernetes API サーバーは、モニタリングと分析に役立つ多数のメトリクスを公開します。詳細については、「Prometheus を使用してクラスターのメトリクスをモニタリングする」を参照してください。
Fluent Bit をカスタムの Amazon CloudWatch ログに設定するには、「Amazon CloudWatch ユーザーガイド」の「Fluent Bit のセットアップ」を参照してください。
Amazon EKS のログ記録とモニタリングのツール
Amazon Web Services では、Amazon EKS のモニタリングに使用できるさまざまなツールを提供しています。一部のツールは自動モニタリングを設定できますが、手動呼び出しが必要なツールもあります。環境および既存のツールセットで許容される範囲で、できるだけモニタリングタスクを自動化することをお勧めします。
次の表に、さまざまなログ記録ツールのオプションを示します。
エリア | ツール | 説明 | セットアップ |
---|---|---|---|
アプリケーション |
コンテナ化されたアプリケーションとマイクロサービスから、メトリクスとログを収集、集計、要約します。 |
||
コントロールプレーン |
ユーザー、ロール、またはサービスによる API 呼び出しをログに記録します。 |
||
AWS Fargate インスタンス用の複数のエリア |
AWS Fargate インスタンスの場合、ログを AWS サービスまたはパートナーツールにストリーミングします。AWS for Fluent Bit |
次の表に、さまざまなモニタリングツールのオプションを示します。
エリア | ツール | 説明 | セットアップ |
---|---|---|---|
アプリケーション |
CloudWatch Container Insights は、コンテナ化されたアプリケーションとマイクロサービスのメトリクスとログを収集、集約、要約します。 |
||
アプリケーション |
相関メトリクス、トレースデータ、メタデータを収集し、AWS モニタリングサービスまたはパートナーに送信します。これは、CloudWatch Container Insights を介して設定できます。 |
||
アプリケーション |
ノードレベルの運用パフォーマンスと可用性を検出します。 |
||
アプリケーション |
アプリケーションに関するトレースデータを受信します。このトレースデータには、着信と送信のリクエスト、およびリクエストに関するメタデータが含まれます。Amazon EKS の場合、実装には OpenTelemetry アドオンが必要です。 |
||
アプリケーション |
Amazon CloudWatch オブザーバビリティオペレータ | Amazon CloudWatch オブザーバビリティオペレーターは、メトリクス、ログ、トレースデータを収集します。それらを Amazon CloudWatch と AWS X-Ray に送信します。 | 設定手順 |
アプリケーション/コントロールプレーン |
Prometheus は、アプリケーションとコントロールプレーンのメトリクスとアラートをモニタリングするために使用できます。 |