収集

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

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

アクション

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 コントロールプレーンログへのディープリンクを簡素化するというものです。

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

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

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

Amazon CloudWatch 料金の詳細

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