Amazon CloudWatch とは
Amazon CloudWatch は、Amazon Web Services (AWS) リソースと AWS で実行されているアプリケーションをリアルタイムでモニタリングする機能を備え、アプリケーションのパフォーマンス、運用状態、リソース使用率をシステム全体で把握できるさまざまなツールが用意されています。
トピック
メトリクス、アラーム、ダッシュボードによる運用の可視性
メトリクスは、ユーザーが定義した間隔で主要なパフォーマンスデータを収集し、追跡します。多くの AWS サービスは自動的に CloudWatch にメトリクスを報告します。CloudWatch でアプリケーションからカスタムメトリクスをパブリッシュすることもできます。
ダッシュボードによりリソースやアプリケーションの表示が集約され、メトリクスとログが 1 か所にまとめて可視化されます。アカウントやリージョンを超えてダッシュボードを共有することもでき、運用に対する意識が向上します。CloudWatch は多くの AWS サービスに対応する厳選された自動ダッシュボードとして機能するため、自身で構築する必要はありません。
ユーザーが定義したしきい値に対して CloudWatch のメトリクスを継続的にモニタリングするアラームを設定できます。しきい値違反に対して自動的に警告を出すようにできる他、リソースの動きに変化があったときに自動アクションをトリガーして自動で対応させることもできます。
アプリケーションパフォーマンスモニタリング (APM)
Application Signals を使用すると、手動で計測したりコードを変更したりしなくても、レイテンシーやエラー率、リクエスト率などアプリケーションの主要なパフォーマンス指標を自動的に検出してモニタリングできます。Application Signals には最小限のセットアップでモニタリングを開始できるように、情報を厳選したダッシュボードも用意されています。
パフォーマンスのモニタリングにおいて補完的な役割を果たすのが CloudWatch Synthetics です。ユーザーの動きをシミュレートし、実ユーザーに影響が出る前に可用性の問題やパフォーマンスの低下を警告する Canary という設定可能なスクリプトを使用して、エンドポイントや API をプロアクティブにモニタリングできます。実際のユーザーセッションからパフォーマンスデータを収集する CloudWatch RUM もあります。
CloudWatch でサービスレベル目標 (SLO) を設定すれば、アプリケーションに特定の信頼性ターゲットを定義して、ターゲットの状態を追跡したりアラートを出したりできます。これによりエラーバジェットを設定して経時的な SLO の遵守状況をモニタリングし、サービス品質のコミットメントを維持するのに役立ちます。
インフラストラクチャのモニタリング
多くの AWS サービスでは、基本的なメトリクスを自動的に CloudWatch に送信する機能が無料で提供されます。メトリクスが送信されるサービスの一覧については、こちらを参照してください。CloudWatch には他にも、次のような重要な AWS インフラストラクチャのモニタリング機能があります。
Database Insights は、データベースのパフォーマンスメトリクスをリアルタイムでモニタリングし、SQL クエリのパフォーマンスを分析し、AWS のデータベース系サービスの負荷に関する問題をトラブルシューティングするのに役立つ機能です。
Lambda Insights は、メモリと CPU 使用率の追跡、コールドスタートの検出と分析など、Lambda 関数のシステムレベルのメトリクスを提供する機能です。
Container Insights は、コンテナ化されたアプリケーション、Amazon ECS クラスター、Amazon EKS クラスター、Amazon EC2 のセルフマネージド Kubernetes クラスターからメトリクスを収集して分析できる機能です。
ログの収集、保存、クエリ
CloudWatch Logs は、包括的なログ管理と分析に役立つ機能群を備えた強力なツールです。AWS サービスやカスタムアプリケーションから取り込んだログは、ロググループやストリームに保存され、整理も簡単です。CloudWatch Logs Insights では SQL や PPL などの 3 つのクエリ言語から任意の言語を選択し、高速の対話型クエリをログデータに対して実行できます。ロググループのログイベントから問題の兆候がある異常なパターンを見つけ出すには、ログ異常検出を使用します。ログから数値を抽出し、CloudWatch メトリクスを生成するメトリクスフィルターを作成して、メトリクスアラートに使用したり、ダッシュボードで使用したりできます。サブスクリプションフィルターを設定すれば、ログをリアルタイムで処理、分析できるほか、Amazon S3 や Firehose などの他のサービスにもログを送信できます。
CloudWatch エージェントを使用して Amazon EC2 Fleet からメトリクス、ログ、トレースを収集する
Amazon EC2 インスタンスやオンプレミスサーバーのフリートからプロセス、CPU、メモリ、ディスク使用量、ネットワークパフォーマンスに関する詳細なシステムメトリクスを収集するには、CloudWatch エージェントを使用します。アプリケーションからカスタムメトリクスを収集およびモニタリングしたり、複数のソースから取得したログを集計したり、収集したデータを基にアラームを設定したりすることもできます。エージェントでは GPU メトリクスも収集できます。Windows と Linux どちらのオペレーティングシステムにも対応し、Systems Manager と統合して設定管理を一元化できます。
クロスアカウントモニタリング
CloudWatch のクロスアカウントのオブザーバビリティ機能では、モニタリング用の中央アカウントを設定して複数のアカウントにまたがるアプリケーションをモニタリングし、トラブルシューティングができます。組織全体の情報源となる各アカウントのメトリクス、ログ、トレースは中央アカウントで閲覧できます。この集約的なアプローチによりクロスアカウントに対応したダッシュボードを作成して、複数のアカウントのメトリクスを監視するアラームを設定すれば、アカウントの境界を越えて根本原因の分析を実行できます。CloudWatch のクロスアカウントのオブザーバビリティ機能では、情報源となるアカウントを個別にリンクすることも、AWS Organizations を介して自動的にリンクすることもできます。
ソリューションカタログ
CloudWatch は Java 仮想マシン (JVM)、NVIDIA GPU、Apache Kafka、Apache Tomcat、NGINX など、さまざまな AWS サービスや一般的なワークロードのモニタリングを迅速に実装するのに役立つ、すぐに利用可能な設定のカタログを提供します。これらのソリューションからは、CloudWatch エージェントのインストールと設定、事前定義されたカスタムダッシュボードのデプロイ、関連するアラームの設定などに焦点を当てたガイダンスを得られます。
ネットワークとインターネットのモニタリング
CloudWatch は CloudWatch Network Monitoring でネットワークとインターネットの包括的なモニタリング機能を提供します。
Internet Monitor は AWS のグローバルなネットワークデータを利用して、アプリケーションとエンドユーザー間のインターネットパフォーマンスや可用性を分析します。インターネットモニター機能があればレイテンシーの増加や顧客に影響を及ぼすリージョンのサービス断を把握したり、通知を受け取ったりすることができます。インターネットモニターでは VPC フローログを分析して、ネットワークトラフィックのパターンやパフォーマンスに関するインサイトを自動的に生成して提供します。また、顧客に提案するためのアプリケーションのパフォーマンス最適化案を作成してもらうこともできます。
Network Flow Monitor は、インスタンスにインストールした軽量なソフトウェアエージェントが収集したネットワークのパフォーマンス情報を表示します。フローモニターを使用すると、指定した期間におけるネットワーク接続のパケット損失とレイテンシーをすばやく視覚化できます。各モニターはネットワークヘルスインジケータ (NHI) も生成します。NHI を見れば、評価期間中にモニターが追跡したネットワークフローの中に、AWS ネットワークの問題があったかどうかがわかります。
AWS Direct Connect を使用して接続する場合、Network Synthetic Monitor の合成モニターを利用して VPC とオンプレミスのエンドポイント間で合成テストを実行し、ネットワーク接続をプロアクティブにモニタリングできます。合成モニターを作成する際に、VPC サブネットとオンプレミス IP アドレスの情報を入力してプローブを指定すると、プローブを使用してラウンドトリップタイムとパケット損失を測定するのに必要なインフラストラクチャを、AWS がバックグラウンドで作成し管理します。このテストによって接続や DNS、レイテンシーの問題がアプリケーションに影響を及ぼす前に検出されるため、エンドユーザーのエクスペリエンス向上に効果的なアクションが取れます。
請求とコスト
CloudWatch の料金の完全な詳細については、「Amazon CloudWatch の料金
請求書を分析し、コストを最適化および削減するのに役立つ情報については、「CloudWatch コストを分析、最適化、削減する」を参照してください。
Amazon CloudWatch のリソース
このサービスを利用する際に役立つ関連リソースは以下の通りです。
リソース | 説明 |
---|---|
本製品に関して開発者からよく寄せられる上位の質問です。 |
|
資料、コード例、リリースノートをはじめとする、AWS ベースの革新的なアプリケーション開発に役立つさまざまな情報が収められた、中心的起点となるリソースセンターです。 |
|
コンソールでは、プログラミングを行うことなく、Amazon CloudWatch とその他の AWS のサービスのほとんどの機能を実行できます。 |
|
Amazon CloudWatch に関する技術的な質疑応答の場であるデベロッパー向けのコミュニティフォーラムです。 |
|
AWS サポート のケースを作成して管理するためのハブです。フォーラム、技術上のよくある質問、サービスヘルスステータス、AWS Trusted Advisor などの便利なリソースへのリンクも含まれています。 |
|
Amazon CloudWatch に関する情報のメインのウェブページです。 |
|
AWS の請求、アカウント設定その他に関する連絡先です。 |