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 アカウントにまたがるクロスアカウント観測可能性
CloudWatch のクロスアカウントオブザーバビリティを使用して、複数の AWS アカウントのリソースを確認できます。最初に、モニターするリソースがあるアカウントをソースアカウントとして指定して特定します。CloudWatch は、ソースアカウント内のリソースのメトリクス、ログ、およびトレースの収集を開始し、データをモニタリングアカウントと共有します。モニタリングアカウントは、ソースアカウントから生成されたオブザーバビリティデータを表示および操作するためにユーザーが指定する中央の AWS アカウントです。ログとメトリクスデータの収集とモニタリングアカウントとの共有では、追加コストは発生しません。トレースデータについては、CloudWatch は最初のトレースコピーを追加料金なしで最初のモニタリングアカウントに配信します。トレースコピーを他のモニタリングアカウントに送信して集約クロスアカウントビューを取得する場合、ソースアカウントに対して AWS X-Ray と Amazon CloudWatch の標準料金に基づいた請求が行われます。トレースコピーは、各ソースアカウントから最大 5 つのモニタリングアカウントに送信できます
ダッシュボードを使用した運用状態の統一的な確認
Amazon CloudWatch ダッシュボードでは、再利用可能なグラフを作成することや、クラウドリソースとアプリケーションを統合的な視点で可視化することができます。単一のダッシュボードでメトリクスとログデータを並べてグラフ化することで、すばやく状況を把握し、問題を診断して根本的な原因を理解できます。例えば、CPU 使用率やメモリなどの主要なメトリクスを可視化して、キャパシティーと比較することができます。また、特定のメトリクスに関するログパターンの関連性を示すことや、アラームを設定してパフォーマンスの問題や運用上の問題についてアラートを受け取ることも可能です。この機能により、システム全体のオペレーションの状態を確認し、問題のトラブルシューティングを迅速に実施できるため、MTTR の短縮が可能になります。
複合アラーム
Amazon CloudWatch の複合アラーム機能では、複数のアラームを組合せてアラームのノイズを低減することができます。問題がアプリケーション内にある複数のリソースに影響する場合でも、影響を受けるリソースごとに 1 つではなく、アプリケーション全体に対して 1 つのアラーム通知を受信します。これにより、運用上の問題における根本原因を見つけることに集中して、アプリケーションのダウンタイムを削減できます。アプリケーション、AWS リージョン、アベイラビリティーゾーンなど、各リソースのグループに関する全体的な状態を提供できます。
高分解能アラーム
Amazon CloudWatch のアラームを使用すると、メトリクスにしきい値を設定してアクションをトリガーできます。高分解能アラームを作成して、統計としてパーセンタイル値を設定し、必要に応じてアクションを指定または無視できます。例えば、Amazon EC2 メトリクスにアラームを作成し、通知を設定して、未使用のインスタンスや使用率が低いインスタンスを検出してシャットダウンするためのアクションを 1 つまたは複数設定できます。メトリクスやイベントにリアルタイムのアラームを使用すると、ダウンタイムを最小化し、ビジネスに影響を及ぼす可能性を最低限に抑えることができます。
ログとメトリクスの関連付け
アプリケーションおよびインフラストラクチャのリソースでは、大量のオペレーションデータとモニタリングデータがログとメトリクスの形式で生成されます。Amazon CloudWatch では、単一のプラットフォームでこれらのデータセットにアクセスして可視化できることに加え、それらを簡単に関連付けることもできます。これにより、問題を迅速に診断し、根本的な原因を把握することが可能になります。例えば、エラーと特定のメトリクスなどのログパターンを関連付けることで、パフォーマンスの問題とオペレーションの問題に関してアラームを受け取るよう設定できます。
アプリケーションインサイト
Amazon CloudWatch Application Insights は、エンタープライズアプリケーションのオブザーバビリティを自動で設定し、アプリケーションの状態を可視化することができます。稼働状況の可視化は、主要メトリクスを特定および設定したり、アプリケーションリソースおよびテクノロジースタック (データベース、ウェブ (IIS)、アプリケーションサーバー、オペレーティングシステム、ロードバランサー、キューなど) 全体でログを作成したりするのに役立ちます。この製品は異常やエラーを検出および関連付けしたり、アプリケーションで発生しているすべての問題を通知したりするためにこれらのテレメトリデータを継続的にモニタリングします。トラブルシューティングの円滑化を図るため、検出された問題と相関するメトリクスの異常やログのエラーを示す自動化されたダッシュボードとともに、潜在的な根本原因を示唆する追加的な詳細情報を作成します。これにより、自分のアプリケーションが正常に稼動し、エンドユーザーが影響を受けないように迅速な対応を取れるようになります。
Container Insights (EKS 用の拡張オブザーバビリティが利用可能に)
EKS 用の拡張オブザーバビリティを備えた Container Insights
Container Insights は、コンテナレベルのパフォーマンスメトリクス、Kube 状態メトリクス、EKS コントロールプレーンメトリクスなどの詳細な EKS メトリクスをすぐに提供できるようになりました。これにより、さまざまなコンテナレイヤーを視覚的にドリルダウンおよびドリルアップして、個々のコンテナにおけるメモリリークなどの問題を簡単に特定できます。Container Insights では、リソースを大量に消費しているコンテナレイヤーのリストが表示されるようになりました。これにより、アラームをまだ設定していなくても、環境内のリスクを特定し、エンドユーザーエクスペリエンスに影響が生じる前にプロアクティブな対策を講じることができます。Amazon EKS 用の拡張オブザーバビリティを備えた Container Insights は、簡単に利用を開始できます。クラスター詳細コンソールで、EKS 用の CloudWatch Observability アドオンを使用してクラスターを自動インストルメント化し、すぐにテレメトリの取り込みを開始できます。
拡張オブザーバビリティを備えていない Container Insights
CloudWatch Container Insights は、Amazon Elastic Container Service (Amazon ECS)、Amazon Elastic Kubernetes Service (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 では、15 か月間保存および保持できるメトリクスデータにより、動向や季節的な傾向をモニタリングできます。これにより履歴分析を実行し、リソース使用率を細かく調整できます。CloudWatch を使用すると、ヘルスメトリクスを 1 秒単位まで収集することもできます。これには、オンプレミスアプリケーションから取得したメトリクスなどのカスタムメトリクスも含まれます。詳細なリアルタイムデータにより動向を視覚的に把握してモニタリングできるため、アプリケーションのパフォーマンスとオペレーションの状態を最適化することができます。
メトリクスに対するカスタムオペレーション
Amazon CloudWatch Metric Math を使用すると、リアルタイム分析向けに複数のメトリクスを使用した計算が可能になるため、既存の CloudWatch メトリクスから簡単にインサイトを導き出し、オペレーションの状態やインフラストラクチャのパフォーマンスを詳細に把握できます。これらの計算されたメトリクスを AWS マネジメントコンソールで可視化して、CloudWatch ダッシュボードに追加するか、GetMetricData API アクションを使用してこれらのメトリクスを取得できます。Metric Math は算術演算 (+、-、/、* など) と数学関数 (合計、平均、最小、最大、標準偏差など) に対応しています。
ログ分析
Amazon CloudWatch Logs Insights を使うと、サーバーのプロビジョニングやソフトウェアの管理をする必要なしに、ログから得られる実用的なインテリジェンスでオペレーションの問題に対処できます。集計、フィルタ、および正規表現を含むクエリをすばやく記述できます。また、時系列データを視覚化し、個別のログイベントにドリルダウンして、クエリ結果を CloudWatch ダッシュボードにエクスポートすることもできます。これにより、操作を完全に視覚化することができます。AWS マネジメントコンソールで数回クリックするだけで、Logs Insights を使用して、CloudWatch に送信されたログにクエリを実行することができます。実行したクエリに対してのみ料金が発生します。
Amazon CloudWatch Logs Live Tail を使用すると、お客様は収集したログをインタラクティブに詳細に分析できるようになり、Amazon CloudWatch Logs でのデータの調査と分析をすぐに開始できます。Live Tail を使用すると、お客様はすべてのストリーミングログデータを中央コンソールから表示したり、デプロイ、運用、またはセキュリティ調査のために毎日使用するツールに統合したりできます。Live Tail を使用すると、顧客はコンテキスト内で詳細なクエリを実行できるため、問題を検出するための Live Tail ビューから、詳細な分析やインシデント解決のための CloudWatch Logs Insights のクエリエクスペリエンスへと簡単に移行できます。Live Tail は既存の 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 Logs のデータ保護では、システムやアプリケーションによって記録された機密データを発見し、保護することができるデータ保護ポリシーの設定をサポートします。この機能は、定義したポリシーに基づき、ML とパターンマッチングを使用して、ログに含まれる機密情報を自動的に識別し、マスクするものです。データ保護は、データ保護ロジックをアプリケーションからオフロードすることでアーキテクチャを合理化し、コンプライアンス目標をサポートするのに役立ちます。データ保護ポリシーを定義して、ログが取り込まれる際にスキャンして、どの程度の機密データが含まれているかを判断し、検出された機密データをマスクすることができます。また、マスクされたデータは、IAM による昇格権限でセキュリティエンジニアが検証のためにマスクを解除することができます。