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

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

AWS X-Ray デーモン

AWS X-Ray デーモンは、UDP ポート 2000 のトラフィックをリッスンし、未加工のセグメントデータを収集して AWS X-Ray API に中継するソフトウェアアプリケーションです。デーモンは、AWS X-RaySDK によって送信されたデータが X-Ray サービスに到達するように実行する必要があります。

注記

X-Ray デーモンは、オープンソースプロジェクトです。プロジェクトに従って、GitHub github.com/aws/aws-xray-daemon で問題とプルリクエストを送信できます。

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

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

デーモンのダウンロード

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

Amazon S3

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

これらのリンクは、常にデーモンの最新 3.x リリースをポイントします。特定のリリースをダウンロードするには、3.x を対象のバージョン番号に置き換えます。たとえば、2.1.0 と指定します。

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 パブリックレジストリにアップロードします。

次のコマンドを実行して、パブリック ECR レジストリをを使用して認証します。get-login-password(AWS CLI):

aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws

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

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

以前のリリースまたはアルファリリースは、3.xalphaまたは特定のバージョン番号。運用環境では、alpha タグ付きのデーモンイメージを使用することは推奨されません。

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.0.0.zip $ wget $BUCKETURL/xray-daemon/aws-xray-daemon-linux-3.0.0.zip.sig
  2. gpg --verify を実行して署名を確認します。

    $ gpg --verify aws-xray-daemon-linux-3.0.0.zip.sig aws-xray-daemon-linux-3.0.0.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トレースデータを X-Ray にアップロードするには、SDK でAWS認証情報を許可します。

Amazon EC2 では、デーモンはインスタンスのインスタンスプロファイルのロールを自動的に使用します。ローカルで、credentials という名前のフォルダ内のユーザーディレクトリにある .aws という名前のファイルにアクセスキーを保存します。

例 ~/.aws/credentials

[default] aws_access_key_id = AKIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

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

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

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

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

  • ローカルでデーモンを実行するには、IAM ユーザーを作成し、そのアクセスキーをコンピュータに保存します。

詳細については、「AWS X-Ray の Identity and Access Management」を参照してください。

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