収集

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

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 を使用すると、70 種類を超える AWS のサービス (Amazon EC2、Amazon DynamoDB、Amazon S3、Amazon ECS、AWS Lambda、Amazon API Gateway など) からデフォルトのメトリクスを収集できます。ユーザーによる作業は必要ありません。例えば、EC2 インスタンスでは、CPU 使用率、データ転送、ディスクの使用状況に関するメトリクスが自動的に発行されるため、状態の変化を把握する上で役立ちます。API Gateway 向けに組み込まれている 7 つのメトリクスのいずれかを使用して、レイテンシーを検出することが可能です。または、AWS Lambda 向けに組み込まれている 8 つのメトリクスのいずれかを使用して、エラーやスロットルを検出することが可能です。デフォルトのメトリクスよりも詳細なメトリクスが必要な場合 (シャードレベルの Amazon Kinesis Data Streams メトリクスなど)、リソースごとに簡単に選択できます。

カスタムメトリクス

Amazon CloudWatch を使用すると、ユーザー独自のアプリケーションからカスタムメトリクスを収集できるため、運用パフォーマンスのモニタリング、問題のトラブルシューティング、動向の把握が可能になります。一定期間にわたって収集およびモニタリングできるカスタムメトリクスには、ユーザーアクティビティが含まれます。CloudWatch エージェントまたは PutMetricData API アクションを使用することで、これらのメトリクスを CloudWatch に発行できます。CloudWatch の機能は、最大 1 秒間隔で、統計、グラフ、アラームなど、独自のカスタムメトリクスデータにも利用可能です。

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

Container Insights によって、選別されたメトリクスとコンテナエコシステムログの収集と集約が簡素化されます。CPU、メモリ、ネットワーク、ディスク情報などのコンピューティングパフォーマンスメトリクスを各コンテナからパフォーマンスイベントとして収集し、モニタリングとアラームに使用するカスタムメトリクスを自動的に生成します。パフォーマンスイベントは、モニタリングとトラブルシューティングの簡素化のため、Amazon EC2 インスタンス ID、サービス、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 logging driver または Fluent Bit を使用してアプリケーションログを収集することができます。

モニタリング

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

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

高分解能アラーム

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

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

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

Application Insights for .NET and SQL Server アプリケーション

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

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

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

異常検出

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

ServiceLens

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

Synthetics

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

アクション

Auto Scaling

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

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

CloudWatch Events により、AWS リソースの変更を記述したシステムイベントをほぼリアルタイムでストリーミングできます。これにより、オペレーションの変更にすばやく応答し、修正作業を実行できます。必要な操作は、ルールを記述して、アプリケーションでの目的のイベントを指定し、イベントにルールが一致した場合に自動的に実行するアクションを指定することのみです。例えば、AWS Lambda 関数の呼び出しや Amazon Simple Notification Service (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 コントロールプレーンログへのディープリンクを簡素化するというものです。

Contributor Insights

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

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

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

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

Amazon CloudWatch 料金の詳細

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