収集

ログを容易に収集および保存

Amazon CloudWatch Logs サービスを使用すると、リソース、アプリケーション、サービスのログをほぼリアルタイムで収集し、保存できます。ログには主なカテゴリが 3 つあります。

1 つ目は、Vended Logs です。これは、お客様に代わって AWS のサービスがネイティブに発行するログです。現在、Amazon VPC フローログと Amazon Route 53 ログの 2 種類に対応しています。

2 つ目は、AWS のサービスによって公開されたログです。現在、30 種類以上の AWS のサービスが CloudWatch にログを発行しています。Amazon API Gateway、AWS Lambda、AWS CloudTrail など、多くのサービスが対象となっています。

3 つ目は、カスタムログです。これらは、ユーザー独自のアプリケーションやオンプレミスのリソースから取得されるログです。

AWS Systems Manager を使用して CloudWatch エージェントをインストールするか、PutLogData API アクションを使用することで、ログを簡単に発行できます。

インフラストラクチャとアプリケーションのメトリクスを収集して集約する

Amazon CloudWatch を使用すると、Amazon Elastic Compute Cloud (Amazon EC2)、Amazon DynamoDB、Amazon Simple Storage Service (Amazon S3)、Amazon ECS、AWS Lambda、Amazon API Gateway など、70 種類を超える AWS のサービスからインフラストラクチャメトリクスを収集できます。 お客様による作業は必要ありません。例えば、Amazon EC2 インスタンスでは、CPU 使用率、データ転送、ディスクの使用状況に関するメトリクスが自動的に発行されるため、状態の変化を把握する上で役立ちます。API Gateway 向けに組み込まれているトリクスを使用して、レイテンシーを検出することが可能です。または、AWS Lambda 向けに組み込まれているメトリクスを使用して、エラーやスロットルを検出することが可能です。同様に、Amazon CloudWatch を使用すると、ユーザー独自のアプリケーションからアプリケーションメトリクス (ユーザーアクティビティ、エラーメトリクス、使用メモリなど) を収集できるため、運用パフォーマンスのモニタリング、問題のトラブルシューティング、傾向の把握が可能です。CloudWatch エージェントまたは PutMetricData API サービス呼び出しを使用することで、これらのメトリクスを CloudWatch に発行できます。例えばデフォルトのインフラストラクチャメトリクスよりも詳細なメトリクスが必要な場合 (シャードレベルの Amazon Kinesis Data Streams メトリクスなど)、リソースごとに簡単に選択できます。同様に、アプリケーションメトリクスは、最大 1 秒の頻度で利用可能であり、統計、グラフ、および高解像度のアラームで使用できます。

コンテナのメトリクスとログを収集、集約する

Container Insights によって、選別されたメトリクスとコンテナエコシステムログの収集と集約が簡素化されます。CPU、メモリ、ネットワーク、ディスク情報などのコンピューティングパフォーマンスメトリクスを各コンテナからパフォーマンスイベントとして収集し、モニタリングとアラームに使用するカスタムメトリクスを自動的に生成します。パフォーマンスイベントは、モニタリングとトラブルシューティングの簡素化のため、Amazon EC2 インスタンス ID、サービス、Amazon Elastic Block Store (Amazon EBS) ボリュームのマウントや ID の実行環境に関するメタデータとともに CloudWatch Logs として取り込まれます。このように取り込まれたログから CloudWatch カスタムメトリクスが自動的に抽出されます。こうしたメトリクスは CloudWatch Logs Insights の高度なクエリ言語を使用してさらに分析できます。Container Insights には、アプリケーションログ (stdout/stderr)、カスタムログ、事前定義された Amazon EC2 インスタンスログ、Amazon EKS/k8s データプレーンログ、Amazon EKS コントロールプレーンログを収集するオプションも用意されています。Amazon EKS および k8s クラスターでは、事前設定済みの FluentD エージェントを使用してログを収集することができます。詳細はContainer Insights ログのセットアップに関するドキュメントをご覧ください。Amazon ECS では、Amazon CloudWatch Logs ログドライバー または Fluent Bit を使用してアプリケーションログを収集することができます。

Lambda のメトリクスとログを収集、集約する

CloudWatch Lambda Insights は AWS Lambda 関数からの選別されたメトリクスとログの収集と集約を簡素化します。CPU、メモリ、ネットワークなどのコンピューティングパフォーマンスメトリクスを各 Lambda 関数からパフォーマンスイベントとして収集し、モニタリングとアラームに使うカスタムメトリクスを自動的に生成します。パフォーマンスイベントは CloudWatch のログとして取り込まれ、モニタリングとトラブルシューティングを簡素化します。このように取り込まれたログから CloudWatch カスタムメトリクスが自動的に抽出されます。こうしたメトリクスは CloudWatch Logs Insights の高度なクエリ言語を使用してさらに分析できます。詳細については、Lambda Insights 使用開始についてのドキュメントをご参照ください。

ストリームメトリクス

Amazon CloudWatch Metric Streams により、任意の送信先に対する、継続的でほぼリアルタイムなメトリクスのストリーミングを作成できます。これは、CloudWatch メトリクスの送信をより簡素化します。このメトリクスは、Amazon Kinesis Data Firehose の HTTP エンドポイントを使用している一般的なサードパーティーサービスプロバイダーに送信されます、最新の CloudWatch メトリクスデータを含む、継続的でスケーラブルなストリームを作成できます。このストリームにより、ダッシュボードやアラーム、その他のツールで、正確かつタイムリーなメトリクスデータが活用できるようになります。Amazon S3 などの、AWS 上でのデータレイクへのメトリクスの転送も簡単です。例えば Amazon Athena のようなツールを使用すれば、利用率やパフォーマンスの分析を開始できます。

モニタリング

ダッシュボードを使用した運用状態の統一的な確認

Amazon CloudWatch ダッシュボードでは、再利用可能なグラフを作成することや、クラウドリソースとアプリケーションを統合的な視点で可視化することができます。単一のダッシュボードでメトリクスとログデータを並べてグラフ化することで、すばやく状況を把握し、問題を診断して根本的な原因を理解できます。例えば、CPU 使用率やメモリなどの主要なメトリクスを可視化して、キャパシティーと比較することができます。また、特定のメトリクスに関するログパターンの関連性を示すことや、アラームを設定してパフォーマンスの問題や運用上の問題についてアラートを受け取ることも可能です。この機能により、システム全体のオペレーションの状態を確認し、問題のトラブルシューティングを迅速に実施できるため、MTTR の短縮が可能になります。

複合アラーム

Amazon CloudWatch の複合アラーム機能では、複数のアラームを組合せてアラームのノイズを低減することができます。問題がアプリケーション内にある複数のリソースに影響する場合でも、影響を受けるリソースごとに 1 つではなく、アプリケーション全体に対して 1 つのアラーム通知を受信します。これにより、運用上の問題における根本原因を見つけることに集中して、アプリケーションのダウンタイムを削減できます。アプリケーション、AWS リージョン、アベイラビリティーゾーンなど、各リソースのグループに関する全体的な状態を提供できます。

高分解能アラーム

Amazon CloudWatch のアラームを使用すると、メトリクスにしきい値を設定してアクションをトリガーできます。高分解能アラームを作成して、統計としてパーセンタイル値を設定し、必要に応じてアクションを指定または無視できます。例えば、Amazon EC2 メトリクスにアラームを作成し、通知を設定して、未使用のインスタンスや使用率が低いインスタンスを検出してシャットダウンするためのアクションを 1 つまたは複数設定できます。メトリクスやイベントにリアルタイムのアラームを使用すると、ダウンタイムを最小化し、ビジネスに影響を及ぼす可能性を最低限に抑えることができます。

ログとメトリクスの関連付け

アプリケーションおよびインフラストラクチャのリソースでは、大量のオペレーションデータとモニタリングデータがログとメトリクスの形式で生成されます。Amazon CloudWatch では、単一のプラットフォームでこれらのデータセットにアクセスして可視化できることに加え、それらを簡単に関連付けることもできます。これにより、問題を迅速に診断し、根本的な原因を把握することが可能になります。例えば、エラーと特定のメトリクスなどのログパターンを関連付けることで、パフォーマンスの問題とオペレーションの問題に関してアラームを受け取るよう設定できます。

アプリケーションインサイト

Amazon CloudWatch Application Insights は、エンタープライズアプリケーションのオブザーバビリティを自動で設定し、アプリケーションの状態を可視化することができます。稼働状況の可視化は、主要メトリクスを特定および設定したり、アプリケーションリソースおよびテクノロジースタック (データベース、ウェブ (IIS)、アプリケーションサーバー、オペレーティングシステム、ロードバランサー、キューなど) 全体でログを作成したりするのに役立ちます。この製品は異常やエラーを検出および関連付けしたり、アプリケーションで発生しているすべての問題を通知したりするためにこれらのテレメトリデータを継続的にモニタリングします。トラブルシューティングの円滑化を図るため、検出された問題と相関するメトリクスの異常やログのエラーを示す自動化されたダッシュボードとともに、潜在的な根本原因を示唆する追加的な詳細情報を作成します。これにより、自分のアプリケーションが正常に稼動し、エンドユーザーが影響を受けないように迅速な対応を取れるようになります。

コンテナモニタリングインサイト

Container Insights は CloudWatch コンソール内に自動のダッシュボードを備えています。このダッシュボードは、コンピューティングパフォーマンス、エラー、アラームをクラスター、ポッド/タスク、サービスごとに要約します。このダッシュボードは、Amazon EKS および k8s でノード/EC2 インスタンスや名前空間に使用することもできます。各ダッシュボードは、選択した時間枠で実行中のポッド/タスクまたはコンテナのリストを CPU およびメモリ別に要約します。時間枠と選択したポッド/タスクまたはコンテナに基づいて、アプリケーションログ、AWS X-Ray トレース、パフォーマンスイベントを状況に応じて詳しく調べることができます。

Lambda モニタリングインサイト

Lambda Insights は CloudWatch コンソール内に自動のダッシュボードを備えています。これらのダッシュボードは、コンピューティングのパフォーマンスとエラーをまとめたものです。各ダッシュボードには選択した時間枠のメトリクスリストが含まれており、時間枠と選択した機能に基づいて、アプリケーションログ、AWS X-Ray トレース、パフォーマンスイベントを状況に応じて詳しく調べることができます。

異常検出

Amazon CloudWatch 異常検出は、機械学習 (ML) アルゴリズムを適用して、メトリクスのデータを継続的に分析し、異常な動作を特定します。時刻、曜日の季節性、変化する傾向などの自然なメトリクスパターンに基づいて、しきい値を自動調整するアラームを作成できます。ダッシュボード上の異常検出バンドを使用してメトリクスを視覚化することもできます。これにより、メトリクスの予期しない変更をモニタリング、分離、トラブルシューティングできます。

ServiceLens

Amazon CloudWatch ServiceLens で、アプリケーションの正常性、パフォーマンス、可用性を 1 か所で視覚化および分析できるようになります。CloudWatch ServiceLens は、CloudWatch メトリクスとログ、AWS X-Ray からのトレースを結び付けるため、アプリケーションとその依存関係について全体を把握できます。パフォーマンスの障害を迅速に特定し、アプリケーションの問題の根本原因を分離し、ユーザーへの影響を判断します。CloudWatch ServiceLens を使用すると、インフラストラクチャのモニタリング (メトリクスとログを使ってアプリケーションをサポートするリソースを理解する)、トランザクションのモニタリング (トレースを使ってリソース間の依存関係を理解する)、エンドユーザーのモニタリング (カナリーを使ってエンドポイントをモニタリングし、エンドユーザーエクスペリエンスが低下した際に通知する) の 3 つの主要分野でアプリケーションを可視化できます。CloudWatch ServiceLens は、すべてのリソースのコンテキストリンクを視覚化するサービスマップを提供します。また、直感的なインターフェイスにより、相関するモニタリングデータを深く掘り下げることができます。

Synthetics

Amazon CloudWatch Synthetics で、アプリケーションのエンドポイントのモニタリングが簡単になります。エンドポイントで 24 時間年中無休でテストを実行し、期待どおりに動作しない場合はアラートを出します。これらのテストには、可用性、レイテンシー、トランザクション、壊れているか途切れたリンク、タスクのステップごとの完了、ページロードエラー、UI アセットのロードレイテンシー、複雑なウィザードのフロー、アプリケーションでのチェックアウトフローなどをモニタリングするようにカスタマイズできます。また、CloudWatch Synthetics を、警告を発しているアプリケーションエンドポイントの分離のために使うことも可能で、インフラストラクチャの下層にある問題と照らし合わせて、MTTR を削減できます。この新機能により、アプリケーションにユーザーからのトラフィックがない状態でも、CloudWatch は canary トラフィックを収集してユーザーの操作性を検証し続けることができ、ユーザーが体験する前に問題点を発見できますCloudWatch Synthetics は、REST API、URL、ウェブコンテンツなどのモニタリングをサポートし、フィッシングやコードインジェクション、クロスサイトスクリプティングなどによる不正な変更を検証します。

RUM

Amazon CloudWatch RUM は、アプリケーションのクライアント側のパフォーマンスを可視化し、MTTR を削減します。これにより、ウェブアプリケーションのパフォーマンスに関するクライアント側のデータをほぼリアルタイムで収集して、問題を特定してデバッグすることができます。CloudWatch RUM は、CloudWatch Synthetics データを補完して、エンドユーザーエクスペリエンスの可視性を高めます。パフォーマンスの異常を視覚化し、関連するデバッグデータ (エラーメッセージ、スタックトレース、ユーザーセッションなど) を使用して、パフォーマンスの問題 (JavaScript エラー、クラッシュ、待ち時間など) を修正できます。ユーザー数、位置情報、ブラウザなど、エンドユーザーへの影響の範囲についてインサイトを得ることができます。 CloudWatch RUM は、アプリケーションを介したユーザージャーニーに関するデータを集約します。これは、起動する機能と優先するバグ修正を決定するのに役立ちます。

アクション

Auto Scaling

Auto Scaling を使用すると、キャパシティーおよびリソースの計画を自動化できます。主要なメトリクスに関するアラームにしきい値を設定して、Auto Scaling アクションを自動でトリガーできます。例えば、Auto Scaling ワークフローを設定して、CPU 使用率のメトリクスに基づいて EC2 インスタンスを追加または削除できるようにすると、リソースの費用を最適化できます。

CloudWatch Events を使用したオペレーション変更に関する応答の自動化

CloudWatch Events により、AWS リソースの変更を記述したシステムイベントをほぼリアルタイムでストリーミングできます。これにより、オペレーションの変更にすばやく応答し、修正作業を実行できます。必要な操作は、ルールを記述して、アプリケーションでの目的のイベントを指定し、イベントにルールが一致した場合に自動的に実行するアクションを指定することのみです。例えば、AWS Lambda 関数の呼び出しや Amazon Simple Notification Service (Amazon SNS) トピックの通知を実行するルールを設定できます。

EKS、ECS、k8s クラスターに関するアラームを発信しアクションを自動化する

Amazon EKS および k8s クラスターでは、Container Insights を使用すると、コンピューティングメトリクスに基づくアラームを発して Amazon EC2 Auto Scaling グループに自動スケーリングポリシーをトリガーできるほか、どの Amazon EC2 インスタンスでも停止、終了、再起動、復旧することができます。Amazon ECS クラスターでは、ユーザーのタスクとサービスから得られるコンピューティングメトリクスをサービスの Auto Scaling として使用することができます。 

分析

詳細なデータと保持期間の延長

Amazon CloudWatch では、15 か月間保存および保持できるメトリクスデータにより、動向や季節的な傾向をモニタリングできます。これにより履歴分析を実行し、リソース使用率を細かく調整できます。CloudWatch を使用すると、ヘルスメトリクスを 1 秒単位まで収集することもできます。これには、オンプレミスアプリケーションから取得したメトリクスなどのカスタムメトリクスも含まれます。詳細なリアルタイムデータにより動向を視覚的に把握してモニタリングできるため、アプリケーションのパフォーマンスとオペレーションの状態を最適化することができます。

メトリクスに対するカスタムオペレーション

Amazon CloudWatch Metric Math を使用すると、リアルタイム分析向けに複数のメトリクスを使用した計算が可能になるため、既存の CloudWatch メトリクスから簡単にインサイトを導き出し、オペレーションの状態やインフラストラクチャのパフォーマンスを詳細に把握できます。これらの計算されたメトリクスを AWS マネジメントコンソールで可視化して、CloudWatch ダッシュボードに追加するか、GetMetricData API アクションを使用してこれらのメトリクスを取得できます。Metric Math は算術演算 (+、-、/、* など) と数学関数 (合計、平均、最小、最大、標準偏差など) に対応しています。

ログ分析

Amazon CloudWatch Logs Insights を使うと、サーバーのプロビジョニングやソフトウェアの管理をする必要なしに、ログから得られる実用的なインテリジェンスでオペレーションの問題に対処できます。集計、フィルタ、および正規表現を含むクエリをすばやく記述できます。また、時系列データを視覚化し、個別のログイベントにドリルダウンして、クエリ結果を CloudWatch ダッシュボードにエクスポートすることもできます。これにより、操作を完全に視覚化することができます。AWS マネジメントコンソールで数回クリックするだけで、Logs Insights を使用して、CloudWatch に送信されたログにクエリを実行することができます。実行したクエリに対してのみ料金が発生します。

コンテナメトリクス、ログ、トレースを分析する

Container Insights はメトリクス、ログ、トレースから観察できるデータの分析を簡素化します。その方法とは、CloudWatch Logs Insights の高度なクエリ言語を使用することで、自動化したダッシュボードから詳細なパフォーマンスイベント、アプリケーションログ (stdout/stderr)、カスタムログ、定義済み Amazon EC2 インスタンスログ、Amazon EKS/k8s データプレーンログ、Amazon EKS コントロールプレーンログへのディープリンクを簡素化するというものです。

Lambda メトリクス、ログ、トレースを分析する

Lambda Insights は CloudWatch Logs Insights の高度なクエリ言語を利用して、自動ダッシュボードから詳細なパフォーマンスイベント、アプリケーションログ、カスタムログへのディープリンクを簡素化することで、メトリクス、ログ、トレースの観測可能なデータの分析を簡単にします。

Contributor Insights

Amazon CloudWatch に Contributor Insights が含まれるようになりました。このため、システムパフォーマンスに最も影響を及ぼしているコントリビューターを表示するための、時系列データの分析が行うことが可能です。Contributor Insights を一度セットアップしてしまえば、それ以降ユーザーによる操作なしに、継続的に実行することができます。これにより、デベロッパーや操作担当者は問題の分離、診断、修正を、オペレーションイベントが発生している間に素早く実行できます。Contributor Insights は、特定のリソース、顧客アカウント、API 呼び出しなど、システムやアプリケーションのパフォーマンスに誰が、または何が影響しているかを理解するのに役立ちます。このため、外れ値を特定し、最も重いトラフィックパターンを見つけ、最も使用されているシステムプロセスをランク付けできます。Contributor Insights ルールを作成すると、構造化されたログイベントのパターンを、それが CloudWatch Logs に送信される段階で評価できます。ログには、AWS CloudTrail、Amazon Virtual Private Cloud (Amazon VPC)、Amazon API Gateway など AWS のサービスからのものや、Apache アクセスログのような、ユーザーもしくはオンプレミスのサービスが送信するカスタムログが含まれます。Contributor Insights では、これらのログイベントをほぼリアルタイムで評価し、データセット内で最も影響が大きいコントリビューターとユニークなコントリビューターの数が確認できるレポートを表示します。コントリビューターとは、CloudWatch Logs でログフィールドとして保持されているディメンションを基に集約したメトリクスです。これには、VPC フローログにあるアカウント ID やインターフェース ID、もしくはでディメンションについての他の任意のカスタムセットが含まれます。コントリビューターのデータには、独自の基準に基づき並べ替えやフィルタリングが行えます。Contributor Insights からのレポートデータは、CloudWatch ダッシュボードでの表示や、CloudWatch メトリクスの横でのグラフ表示、および、CloudWatch アラームへの追加が可能です。

Metrics Insights

Amazon CloudWatch Metrics Insights は、高速で柔軟な SQL ベースのクエリエンジンであり、数百万の運用メトリクス内のトレンドとパターンをほぼリアルタイムで識別できます。Metrics Insights を使用すると、柔軟なクエリとオンザフライのメトリクス集計により、インフラストラクチャの可視性と大規模アプリケーションのパフォーマンスを向上させることができます。Metrics Insights クエリを使用すると、強力な視覚化を作成して、問題を迅速にプロアクティブにモニタリングおよび特定し、MTTR を削減できます。 

Evidently

Amazon CloudWatch Evidently は、アプリケーションデベロッパーが実験を行い、新機能を一般的な利用のためにロールアウトする前に意図しない結果を特定できるようにすることで、新機能のロールアウトに関連するリスクを軽減します。 Evidently により、リリース前にアプリケーションスタック全体で新機能を検証できるため、より安全なリリースが可能になります。新機能をリリースするときは、小規模なユーザーベースに公開し、ページのロード時間やコンバージョンなどの主要なメトリクスをモニタリングしてから、トラフィックをダイヤルアップできます。また Evidently を使用すると、さまざまな設計を試したり、ユーザーデータを収集したり、本番環境で最も効果的な設計をリリースしたりすることもできます。 

コンプライアンスとセキュリティ

Amazon CloudWatch は AWS Identity and Access Management (IAM) と統合されているため、データへのアクセスをユーザーやリソースに許可する権限と、そのアクセス方法を制御できます。

また、Amazon CloudWatch Logs は、PCI および FedRamp に準拠しています。データは保管中も転送中も暗号化されます。AWS Key Management Service (AWS KMS) 暗号化を使用してログのグループを暗号化することで、コンプライアンスとセキュリティを強化することもできます。

Amazon CloudWatch 料金の詳細

料金ページを見る
使ってみませんか?
Amazon CloudWatch の使用を開始する
ご不明な点がありますか?
お問い合わせ