Amazon CloudWatch は、DevOps エンジニア、開発者、サイト信頼性エンジニア (SRE)、および IT マネージャーのために構築されたモニタリング/オブザーバビリティサービスです。CloudWatch では、アプリケーションを監視し、システム全体におけるパフォーマンスの変化に対応して、リソース使用率の最適化を行い、運用上の健全性を統括的に把握するためのデータと実用的なインサイトが提供されます。CloudWatch は、ログ、メトリクス、およびイベントという形式でモニタリングデータと運用データを収集し、AWS とオンプレミスのサーバーで実行される AWS のリソース、アプリケーション、およびサービスの統合されたビューをユーザーに提供します。CloudWatch を使用して、環境内における異常動作の検知、アラームの設定、ログとメトリクスを並行させた視覚化、自動化されたアクションの実行、問題のトラブルシューティング、およびインサイトの検出を行い、アプリケーションの
スムーズな実行を維持することができます。
メリット
アプリケーションとインフラストラクチャ全体に対する単一プラットフォームでのオブザーバビリティ
マイクロサービスアーキテクチャで実行されるものなどの近代的なアプリケーションは、メトリクス、ログ、およびイベントといった形式で大量のデータを生成します。Amazon CloudWatch では、単一のプラットフォームで AWS とオンプレミスのサーバーで実行されるすべての AWS のリソース、アプリケーション、およびサービスデータの全体からデータを収集してそれらにアクセスし、関連付けることができることから、データサイロを分析するために役立ち、システム全体の可視性を確保して、問題をすばやく解決することが可能になります。
AWS およびオンプレミスでメトリクスを収集するための最も簡単な方法
CloudWatch を使用することにより、AWS のリソースとアプリケーションのモニタリングが簡単になります。Amazon EC2、Amazon DynamoDB、Amazon S3、Amazon ECS、Amazon EKS、および AWS Lambda などの 70 を超える AWS のサービスとネイティブに統合される CloudWatch は、詳細な 1 分間のメトリクス、および最大 1 秒に細分化されたカスタムメトリクスを自動的にパブリッシュするため、追加のコンテキストについてログをさらに詳しく調べることができるようになります。CloudWatch は、オンプレミスリソースの監視に CloudWatch エージェントまたは API を使用することによって、ハイブリッドクラウドアーキテクチャ内で使用することもできます。
運用パフォーマンスとリソース最適化の向上
Amazon CloudWatch では、事前定義されたしきい値、またはメトリクス内の異常動作を識別する機械学習アルゴリズムのいずれかに基づいてアラームを設定し、アクションを自動化することができます。たとえば、超過料金を削減するために、Amazon EC2 Auto Scaling を自動で開始したり、インスタンスを停止したりすることが可能です。サーバーレスのために CloudWatch Events を使用して、AWS Lambda、Amazon SNS、および AWS CloudFormation などのサービスでワークフローをトリガーすることもできます。
運用可視性とインサイトの取得
パフォーマンスとリソース使用率を最適化するには、統合された運用ビュー、リアルタイムの詳細データ、および履歴的参照が必要です。CloudWatch は、自動ダッシュボード、1 秒に細分化されたデータ、および最大 15 か月のメトリクスのストレージと保持を提供します。データで Metric Math を実行して運用および使用に関するインサイトを得ることも可能で、たとえば、EC2 インスタンスのフリート全体の使用率を集計することができます。
ログからの実用的なインサイトの獲得
CloudWatch では、運用上の問題を簡単にトラブルシュートできるように、ログを調査、分析、および視覚化することが可能です。CloudWatch Logs Insights では、実行するクエリだけに料金を支払います。CloudWatch Logs Insights はログのボリュームとクエリの複雑性に合わせてスケールされるため、数秒で回答が提供されます。これに加えて、完全な運用可視性のために、CloudWatch ダッシュボードを使ってログベースのメトリクスをパブリッシュし、アラームを作成して、ログとメトリクスを相互に関連付けることができます。
仕組み
CloudWatch は、AWS とオンプレミスで実行される AWS のリソース、アプリケーション、およびサービスを統括的に把握することができるように、ログ、メトリクス、およびイベントという形式でモニタリングデータと運用データを収集し、それらを自動化されたダッシュボードを使って可視化します。メトリクスとログは、リソースの健全性とパフォーマンスをより良く理解するために関連付けることができます。ユーザーが指定するメトリック値のしきい値に基づいたアラーム、または機械学習アルゴリズムに基づいて異常なメトリック動作を監視するアラームを作成することも可能です。迅速に措置を講じるには、アラームがトリガーされた場合に通知を受け、Auto Scaling などを自動的に開始する自動化されたアクションをセットアップできるため、平均解決時間の短縮に役立ちます。また、メトリクス、ログ、およびトレースを詳しく調べて分析し、アプリケーションパフォーマンスを向上させる方法をより良く理解することも可能です。

ユースケース
インフラストラクチャのモニタリングとトラブルシューティング
重要なメトリクスとログの監視、アプリケーションとインフラストラクチャスタックの可視化、アラームの作成、およびメトリクスとログの関連付けを行って、AWS のリソースにおけるパフォーマンス問題の根本的な原因を理解し、解決します。これには、Amazon ECS、AWS Fargate、Amazon EKS、および Kubernetes 全体のコンテナエコシステムの監視が含まれます。
平均解決時間の改善
CloudWatch は、メトリクスとログを関連付け、可視化し、分析するために役立つことから、問題を解決するためにすばやく行動し、エンドツーエンドのオブザーバビリティのためにそれらを AWS X-Ray からのトレースデータと組み合わせることができます。ユーザーリクエストを分析して、トラブルシューティングとデバッグの迅速化と、全体的な平均解決時間 (MTTR) の短縮に役立てることもできます。
プロアクティブなリソースの最適化
CloudWatch アラームは、ユーザーが指定するしきい値、または CloudWatch が異常動作を検知するために機械学習モデルを使用して作成するしきい値に照らしてメトリック値を監視します。CloudWatch は、アラームがトリガーされると、Amazon EC2 Auto Scaling を有効化したり、インスタンスを停止したりするなどのアクションを自動で実行できるため、キャパシティーおよびリソース計画の自動化が可能になります。
アプリケーションのモニタリング
AWS (Amazon EC2、コンテナ、およびサーバーレス) またはオンプレミスで実行されるアプリケーションを監視します。CloudWatch は、メトリクスやログなど、パフォーマンススタックの全レイヤーのデータを自動ダッシュボードで収集します。
ログ分析
運用上の問題に対処し、アプリケーションパフォーマンスを向上させるために、ログを調査、分析、および可視化します。迅速かつ効率的に運用上の問題に対応できるようにするクエリを実行することが可能です。問題が発生した場合は、専用のクエリ言語を使ってただちにクエリを開始して、潜在的な原因をすばやく特定することができます。
「CloudPassage では、マイクロサービスベースのアーキテクチャを使用しています。Amazon CloudWatch にはインフラストラクチャのセットアップやメンテナンスが必要ないため、即座に使用できるソリューションでした。CloudWatch は問題なく当社の規模に対応し、複数のツールを統合して管理する運用上の負担を取り除いてくれました。CloudPassage にとって最も重要なメリットは、MTTR (平均修復時間) の短縮です。当社の DevOps チームは、コンテナインフラストラクチャ全体で問題をすばやく発見することができます。」
- CloudPassage社共同創設者兼エンジニアリング担当副社長、Vitaliy Geraymovych 氏
お客様
お客様は、Amazon CloudWatch を使って運用パフォーマンスを向上させ、リソースの割り当てを最適化して、MTTR を短縮しておられます。組織がどのように Amazon CloudWatch を使用しているかに関する詳細については、AWS のお客様ページをご覧ください。

Mapbox は、複数のデータソースを取り込み、重要なワークロードを監視するために Amazon CloudWatch を使用しています。

Pushpay は、ログをクエリし、運用上の複雑性を低減させるために Amazon CloudWatch Logs Insights を使用しています。

Rackspace は、仮想マシンを監視するために Amazon CloudWatch Agent を使用しています。

SendGrid は、独自に管理するスタック、またはサードパーティーベンダーを必要とすることなく、Amazon CloudWatch をネイティブに使用しています。

CloudPassage は、マイクロサービスベースのアーキテクチャのために Amazon CloudWatch を使用して、平均修復時間を短縮しています。

ConnectWise は、コンテナ、レイテンシー、ウェブサーバーリクエスト、および受信するロードバランサーリクエストを監視するために Amazon CloudWatch を使用しています。
最新のブログ記事
Helen Lin
2018 年 10 月 15 日
Building an Amazon CloudWatch dashboard outside of the AWS Management Console
Stephen McCurry
2018 年 10 月 2 日
Amazon CloudWatch Events を使用したサーバーレスパイプラインの構築
Forrest Brazeal
2019 年 5 月 2 日
AWS の使用を開始する
Amazon CloudWatch の詳細