AWS X-Ray デーモン - AWS X-Ray

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

AWS X-Ray デーモン

注記

CloudWatch エージェントを使用して、Amazon EC2インスタンスおよびオンプレミスサーバーからメトリクス、ログ、トレースを収集できるようになりました。 CloudWatch エージェントバージョン 1.300025.0 以降ではSDKs、 OpenTelemetryまたは X-Ray クライアント からトレースを収集して X-Ray に送信できます。Distro for OpenTelemetry (ADOT) Collector AWS または X-Ray デーモンの代わりに CloudWatch エージェントを使用してトレースを収集することで、管理するエージェントの数を減らすことができます。詳細については、「 CloudWatch ユーザーガイド」のCloudWatch 「 エージェント」トピックを参照してください。

AWS X-Ray デーモンは、UDPポート 2000 でトラフィックをリッスンし、raw セグメントデータを収集して、 に中継するソフトウェアアプリケーションです AWS X-Ray API。デーモンは と連動し、 AWS X-Ray SDKsによって送信されたデータが X-Ray サービスSDKsに到達できるように実行されている必要があります。X-Ray デーモンは、オープンソースプロジェクトです。プロジェクトに従い、 で問題とプルリクエストを送信できます GitHub。github.com/aws/aws-xray-daemon

AWS Lambda および では AWS Elastic Beanstalk、これらのサービスの X-Ray との統合を使用してデーモンを実行します。Lambda は、サンプルリクエスト用に関数が呼び出される度に自動的にデーモンを実行します。Elastic Beanstalk では、XRayEnabled設定オプションを使用して、環境のインスタンスでデーモンを実行します。詳細については、以下を参照してください。

X-Ray デーモンをローカル、オンプレミス、またはその他の で実行するには AWS のサービス、ダウンロードして を実行し、セグメントドキュメントを X-Ray にアップロードするアクセス許可を付与します

デーモンのダウンロード

Amazon S3、Amazon ECR、または Docker Hub からデーモンをダウンロードし、ローカルで実行するか、起動時に Amazon EC2インスタンスにインストールできます。

Amazon S3
X-Ray デーモンのインストーラおよび実行ファイル

これらのリンクは、常にデーモンの最新の3.xリリースを指しています。特定のリリースをダウンロードするには、次の手順を実行します。

  • バージョン より前のリリースをダウンロードする場合は3.3.0、 をバージョン番号3.xに置き換えます。例えば 2.1.0 です。バージョン より前のバージョンでは3.3.0、使用可能なアーキテクチャは のみですarm64。例えば、2.1.0arm64 です。

  • バージョン 以降のリリースをダウンロードする場合は3.3.0、 をバージョン番号3.xに、 をアーキテクチャタイプarchに置き換えます。

X-Ray アセットは、サポートされている各リージョンのバケットにレプリケートされます。自分または AWS リソースに最も近いバケットを使用するには、上記のリンクのリージョンを自分のリージョンに置き換えます。

https://s3.us-west-2.amazonaws.com/aws-xray-assets.us-west-2/xray-daemon/aws-xray-daemon-3.x.rpm
Amazon ECR

バージョン 3.2.0 以降、デーモンは Amazon ECRにあります。イメージをプルする前に、Amazon パブリックレジストリに対して Docker クライアントを認証する必要があります。 ECR

次のコマンドを実行して、最新のリリース 3.x バージョンタグを引き出します。

docker pull public.ecr.aws/xray/aws-xray-daemon:3.x

以前のリリースまたはアルファ版は、3.xalphaまたは特定のバージョン番号に置き換えてダウンロードできます。本番環境では、アルファタグ付きのデーモンイメージを使用することは推奨されません。

Docker Hub

デーモンは、Docker Hubで見ることができます。次のコマンドを実行して、最新リリースの3.xバージョンをダウンロードします。

docker pull amazon/aws-xray-daemon:3.x

デーモンの以前のリリースは、3.x希望のバージョンに置き換えてリリースすることができます。

デーモンアーカイブの署名の確認

GPG 署名ファイルは、ZIPアーカイブで圧縮されたデーモンアセットに含まれます。ホストのパブリックキーは、次の場所にあります。aws-xray.gpg

パブリックキーを使用して、デーモンのZIPアーカイブがオリジナルであり、変更されていないことを確認できます。まず、GnuPG で公開鍵をインポートします。

パブリックキーをインポートするには
  1. 公開鍵をダウンロードします。

    $ BUCKETURL=https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2 $ wget $BUCKETURL/xray-daemon/aws-xray.gpg
  2. 公開鍵をキーリングにインポートします。

    $ gpg --import aws-xray.gpg gpg: /Users/me/.gnupg/trustdb.gpg: trustdb created gpg: key 7BFE036BFE6157D3: public key "AWS X-Ray <aws-xray@amazon.com>" imported gpg: Total number processed: 1 gpg: imported: 1

インポートされたキーを使用して、デーモンのZIPアーカイブの署名を検証します。

アーカイブの署名を確認するには
  1. アーカイブおよび署名ファイルをダウンロードします。

    $ BUCKETURL=https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2 $ wget $BUCKETURL/xray-daemon/aws-xray-daemon-linux-3.x.zip $ wget $BUCKETURL/xray-daemon/aws-xray-daemon-linux-3.x.zip.sig
  2. gpg --verify を実行して署名を確認します。

    $ gpg --verify aws-xray-daemon-linux-3.x.zip.sig aws-xray-daemon-linux-3.x.zip gpg: Signature made Wed 19 Apr 2017 05:06:31 AM UTC using RSA key ID FE6157D3 gpg: Good signature from "AWS X-Ray <aws-xray@amazon.com>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: EA6D 9271 FBF3 6990 277F 4B87 7BFE 036B FE61 57D3

信頼性に関する警告に注意します。自分や信頼する人が署名した場合、鍵は信頼されます。これは、署名が無効であることを意味するものではなく、公開鍵を確認していないことを意味します。

デーモンを実行する

コマンドラインからローカルでデーモンを実行します。ローカルモードで実行するには -o オプションを、リージョンを設定するには -n を使用します。

~/Downloads$ ./xray -o -n us-east-2

プラットフォーム固有の詳細な手順については、以下のトピックを参照してください。

コマンドラインオプションまたは設定ファイルを使用して、デーモンの動作をさらにカスタマイズできます。詳細については、「AWS X-Ray デーモンの設定」を参照してください。

X-Rayにデータを送信するアクセス権限をデーモンに付与する

X-Ray デーモンは AWS SDK を使用してトレースデータを X-Ray にアップロードします。そのためには、アクセス許可を持つ認証情報が必要です AWS 。

Amazon ではEC2、デーモンはインスタンスのインスタンスプロファイルロールを自動的に使用します。デーモンをローカルで実行するために必要な認証情報については、「アプリケーションをローカルで実行する」を参照してください。

複数の場所 (認証情報ファイル、インスタンスプロファイル、または環境変数) で認証情報を指定すると、SDKプロバイダーチェーンによって使用される認証情報が決まります。への認証情報の提供の詳細についてはSDK、 for AWS SDK Go デベロッパーガイドの「認証情報の指定」を参照してください。

デーモンの認証情報が属するIAMロールまたはユーザーには、ユーザーに代わって サービスにデータを書き込むアクセス許可が必要です。

  • Amazon で デーモンを使用するにはEC2、新しいインスタンスプロファイルロールを作成するか、既存のロールに 管理ポリシーを追加します。

  • Elastic Beanstalk でデーモンを使用するには、管理ポリシーを Elastic Beanstalk のデフォルトのインスタンスプロファイルのロールに追加します。

  • デーモンをローカルで実行するには、「アプリケーションをローカルで実行する」を参照してください。

詳細については、「のアイデンティティとアクセスの管理 AWS X-Ray」を参照してください。

X-Ray デーモンログ

デーモンは、現在の設定と に送信するセグメントに関する情報を出力します AWS X-Ray。

2016-11-24T06:07:06Z [Info] Initializing AWS X-Ray daemon 2.1.0 2016-11-24T06:07:06Z [Info] Using memory limit of 49 MB 2016-11-24T06:07:06Z [Info] 313 segment buffers allocated 2016-11-24T06:07:08Z [Info] Successfully sent batch of 1 segments (0.123 seconds) 2016-11-24T06:07:09Z [Info] Successfully sent batch of 1 segments (0.006 seconds)

デフォルトでは、デーモンはログを に出力しますSTDOUT。デーモンをバックグラウンドで実行する場合は、--log-file コマンドラインオプションまたは設定ファイルを使用してログファイルパスを設定します。ログレベルを設定し、ログローテーションを無効にすることもできます。手順については、「AWS X-Ray デーモンの設定」を参照してください。

Elastic Beanstalk では、プラットフォームはデーモンログの場所を設定します。詳細については、「AWS Elastic Beanstalk で X-Ray デーモンを実行します」を参照してください。