翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
X-Ray を使用した App Runner アプリケーションのトレース
AWS X-Ray は、アプリケーションが処理するリクエストに関するデータを収集するサービスであり、そのデータを表示、フィルタリング、インサイトを取得して、問題や最適化の機会を特定するために使用できるツールを提供します。アプリケーションへのトレースされたリクエストについては、リクエストとレスポンスだけでなく、アプリケーションがダウンストリーム AWS リソース、マイクロサービス、データベース、HTTP ウェブ APIs に対して行う呼び出しに関する詳細情報も確認できます。
X-Ray は、クラウドアプリケーションを強化する AWS リソースからのトレースデータを使用して、詳細なサービスグラフを生成します。サービスグラフには、フロントエンドサービスが呼び出してリクエストを処理しデータを維持するクライアント、フロントエンドサービス、バックエンドサービスが表示されます。サービスグラフを使用して、ボトルネック、レイテンシーのスパイク、その他の問題を識別して解決し、アプリケーションのパフォーマンスを向上させます。
X-Ray の詳細については、「AWS X-Ray デベロッパーガイド」を参照してください。
トレース用にアプリケーションを計測する
ポータブルテレメトリ仕様である を使用してOpenTelemetry
アプリケーションで使用している特定の ADOT SDK に応じて、ADOT は自動 と手動 の 2 つの計測アプローチをサポートします。SDK を使用した計測の詳細については、ADOT ドキュメント
ランタイムセットアップ
App Runner サービスアプリケーションをトレース用に計測するための一般的なランタイムセットアップ手順を次に示します。
ランタイムのトレースを設定するには
-
AWS Distro for (ADOT) OpenTelemetry
のランタイムに記載されている手順に従って、アプリケーションを計測します。 -
ソースコードリポジトリを使用している場合は
apprunner.yaml
ファイルのbuild
セクションに、コンテナイメージを使用している場合は Dockerfile に、必要なOTEL
依存関係をインストールします。 -
ソースコードリポジトリを使用している場合は
apprunner.yaml
ファイルで、コンテナイメージを使用している場合は Dockerfile で環境変数を設定します。例 環境変数
注記
次の例では、
apprunner.yaml
ファイルに追加する重要な環境変数を一覧表示します。コンテナイメージを使用している場合は、これらの環境変数を Dockerfile に追加します。ただし、各ランタイムには独自の固有性があり、次のリストに環境変数を追加する必要がある場合があります。ランタイムにアプリケーションを設定する方法に関するランタイム固有の手順と例の詳細については、「 入門」のAWS 「 Distro for OpenTelemetryand go to your runtime」を参照してください。 env: - name: OTEL_PROPAGATORS value: xray - name: OTEL_METRICS_EXPORTER value: none - name: OTEL_EXPORTER_OTLP_ENDPOINT value: http://localhost:4317 - name: OTEL_RESOURCE_ATTRIBUTES value: 'service.name=example_app'
注記
OTEL_METRICS_EXPORTER=none
App Runner Otel コレクターはメトリクスのログ記録を受け入れないため、 は App Runner にとって重要な環境変数です。メトリクストレースのみを受け入れます。
ランタイムセットアップの例
次の例は、ADOT Python SDK
まず、次の例に示すように、いくつかの依存関係を追加します。
例 requirements.txt
opentelemetry-distro[otlp]>=0.24b0 opentelemetry-sdk-extension-aws~=2.0 opentelemetry-propagator-aws-xray~=1.0
次に、アプリケーションを計測します。これを行う方法は、ソースイメージまたはソースコードなどのサービスソースによって異なります。
App Runner サービスインスタンスロールに X-Ray アクセス許可を追加する
App Runner サービスで X-Ray トレースを使用するには、サービスのインスタンスに X-Ray サービスとやり取りするためのアクセス許可を付与する必要があります。これを行うには、インスタンスロールをサービスに関連付け、X-Ray アクセス許可を持つ管理ポリシーを追加します。App Runner インスタンスロールの詳細については、「」を参照してくださいインスタンスロール。AWSXRayDaemonWriteAccess
マネージドポリシーをインスタンスロールに追加し、作成時にサービスに割り当てます。
App Runner サービスの X-Ray トレースを有効にする
サービス を作成すると、App Runner はデフォルトでトレースを無効にします。オブザーバビリティの設定の一環として、サービスの X-Ray トレースを有効にできます。詳細については、「オブザーバビリティの管理」を参照してください。
App Runner API または を使用する場合 AWS CLI、ObservabilityConfigurationリソースTraceConfigurationオブジェクト内のオブジェクトにはトレース設定が含まれます。トレースを無効にしたままにするには、 TraceConfiguration
オブジェクトを指定しないでください。
コンソールと API の両方のケースで、前のセクションで説明したインスタンスロールを App Runner サービスに関連付けてください。
App Runner サービスの X-Ray トレースデータを表示する
App Runner コンソールのサービスダッシュボードページのオブザーバビリティタブで、サービスマップを表示を選択して Amazon CloudWatch コンソールに移動します。
Amazon CloudWatch コンソールを使用して、アプリケーションが処理するリクエストのサービスマップとトレースを表示します。サービスマップには、リクエストのレイテンシーや、他のアプリケーションや AWS サービスとのやり取りなどの情報が表示されます。コードに追加するカスタム注釈を使用すると、トレースを簡単に検索できます。詳細については、「Amazon ユーザーガイド」の「 ServiceLens を使用してアプリケーションの状態をモニタリングする」を参照してください。 CloudWatch