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

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

AWS X-Ray デーモン

注記

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

AWS X-Ray デーモンは、UDP ポート 2000 でトラフィックをリッスンし、raw セグメントデータを収集して API に中継するソフトウェアアプリケーションです AWS X-Ray 。デーモンは AWS X-Ray SDKs と連動し、SDK によって送信されたデータが 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

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

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 ECR パブリックレジストリにDocker クライアントを認証する必要があります。

次のコマンドを実行して、最新のリリース 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 では、デーモンはインスタンスのインスタンスプロファイルのロールを自動的に使用します。デーモンをローカルで実行するために必要な認証情報については、「アプリケーションをローカルで実行する」を参照してください。

1 つ以上の場所 (認証情報ファイル、インスタンスプロファイル、または環境変数) で認証情報を指定する場合、SDK プロバイダーチェーンは、使用される認証情報を決定します。SDK に認証情報を提供する方法の詳細については、 SDK for Go 開発者ガイドAWS 認証情報の指定を参照してください。

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

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

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

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

詳細については、「の Identity and Access Management 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 デーモンを実行します」を参照してください。