

# Amazon CloudWatch Application Signals によるアプリケーションパフォーマンスのモニタリング
<a name="monitoring-application-signals"></a>

Amazon CloudWatch Application Signals は、デベロッパーとオペレーターが Lambda を使用して作成されたサーバーレスアプリケーションのヘルスとパフォーマンスをモニタリングできるようにするアプリケーションパフォーマンスモニタリング (APM) ソリューションです。Lambda コンソールからワンクリックで Application Signals を有効にできるため、Lambda 関数に計測コードや外部依存関係を追加する必要はありません。Application Signals を有効にすると、収集されたすべてのメトリクスとトレースを CloudWatch コンソールで表示できます。このページでは、アプリケーションの Application Signals テレメトリデータを有効にして表示する方法について説明します。

**Topics**
+ [Application Signals と Lambda の統合方法](#monitoring-application-signals-how)
+ [料金](#monitoring-application-signals-pricing)
+ [ランタイムのサポート](#monitoring-application-signals-runtimes)
+ [Lambda コンソールで Application Signals を有効にする](#monitoring-application-signals-console)
+ [Application Signals ダッシュボードの使用](#monitoring-application-signals-dashboard)

## Application Signals と Lambda の統合方法
<a name="monitoring-application-signals-how"></a>

Application Signals は、[Lambda レイヤー](https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html)を介して提供される拡張 [AWS Distro for OpenTelemetry (ADOT)](https://aws-otel.github.io/) ライブラリを使用して、Lambda 関数を自動的に計測します。Application Signals は、レイヤーによって収集されたデータを読み取り、アプリケーションの主要なパフォーマンスメトリクスでダッシュボードを生成します。

Lambda コンソールで [Application Signals を有効にする](#monitoring-application-signals-console)と、このレイヤーをワンクリックでアタッチできます。コンソールから Application Signals を有効にすると、Lambda はユーザーに代わって次の処理を実行します。
+ 関数の実行ロールを更新して、`CloudWatchLambdaApplicationSignalsExecutionRolePolicy` を追加します。[このポリシー](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchLambdaApplicationSignalsExecutionRolePolicy.html)によって、Application Signals に使用される AWS X-Ray および CloudWatch ロググループへの書き込みアクセス権が付与されます。
+ 関数にレイヤーを追加します。このレイヤーは関数を自動的に計測して、リクエスト、可用性、レイテンシー、エラー、障害などのテレメトリデータをキャプチャします。Application Signals が適切に動作するには、関数から既存の X-Ray SDK 計測コードをすべて削除します。カスタム X-Ray SDK 計測コードは、レイヤーによる計測を妨げる可能性があります。
+ `AWS_LAMBDA_EXEC_WRAPPER` 環境変数を関数に追加し、その値を `/opt/otel-instrument` に設定します。この環境変数は、関数の起動動作を変更して Application Signals レイヤーを利用するため、適切な計測に必要です。この環境変数が既に存在する場合は、必要な値に設定されていることを確認してください。

## 料金
<a name="monitoring-application-signals-pricing"></a>

Lambda 関数に Application Signals を使用すると、料金が発生します。料金については、[Amazon CloudWatch 料金表](https://aws.amazon.com/cloudwatch/pricing/)を参照してください。

## ランタイムのサポート
<a name="monitoring-application-signals-runtimes"></a>

Application Signals と Lambda の統合は、次のランタイムで機能します。
+ .NET 8
+ Java 11
+ Java 17
+ Java 21
+ Python 3.10
+ Python 3.11
+ Python 3.12
+ Python 3.13
+ Node.js 18.x
+ Node.js 20.x
+ Node.js 22.x

## Lambda コンソールで Application Signals を有効にする
<a name="monitoring-application-signals-console"></a>

[サポートされているランタイム](#monitoring-application-signals-runtimes)を使用して、既存の Lambda 関数で Application Signals を有効にできます。次の手順では、Lambda コンソールでワンクリックで Application Signals を有効にする方法について説明します。

**Lambda コンソールで Application Signals を有効にするには**

1. Lambda コンソールの [[関数ページ]](https://console.aws.amazon.com/lambda/home#/functions) を開きます。

1. 関数を選択します。

1. [**設定**] タブを選択します。

1. 左側のメニューで **[モニタリングおよび運用ツール]** を選択します。

1. **[その他の監視ツール]** ペインで、**[編集]** を選択します。

1. **[CloudWatch Application Signals と AWS X-Ray]**、および **[Application Signals]** で、**[有効]** を選択します。

1. **[保存]** を選択します。

関数で Application Signals を初めて有効にする場合は、CloudWatch コンソールで Application Signals の 1 回限りのサービス検出設定も実行する必要があります。この 1 回限りのサービス検出設定を完了すると、Application Signals は、Application Signals を有効にしたその他の Lambda 関数をすべてのリージョンで自動的に検出します。

**注記**  
更新された関数を呼び出すと、サービスデータが CloudWatch コンソールの Application Signals ダッシュボードに表示され始めるまでに最大 10 分かかる場合があります。

## Application Signals ダッシュボードの使用
<a name="monitoring-application-signals-dashboard"></a>

関数の Application Signals を有効にすると、CloudWatch コンソールでアプリケーションメトリクスを視覚化できます。以下の手順に従って、Lambda コンソールで関連する Application Signals ダッシュボードをすばやく表示できます。

**関数の Application Signals ダッシュボードを表示するには**

1. Lambda コンソールの [[関数ページ]](https://console.aws.amazon.com/lambda/home#/functions) を開きます。

1. 関数を選択します。

1. [**Monitor**] (モニタリング) タブを選択します。

1. **[Application Signals を表示]** ボタンを選択します。これにより、CloudWatch コンソールでサービスの Application Signals の概要に直接アクセスできます。

例えば、次のスクリーンショットは、10 分間の時間枠における関数のレイテンシー、リクエスト数、可用性、障害率、エラー率のメトリクスを示しています。

![\[\]](http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/images/monitoring-application-signals-dashboard.png)


Application Signals との統合を最大限に活用するために、アプリケーションのサービスレベル目標 (SLO) を作成できます。例えば、レイテンシー SLO を作成してアプリケーションがユーザーリクエストに迅速に応答するようにしたり、可用性 SLO を作成して稼働時間を追跡したりできます。SLO は、ユーザーに影響を与える前にパフォーマンスの低下や停止を検出するのに役立ちます。詳細については、「Amazon CloudWatch ユーザーガイド」の「[サービスレベル目標 (SLO)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-ServiceLevelObjectives.html)」を参照してください。