Amazon CloudWatch の特徴
概要
全般
Amazon CloudWatch は、AWS、オンプレミス、ハイブリッド、他のクラウドアプリケーションとインフラストラクチャリソースに関するデータと実用的なインサイトを提供するモニタリングおよび管理サービスです。サイロ (サーバー、ネットワークやデータベース) でモニタリングするのではなく、単一のプラットフォームを使用して、ログとメトリクスの形式で生成されたすべてのパフォーマンスとオペレーションのデータを収集し、アクセスできます。CloudWatch では、スタック全体 (アプリケーション、インフラストラクチャ、ネットワーク、およびサービス) をモニタリングし、アラーム、ログ、イベントデータを利用して自動アクションを実行できるため、問題解決に要する平均時間 (MTTR) の短縮が可能になります。これによって重要なリソースが解放されるため、開発者はアプリケーションとビジネス価値の構築に集中できます。
CloudWatch から得られる実用的なインサイトは、アプリケーションパフォーマンスの最適化、リソース使用率の管理、システム全体のオペレーション状態の把握に役立ちます。CloudWatch では、メトリクスとログデータを 1 秒単位まで視覚的に確認できます。データ (メトリクス) は 15 か月間保持され、メトリクスに対して計算を実行することも可能です。また、コスト最適化を目的として履歴分析を実行することも、リアルタイムのインサイトを導き出してアプリケーションリソースとインフラストラクチャリソースの最適化に活用することもできます。 CloudWatch Container Insights を利用して、コンテナ化されたアプリケーションとマイクロサービスのモニタリング、トラブルシューティング、アラート発出を行うことができます。CloudWatch は、CPU、メモリ、ディスク、ネットワークデータなどのコンピューティング使用情報、およびコンテナの再起動エラーなどの診断情報を収集、集約、要約し、DevOps エンジニアが問題を特定して迅速に解決できるよう支援します。Container Insights を利用すると、Amazon ECS for Kubernetes (EKS)、Amazon Elastic Container Service (ECS)、AWS Fargate、およびスタンドアロン Kubernetes (k8s) などのコンテナ管理サービスからインサイトを取得できます。
収集
ログを容易に収集および保存
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 のようなツールを使用すれば、利用率やパフォーマンスの分析を開始できます。
モニタリング
複数の AWS アカウントにまたがるクロスアカウントオブザーバビリティ
Amazon CloudWatch のクロスアカウントオブザーバビリティにより、Amazon Web Services のリージョン内の複数のアカウントにまたがるアプリケーションのモニタリングとトラブルシューティングが可能になります。複数のアカウントに保存されたロググループを中央のビューから検索し、アカウントにまたがって Logs Insights のクエリを実行し、アカウント間共通の Contributor Insights ルールを作成して、ログエントリを生成するトップ N のコントリビューターを特定することができます。また、たくさんのアカウントのメトリクスを 1 つの統合ビューに可視化することや、他のアカウントのメトリクスを評価するアラームを作成して、異常や一定の傾向のある問題が通知されるようにすることもできます。Container Insights のクロスアカウントオブザーバビリティを使用すると、組織全体のコンテナ環境をモニタリングし、ユーザーエクスペリエンスに影響が及ぶ前にリスクを積極的に特定できます。CloudWatch のクロスアカウントオブザーバビリティでは、Application Signals を使用してクロスアカウントアプリケーションのインタラクティブマップを表示し、関連するメトリクス、ログ、トレースへワンクリックでドリルダウンすることが可能です。また、この機能を使用してクロスアカウントメトリクスストリームを設定し、Amazon Web Services のリージョン内にある複数の Amazon アカウントにまたがるメトリクスを 1 つの Metric Stream に含めることもできます。CloudWatch のクロスアカウントオブザーバビリティにより、データパイプラインを追加することなく、わずか数クリックで全体的な運用状況を把握できるため、インフラストラクチャとアプリケーションの管理にかかる時間、労力、コストを削減するのに役立ちます。
ダッシュボードを使用した運用状態の統一的な確認
Amazon CloudWatch ダッシュボードでは、再利用可能なグラフを作成することや、クラウドリソースとアプリケーションを統合的な視点で可視化することができます。単一のダッシュボードでメトリクスとログデータを並べてグラフ化することで、すばやく状況を把握し、問題を診断して根本的な原因を理解できます。例えば、CPU 使用率やメモリなどの主要なメトリクスを可視化して、キャパシティーと比較することができます。また、特定のメトリクスに関するログパターンの関連性を示すことや、アラームを設定してパフォーマンスの問題や運用上の問題についてアラートを受け取ることも可能です。この機能により、システム全体のオペレーションの状態を確認し、問題のトラブルシューティングを迅速に実施できるため、MTTR の短縮が可能になります。
複合アラーム
Amazon CloudWatch の複合アラーム機能では、複数のアラームを組合せてアラームのノイズを低減することができます。問題がアプリケーション内にある複数のリソースに影響する場合でも、影響を受けるリソースごとに 1 つではなく、アプリケーション全体に対して 1 つのアラーム通知を受信します。これにより、運用上の問題における根本原因を見つけることに集中して、アプリケーションのダウンタイムを削減できます。アプリケーション、AWS リージョン、アベイラビリティーゾーンなど、各リソースのグループに関する全体的な状態を提供できます。
高分解能アラーム
Amazon CloudWatch のアラームを使用すると、メトリクスにしきい値を設定してアクションをトリガーできます。高分解能アラームを作成して、統計としてパーセンタイル値を設定し、必要に応じてアクションを指定または無視できます。例えば、Amazon EC2 メトリクスにアラームを作成し、通知を設定して、未使用のインスタンスや使用率が低いインスタンスを検出してシャットダウンするためのアクションを 1 つまたは複数設定できます。メトリクスやイベントにリアルタイムのアラームを使用すると、ダウンタイムを最小化し、ビジネスに影響を及ぼす可能性を最低限に抑えることができます。
ログとメトリクスの関連付け
アプリケーションおよびインフラストラクチャのリソースでは、大量のオペレーションデータとモニタリングデータがログとメトリクスの形式で生成されます。Amazon CloudWatch では、単一のプラットフォームでこれらのデータセットにアクセスして可視化できることに加え、それらを簡単に関連付けることもできます。これにより、問題を迅速に診断し、根本的な原因を把握することが可能になります。例えば、エラーと特定のメトリクスなどのログパターンを関連付けることで、パフォーマンスの問題とオペレーションの問題に関してアラームを受け取るよう設定できます。
アプリケーションインサイト
Amazon CloudWatch Application Insights は、エンタープライズアプリケーションのオブザーバビリティを自動で設定し、アプリケーションの状態を可視化することができます。稼働状況の可視化は、主要メトリクスを特定および設定したり、アプリケーションリソースおよびテクノロジースタック (データベース、ウェブ (IIS)、アプリケーションサーバー、オペレーティングシステム、ロードバランサー、キューなど) 全体でログを作成したりするのに役立ちます。この製品は異常やエラーを検出および関連付けしたり、アプリケーションで発生しているすべての問題を通知したりするためにこれらのテレメトリデータを継続的にモニタリングします。トラブルシューティングの円滑化を図るため、検出された問題と相関するメトリクスの異常やログのエラーを示す自動化されたダッシュボードとともに、潜在的な根本原因を示唆する追加的な詳細情報を作成します。これにより、自分のアプリケーションが正常に稼動し、エンドユーザーが影響を受けないように迅速な対応を取れるようになります。
Container Insights
オブザーバビリティが拡張された Container Insights
オブザーバビリティが拡張された Container Insights が、EC2 の Amazon Elastic Kubernetes Service (Amazon EKS)、EC2 の Amazon Elastic Container Service (Amazon ECS)、Fargate の ECS で利用できるようになりました。オブザーバビリティが拡張されたことにより、コンテナレベルの ECS および EKS のパフォーマンスメトリクス、EKS Kube 状態メトリクス、EKS コントロールプレーンメトリクスなどの詳細なメトリクスがすぐに提供され、さまざまなコンテナレイヤーを視覚的にドリルダウンおよびドリルアップして、個々のコンテナにおけるメモリリークなどの問題を簡単に特定できます。Container Insights では、リソースを大量に消費しているコンテナレイヤーのリストが表示されるようになりました。これにより、アラームをまだ設定していなくても、環境内のリスクを特定し、エンドユーザーエクスペリエンスに影響が生じる前にプロアクティブな対策を講じることができます。拡張オブザーバビリティを備えた Container Insights は、簡単に利用を開始できます。EKS 用の CloudWatch Observability アドオンを使用してクラスターを自動インストルメント化するか、ECS を一度切り替えてオプトインすることで、すぐにテレメトリの取り込みを開始できます。
拡張オブザーバビリティを備えていない Container Insights
CloudWatch Container Insights は、Amazon ECS、Amazon EKS、Amazon EC2 上の Kubernetes プラットフォーム、および AWS Fargate (Amazon ECS と Amazon EKS の両方) で実行されているコンテナ化されたアプリケーションとマイクロサービスから、メトリクスとログを収集、集計、要約します。Container Insights は、CPU、メモリ、ディスク、ネットワークメトリクスなどのコンテナメトリクスをすぐに収集し、コンテナの再起動エラーなどのより詳細な診断情報を提供するため、問題を特定して迅速に解決するのに役立ちます。Container Insights は、自動ダッシュボードでコンテナのオブザーバビリティを提供し、アプリケーションの状態とパフォーマンスを簡単にモニタリングできるようにします。Container Insights メトリクスに CloudWatch アラームを設定して、アプリケーションのパフォーマンスに影響が生じる前に異常が通知されるようにすることもできます。
Internet Monitor
Internet Monitor では、インターネットの問題が AWS でホストされるアプリケーションとエンドユーザー間のパフォーマンスと可用性にどのような影響を与えるかを可視化し、これらの問題の診断にかかる時間を数日から数分にまで短縮します。様々な時間枠や地理的な粒度での測定値を調べ、問題の影響を素早く可視化し、エンドユーザーの体験を改善するための行動を取ることができます (例えば、他の AWS サービスに切り替えたり、別の AWS リージョン経由でワークロードへのトラフィックを再ルーティングするなど)問題の原因が AWS ネットワークの場合、AWS が取る問題緩和策について AWS Health Dashboard から自動的に通知が届きます。Internet Monitor では、CloudWatch のメトリクスと CloudWatch Logs に測定値を提供し、お客様のアプリケーションに固有の地域やネットワークのヘルス情報の統合を簡単にサポートします。Internet Monitor では、Amazon EventBridge にヘルスイベントを送信するため、通知の設定も可能です。アプリケーションの監視は、Amazon 仮想プライベートクラウド (VPC)、Amazon CloudFront ディストリビューション、および Amazon WorkSpaces ディレクトリ経由で行います。
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 Logs Insights を利用すると、ログデータからより大きな価値を引き出すことができます。AWS コンソールで CloudWatch に送信されたログをクエリしたり、集計、フィルター、正規表現を使用してクエリを記述して、運用を完全に可視化したりできます。また、時系列データを視覚化し、個別のログイベントにドリルダウンして、クエリ結果を CloudWatch ダッシュボードにエクスポートすることもできます。
生成 AI を活用することで、自然言語を使用してログをクエリし (プレビュー版)、「最も遅い Lambda 関数を見せて」などの質問をすることで、実用的な洞察をすばやく得ることができます。必要なログデータを平易な言葉で記述すれば、CloudWatch が自動的にカスタマイズされたクエリを生成するので、専門知識のレベルに関係なく、ログを簡単に分析してより迅速に洞察を得ることができます。
AI/ML を活用すると、CloudWatch Logs Anomaly Detection を使用したログ調査をスピードアップすることもできます。これでは、何十年にもわたる Amazon.com と AWS の運用データから学習した機械学習アルゴリズムを非常に大規模に使用しています。この機能により、CloudWatch はログ記録間の共有構造を認識し、注目すべき内容や傾向を抽出し、異常を特定できるため、設定パラメータがなくても MTTR をスピードアップできます。
CloudWatch Logs Live Tail を使用すると、ストリーミングログデータを中央ビューからリアルタイムでインタラクティブに分析できます。コンテキストに応じたクエリを実行して、リアルタイムのログモニタリングからより詳細なログ分析にシームレスに移行し、インシデントの調査と解決を迅速化します。Live Tail を利用すると、カスタムソリューションが不要になり、重要なログ記録機能が統合されるため、検出と解決までの時間が最適化されます。
CloudWatch Logs と OpenSearch Service の新しい統合により、AWS のユーザーは CloudWatch と OpenSearch Service の両方でログのクエリと分析が可能になり、複雑なデータパイプラインや抽出、変換、ロード (ETL) 操作を必要とせずに、両方のベストソリューションを利用できます。AWS のユーザーは、OpenSearch Service による詳細な分析を活用しながら、CloudWatch Logs にログを一元的に保存できます。CloudWatch Logs のユーザーは、OpenSearch Service のクエリ機能 (パイプ処理言語と SQL クエリのサポート) と、人気のある AWS Vended Logs (VPC、WAF、CloudTrail) の自動ログダッシュボードを利用できます。OpenSearch Service のユーザーは、データの重複や関連するパイプラインの管理なしに CloudWatch Logs にアクセスできます。OpenSearch Service Discover を使用すると、OpenSearch Service SQL と Piped Processing Language を使用して CloudWatch Logs に保存されている運用ログデータを分析できるため、データを移動せずにデータに対して複雑なクエリや視覚化を簡単に実行できます。
詳細なデータと保持期間の延長
Amazon CloudWatch では、15 か月間保存および保持できるメトリクスデータにより、動向や季節的な傾向をモニタリングできます。これにより履歴分析を実行し、リソース使用率を細かく調整できます。CloudWatch を使用すると、ヘルスメトリクスを 1 秒単位まで収集することもできます。これには、オンプレミスアプリケーションから取得したメトリクスなどのカスタムメトリクスも含まれます。詳細なリアルタイムデータにより動向を視覚的に把握してモニタリングできるため、アプリケーションのパフォーマンスとオペレーションの状態を最適化することができます。
メトリクスに対するカスタムオペレーション
Amazon CloudWatch Metric Math を使用すると、リアルタイム分析向けに複数のメトリクスを使用した計算が可能になるため、既存の CloudWatch メトリクスから簡単にインサイトを導き出し、オペレーションの状態やインフラストラクチャのパフォーマンスを詳細に把握できます。これらの計算されたメトリクスを AWS マネジメントコンソールで可視化して、CloudWatch ダッシュボードに追加するか、GetMetricData API アクションを使用してこれらのメトリクスを取得できます。Metric Math は算術演算 (+、-、/、* など) と数学関数 (合計、平均、最小、最大、標準偏差など) に対応しています。
コンテナと Lambda テレメトリを分析する
CloudWatch Container Insights と Lambda Insights は、メトリクス、ログ、トレースを相互に関連付けることでオブザーバビリティデータの分析を簡素化し、根本原因の分析とトラブルシューティングを迅速化する簡単なドリルダウンを可能にします。Container Insights と Lambda Insights は、トレース分析のための XRay へのディープリンクと、パフォーマンスログイベント、アプリケーションログ (stdout/stderr)、カスタムログなどの詳細なログへのディープリンクを提供し、CloudWatch Logs Insights による高度な分析を可能にします。さらに、Container Insights では、Amazon ECS ライフサイクルイベント、Amazon EC2 インスタンスレベルのメトリクス、Amazon EKS/k8s データプレーン、Amazon EKS コントロールプレーンを可視化できるため、コンテナ環境でエンドツーエンドのオブザーバビリティを実現できます。
CloudWatch 自然言語クエリジェネレータを使用すると、「最も遅い Lambda 関数を見せて」などの質問をすることで、AWS Lambda で実行されているコンテナやサーバーレスアプリケーションのメトリクスやログをクエリすることもできます。これにより、クエリ言語に関する専門知識の有無に関係なく、テレメトリを分析して洞察をより簡単に引き出すことができます。
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 Logs のデータ保護では、システムやアプリケーションによって記録された機密データを発見し、保護することができるデータ保護ポリシーの設定をサポートします。この機能は、定義したポリシーに基づき、ML とパターンマッチングを使用して、ログに含まれる機密情報を自動的に識別し、マスクするものです。データ保護は、データ保護ロジックをアプリケーションからオフロードすることでアーキテクチャを合理化し、コンプライアンス目標をサポートするのに役立ちます。データ保護ポリシーを定義して、ログが取り込まれる際にスキャンして、どの程度の機密データが含まれているかを判断し、検出された機密データをマスクすることができます。また、マスクされたデータは、IAM による昇格権限でセキュリティエンジニアが検証のためにマスクを解除することができます。