アプリケーションシグナルを使用した APM
現代のアプリケーション開発の世界では、最適なパフォーマンスを確保し、サービスレベル目標(SLO)を達成することが、シームレスなユーザーエクスペリエンスを提供し、ビジネスの継続性を維持するために不可欠です。OpenTelemetry(OTel)互換のアプリケーションパフォーマンスモニタリング(APM)機能である Amazon CloudWatch Application Signals は、AWS 上で実行されるアプリケーションのモニタリングとトラブルシューティングの方法を革新します。
CloudWatch Application Signals は、メトリクス、トレース、ログ、実ユーザーモニタリング、合成モニタリングなど、複数のソースからのテレメトリデータをシームレスに相関させることで、アプリケーションパフォーマンスモニタリングに包括的なアプローチを取ります。この統合されたアプローチにより、組織はアプリケーションのパフォーマンスに関する包括的な洞察を得て、問題の根本原因を特定し、潜在的な障害に 事前に対処することができます。
CloudWatch Application Signals の主な利点の 1 つは、自動計装と追跡機能です。手動の作業やカスタムコードを必要とせず、Application Signals は AWS 上で実行される各アプリケーションのパフォーマンスに関する最も重要なメトリクス(量、可用性、レイテンシー、障害、エラー)を表示する、事前構築された標準化されたダッシュボードを提供します。この合理化されたアプローチにより、カスタムダッシュボードの必要性がなくなり、サービスオペレーターは定義された SLO に対するアプリケーションの健全性とパフォーマンスを迅速に評価できます。
図 1:メトリクス、ログ、トレースを送信する Cloudwatch Application Signals
CloudWatch Application Signals は、組織に以下の機能を提供します:
-
包括的なアプリケーションパフォーマンスモニタリング:Application Signals は、メトリクス、トレース、ログ、実ユーザーモニタリング、合成モニタリングからの洞察を組み合わせて、アプリケーションパフォーマンスの統合ビューを提供します。この包括的なアプローチにより、組織はパフォーマンスのボトルネックを特定し、根本原因を突き止め、最適なアプリケーションパフォーマンスを確保するための事前対策を講じることができます。
-
自動計装と追跡:手動の作業やカスタムコードを必要とせず、Application Signals は定義された SLO に対するアプリケーションパフォーマンスを自動的に計装し 追跡します。この合理化されたアプローチにより、手動の計装と設定に関連するオーバーヘッドが軽減され、組織はアプリケーションの開発と最適化に集中できます。
-
標準化されたダッシュボードと可視化:Application Signals は、量、可用性、レイテンシー、障害、エラーなど、アプリケーションパフォーマンスに関する最も重要なメトリクスを表示する、事前構築された標準化されたダッシュボードを提供します。この標準化されたビューにより、サービスオペレーターはアプリケーションの健全性とパフォーマンスを迅速に評価でき、情報に基づいた意思決定と事前の問題解決を促進します。
-
シームレスな相関関係とトラブルシューティング:複数のソースからのテレメトリデータを相関させることで、Application Signals はトラブルシューティングプロセスを簡素化します。サービスオペレーターは、相関関係のあるトレース、ログ、メトリクスをシームレスにドリルダウンして、パフォーマンスの問題や異常の根本原因を特定し、平均解決時間(MTTR)を短縮し、アプリケーションの中断を最小限に抑えることができます。
-
Container Insights との統合:コンテナ化された環境で実行されるアプリケーションの場合、CloudWatch Application Signals は Container Insights とシームレスに統合され、組織はコンテナポッドのメモリ不足や高 CPU 使用率など、アプリケーションのパフォーマンスに影響を与える可能性のあるインフラストラクチャ関連の問題を特定できます。
アプリケーションパフォーマンスモニタリングに CloudWatch Application Signals を活用するために、組織は以下の一般的な手順を実行できます:
-
Application Signals の有効化:AWS マネジメントコンソール、AWS コマンドラインインターフェイス(CLI)、または AWS SDK を使用してプログラムで、AWS 上で実行されているアプリケーションの CloudWatch Application Signals を有効にします。
-
サービスレベル目標(SLO)の定義:ビジネス要件と顧客の期待に合わせて、目標可用性、最大レイテンシー、エラーしきい値などのアプリケーションの望ましい SLO を確立し設定します。
-
パフォーマンスのモニタリングと分析:Application Signals が提供する事前構築された標準化されたダッシュボードを使用して、定義された SLO に対するアプリケーションのパフォーマンスをモニタリングします。メトリクス、トレース、ログ、実ユーザーモニタリング、合成モニタリングのデータを分析して、パフォーマンスの問題や異常を特定します。
-
問題のトラブルシューティングと解決:Application Signals のシームレスな相関機能を活用して、相関関係のあるトレース、ログ、メトリクスをドリルダウンし、パフォーマンスの問題や根本原因の迅速な特定と解決を可能にします。
-
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 はクラウドにおけるアプリケーションパフォーマンスモニタリングの包括的で将来性のあるソリューションを提供します。