AWS Elastic Beanstalk で X-Ray デーモンを実行します - AWS X-Ray

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Elastic Beanstalk で X-Ray デーモンを実行します

アプリケーションからのトレースデータを AWS X-Ray に中継するには、Elastic Beanstalk 環境のAmazon EC2 インスタンスで X-Ray デーモンを実行します。サポートされているプラットフォームの一覧は、[AWS Elastic Beanstalk Developer Guide] (開発者ガイド) の [Configuring AWS X-Ray Debugging] (デバッグ設定)を参照してください。

注記

デーモンは、環境のインスタンスプロファイルのアクセス権限を使用します。Elastic Beanstalk インスタンスプロファイルにアクセス権限を追加する方法については、X-Rayにデータを送信するアクセス権限をデーモンに付与する を参照してください。

Elastic Beanstalk プラットフォームには、デーモンを自動的に実行する設定オプションがあります。ソースコードの設定ファイル内で、または Elastic Beanstalk コンソールでオプションを選択して、デーモンを有効にできます。設定オプションを有効にすると、デーモンはインスタンスにインストールされ、サービスとして実行されます。

Elastic Beanstalk プラットフォームに含まれているバージョンは最新バージョンではない場合があります。サポートされているプラットフォームのトピックを参照して、プラットフォーム設定で利用できるデーモンのバージョンを確認してください。

Elastic Beanstalk は、複数コンテナの Docker (Amazon ECS) プラットフォームに X-Ray デーモンを提供しません。

Elastic Beanstalk X-Ray 統合を使用して X-Ray デーモンの実行します。

コンソールを使用して X-Ray 統合をオンにするか、設定ファイルを使用してアプリケーションソースコードで設定します。

Elastic Beanstalk コンソールで X-Ray デーモンを有効にするには
  1. [Elastic Beanstalk console] (Elastic Beanstalk コンソール) を開いてください。

  2. 環境に対応するマネジメントコンソールに移動します。

  3. [設定] を選択します。

  4. [Software Settings] を選択します。

  5. [X-Ray daemon] で、[Enabled] を選択します。

  6. [Apply (適用)] を選択します。

ソースコードに設定ファイルを含めて、設定を環境間で移植可能にできます。

例 .ebextensions/xray-daemon.config
option_settings: aws:elasticbeanstalk:xray: XRayEnabled: true

Elastic Beanstalkは設定ファイルをデーモンに渡し、ログを標準の場所に出力します。

Windows Server プラットフォーム
  • [Configuration file] (設定ファイル) – C:\Program Files\Amazon\XRay\cfg.yaml

  • [Logs] (ログ) – c:\Program Files\Amazon\XRay\logs\xray-service.log

Linux プラットフォーム
  • [Configuration file] (設定ファイル) – /etc/amazon/xray/cfg.yaml

  • [Logs] (ログ) – /var/log/xray/xray.log

Elastic Beanstalkには、AWS Management Console またはコマンドラインからインスタンスログを取得するためのツールが用意されています。設定ファイルでタスクを追加して、X-Ray デーモンログを含めるように Elastic Beanstalk に伝えることができます。

例 .ebextensions/xray-logs.config - Linux
files: "/opt/elasticbeanstalk/tasks/taillogs.d/xray-daemon.conf" : mode: "000644" owner: root group: root content: | /var/log/xray/xray.log
例 .ebextensions/xray-logs.config - Windows Server
files: "c:/Program Files/Amazon/ElasticBeanstalk/config/taillogs.d/xray-daemon.conf" : mode: "000644" owner: root group: root content: | c:\Progam Files\Amazon\XRay\logs\xray-service.log

詳細については、[AWS Elastic Beanstalk Developer Guide] (開発者ガイド)の[Viewing Logs from Your Elastic Beanstalk Environment's Amazon EC2 Instances] (Elastic Beanstalk 環境のAmazon EC2 インスタンスからのログの表示) を参照してください。

X-Ray デーモンを手動でダウンロードして実行します (上級編)

X-Ray デーモンをプラットフォーム設定で使用できない場合は、Amazon S3 からダウンロードして、設定ファイルを使用して実行できます。

Elastic Beanstalk 設定 ファイルを使用して、デーモンをダウンロードして実行します。

例 .ebextensions/xray.config - Linux
commands: 01-stop-tracing: command: yum remove -y xray ignoreErrors: true 02-copy-tracing: command: curl https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-3.x.rpm -o /home/ec2-user/xray.rpm 03-start-tracing: command: yum install -y /home/ec2-user/xray.rpm files: "/opt/elasticbeanstalk/tasks/taillogs.d/xray-daemon.conf" : mode: "000644" owner: root group: root content: | /var/log/xray/xray.log "/etc/amazon/xray/cfg.yaml" : mode: "000644" owner: root group: root content: | Logging: LogLevel: "debug" Version: 2
例 .ebextensions/xray.config - Windows server
container_commands: 01-execute-config-script: command: Powershell.exe -ExecutionPolicy Bypass -File c:\\temp\\installDaemon.ps1 waitAfterCompletion: 0 files: "c:/temp/installDaemon.ps1": content: | if ( Get-Service "AWSXRayDaemon" -ErrorAction SilentlyContinue ) { sc.exe stop AWSXRayDaemon sc.exe delete AWSXRayDaemon } $targetLocation = "C:\Program Files\Amazon\XRay" if ((Test-Path $targetLocation) -eq 0) { mkdir $targetLocation } $zipFileName = "aws-xray-daemon-windows-service-3.x.zip" $zipPath = "$targetLocation\$zipFileName" $destPath = "$targetLocation\aws-xray-daemon" if ((Test-Path $destPath) -eq 1) { Remove-Item -Recurse -Force $destPath } $daemonPath = "$destPath\xray.exe" $daemonLogPath = "$targetLocation\xray-daemon.log" $url = "https://s3.dualstack.us-west-2.amazonaws.com/aws-xray-assets.us-west-2/xray-daemon/aws-xray-daemon-windows-service-3.x.zip" Invoke-WebRequest -Uri $url -OutFile $zipPath Add-Type -Assembly "System.IO.Compression.Filesystem" [io.compression.zipfile]::ExtractToDirectory($zipPath, $destPath) New-Service -Name "AWSXRayDaemon" -StartupType Automatic -BinaryPathName "`"$daemonPath`" -f `"$daemonLogPath`"" sc.exe start AWSXRayDaemon encoding: plain "c:/Program Files/Amazon/ElasticBeanstalk/config/taillogs.d/xray-daemon.conf" : mode: "000644" owner: root group: root content: | C:\Program Files\Amazon\XRay\xray-daemon.log

これらの例ではまた、デーモンのログファイルを のログ末尾タスクに追加し、コンソールまたは Elastic Beanstalk コマンドラインインターフェイス (EB CLI) を使用したログのリクエスト時にその内容を含めるようにしています。