メインコンテンツまでスキップ

アプリケーションシグナルによる APM

現代のアプリケーション開発の進化する世界において、最適なパフォーマンスを確保し、Service Level Objective (SLO) を達成することは、シームレスなユーザーエクスペリエンスを提供し、ビジネスの継続性を維持するために重要です。OpenTelemetry (OTel) 互換の Application Performance Monitoring (APM) 機能である Amazon CloudWatch Application Signals は、AWS 上で実行されるアプリケーションの監視とトラブルシューティングの方法を革新します。

CloudWatch Application Signals は、メトリクス、トレース、ログ、実ユーザーモニタリング、合成モニタリングなど、複数のソースからのテレメトリーデータをシームレスに関連付けることで、アプリケーションパフォーマンスの監視に包括的なアプローチを取ります。この統合されたアプローチにより、組織はアプリケーションのパフォーマンスに関する包括的な洞察を得て、問題の根本原因を特定し、潜在的な障害に事前に対処することができます。

CloudWatch Application Signals の主な利点の 1 つは、自動的な計装と追跡機能です。手動の作業やカスタムコードを必要とせず、Application Signals は AWS 上で実行される各アプリケーションのパフォーマンスに関する最も重要なメトリクス(量、可用性、レイテンシー、障害、エラー)を表示する、事前構築された標準化されたダッシュボードを提供します。この効率的なアプローチにより、カスタムダッシュボードの必要性が排除され、サービスオペレーターは定義された SLO に対するアプリケーションの健全性とパフォーマンスを迅速に評価できます。

APM 図 1: メトリクス、ログ、トレースを送信する Cloudwatch Application Signals

CloudWatch Application Signals は、組織に以下の機能を提供します:

  1. 包括的なアプリケーションパフォーマンスモニタリング: Application Signals は、メトリクス、トレース、ログ、実ユーザーモニタリング、合成モニタリングからの洞察を組み合わせた、アプリケーションパフォーマンスの統合ビューを提供します。この包括的なアプローチにより、組織はパフォーマンスのボトルネックを特定し、根本原因を突き止め、最適なアプリケーションパフォーマンスを確保するための事前対策を講じることができます。

  2. 自動計装と追跡: 手動の作業やカスタムコードを必要とせず、Application Signals は定義された SLO に対するアプリケーションパフォーマンスを自動的に計装し追跡します。この効率的なアプローチにより、手動の計装と設定に関連するオーバーヘッドが削減され、組織はアプリケーションの開発と最適化に集中できます。

  3. 標準化されたダッシュボードと可視化: Application Signals は、量、可用性、レイテンシー、障害、エラーなど、アプリケーションパフォーマンスに関する最も重要なメトリクスを表示する、事前構築された標準化されたダッシュボードを提供します。この標準化されたビューにより、サービスオペレーターはアプリケーションの健全性とパフォーマンスを迅速に評価でき、情報に基づいた意思決定と事前の問題解決を促進します。

  4. シームレスな相関関係とトラブルシューティング: Application Signals は、複数のソースからのテレメトリーデータを相関付けることで、トラブルシューティングプロセスを簡素化します。サービスオペレーターは、関連付けられたトレース、ログ、メトリクスをシームレスにドリルダウンして、パフォーマンスの問題や異常の根本原因を特定し、平均解決時間(MTTR)を短縮し、アプリケーションの中断を最小限に抑えることができます。

  5. Container Insights との統合: コンテナ化された環境で実行されるアプリケーションの場合、CloudWatch Application Signals は Container Insights とシームレスに統合され、コンテナ Pod のメモリ不足や高 CPU 使用率など、アプリケーションパフォーマンスに影響を与える可能性のあるインフラストラクチャ関連の問題を特定できます。

アプリケーションパフォーマンスモニタリングに CloudWatch Application Signals を活用するために、組織は以下の一般的な手順に従うことができます:

  1. Application Signals の有効化: AWS マネジメントコンソール、AWS Command Line Interface (CLI)、または AWS SDK を使用してプログラムで、AWS 上で実行されているアプリケーションの CloudWatch Application Signals を有効にします。

  2. Service Level Objectives (SLO) の定義: ビジネス要件と顧客の期待に合わせて、目標可用性、最大レイテンシー、エラーしきい値などのアプリケーションの望ましい SLO を確立し設定します。

  3. パフォーマンスの監視と分析: Application Signals が提供する事前構築された標準化されたダッシュボードを使用して、定義された SLO に対するアプリケーションパフォーマンスを監視します。メトリクス、トレース、ログ、実ユーザーモニタリング、合成モニタリングデータを分析して、パフォーマンスの問題や異常を特定します。

  4. 問題のトラブルシューティングと解決: Application Signals のシームレスな相関機能を活用して、関連付けられたトレース、ログ、メトリクスをドリルダウンし、パフォーマンスの問題や根本原因の迅速な特定と解決を可能にします。

  5. Container Insights との統合(該当する場合): コンテナ化されたアプリケーションの場合、CloudWatch Application Signals を Container Insights と統合して、アプリケーションパフォーマンスに影響を与える可能性のあるインフラストラクチャ関連の問題を特定します。

CloudWatch Application Signals は強力なアプリケーションパフォーマンスモニタリング機能を提供しますが、データ量とコスト管理などの潜在的な課題を考慮することが重要です。アプリケーションの複雑さと規模が増大するにつれて、生成されるテレメトリーデータの量が大幅に増加し、パフォーマンスに影響を与え、追加コストが発生する可能性があります。効率的でコスト効果の高い監視ソリューションを確保するために、データサンプリング戦略、保持ポリシー、コスト最適化技術の実装が必要になる場合があります。

さらに、アプリケーションパフォーマンスデータの適切なアクセス制御とデータセキュリティを確保することが重要です。CloudWatch Application Signals は、きめ細かなアクセス制御に AWS Identity and Access Management (IAM) を活用し、保存中および転送中のテレメトリーデータに暗号化を適用して、アプリケーションパフォーマンスデータの機密性と整合性を保護します。

結論として、CloudWatch Application Signals は AWS 上で実行されるアプリケーションのパフォーマンスモニタリングを革新します。自動計装、標準化されたダッシュボード、テレメトリーデータのシームレスな相関関係を提供することで、Application Signals は組織がアプリケーションパフォーマンスを事前に監視し、SLO の遵守を確保し、パフォーマンスの問題を迅速にトラブルシューティングして解決することを可能にします。その統合機能と OpenTelemetry との互換性により、CloudWatch Application Signals はクラウドにおけるアプリケーションパフォーマンスモニタリングの包括的で将来性のあるソリューションを提供します。