

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

# AWS X-Ray デーモン
<a name="xray-daemon"></a>

**注記**  
X-Ray SDK/デーモンメンテナンス通知 – 2026 年 2 月 25 日、 AWS X-Ray SDKsデーモンはメンテナンスモードに移行します。 AWS では、X-Ray SDK とデーモンのリリースがセキュリティの問題にのみ対処するように制限されます。サポートタイムラインの詳細については、「[X-Ray SDK とデーモンのサポートタイムライン](xray-sdk-daemon-timeline.md)」を参照してください。OpenTelemetry に移行することをお勧めします。OpenTelemetry への移行の詳細については、「[X-Ray による計装から OpenTelemetry による計装への移行](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html)」を参照してください。

**注記**  
CloudWatch エージェントを使用して Amazon EC2 インスタンスとオンプレミスサーバーからメトリクス、ログ、トレースを収集できます。CloudWatch エージェントバージョン 1.300025.0 以降では、[OpenTelemetry](xray-instrumenting-your-app.md#xray-instrumenting-opentel) または [X-Ray](xray-instrumenting-your-app.md#xray-instrumenting-xray-sdk) クライアント SDK からトレースを収集し、それらを X-Ray に送信できます。 AWS Distro for OpenTelemetry (ADOT) Collector または X-Ray デーモンの代わりに CloudWatch エージェントを使用してトレースを収集することで、管理するエージェントの数を減らすことができます。詳細については、「CloudWatch ユーザーガイド」の「[CloudWatch エージェント](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)」のトピックを参照してください。

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

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

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

## デーモンのダウンロード
<a name="xray-daemon-downloading"></a>

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

------
#### [ Amazon S3 ]

**X-Ray デーモンのインストーラおよび実行ファイル**
+ **Linux (実行可能ファイル)** – [https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-linux-3.x.zip](https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-linux-3.x.zip) ([sig](https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-linux-3.x.zip.sig))
+ **Linux (RPM インストーラ)** – [https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-3.x.rpm](https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-3.x.rpm)
+ **Linux (DEB インストーラ)** – [https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-3.x.deb](https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-3.x.deb)
+ **Linux (ARM64、実行可能ファイル)** – [https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-linux-arm64-3.x.zip](https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-linux-arm64-3.x.zip) ([sig](https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-linux-arm64-3.x.zip.sig))
+ **Linux（ARM64、RPM インストーラ）** – [https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-arm64-3.x.rpm](https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-arm64-3.x.rpm)
+ **Linux (ARM64、DEB インストーラ)** – [https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-arm64-3.x.deb](https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-arm64-3.x.deb)
+ **OS X (実行可能ファイル)** – [https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-macos-3.x.zip](https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-macos-3.x.zip) ([sig](https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-macos-3.x.zip.sig)) 
+ **Windows (実行可能ファイル)** – [https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-windows-process-3.x.zip](https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-windows-process-3.x.zip) ([sig](https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-windows-process-3.x.zip.sig))
+ **Windows (サービス) ** – [https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-windows-service-3.x.zip](https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-windows-service-3.x.zip) ([sig](https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-windows-service-3.x.zip.sig))

これらのリンクは、常にデーモンの最新の3.xリリースを指しています。特定のリリースをダウンロードするには、以下を実行します。
+ バージョン `3.3.0` より前のリリースをダウンロードする場合は、`3.x` をそのバージョン番号に置き換えます。例えば、`2.1.0`。`3.3.0` より前のバージョンでは、使用可能なアーキテクチャは `arm64` のみです。例えば、`2.1.0` と `arm64` です。
+ バージョン `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](https://gallery.ecr.aws/xray/aws-xray-daemon)に掲載されています。イメージを引っ張る前にAmazon ECR パブリックレジストリに[Docker クライアントを認証する](https://docs.aws.amazon.com/AmazonECR/latest/public/public-registries.html#public-registry-auth)必要があります。

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

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

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

------
#### [ Docker Hub ]

デーモンは、[Docker Hub](https://hub.docker.com/r/amazon/aws-xray-daemon)で見ることができます。次のコマンドを実行して、最新リリースの3.xバージョンをダウンロードします。

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

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

------

## デーモンアーカイブの署名の確認
<a name="xray-daemon-signature"></a>

GPG 署名ファイルは、ZIP アーカイブで圧縮されたデーモンアセットで使用するために含まれています。ホストのパブリックキーは、次の場所にあります。[https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray.gpg](https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray.gpg)

公開鍵を使用して、デーモンの ZIP アーカイブがオリジナルで変更されていないことを確認できます。まず、[GnuPG](https://gnupg.org/index.html) で公開鍵をインポートします。

**パブリックキーをインポートするには**

1. 公開鍵をダウンロードします。

   ```
   $ BUCKETURL=https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2
   $ wget $BUCKETURL/xray-daemon/aws-xray.gpg
   ```

1. 公開鍵をキーリングにインポートします。

   ```
   $ 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
   ```

1. `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
   ```

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

## デーモンを実行する
<a name="xray-daemon-running"></a>

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

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

プラットフォーム固有の詳細な手順については、以下のトピックを参照してください。
+ **Linux (ローカル)** – [Linux で X-Ray デーモンを実行する](xray-daemon-local.md#xray-daemon-local-linux)
+ **Windows (ローカル)** – [Windows で X-Ray デーモンを実行する](xray-daemon-local.md#xray-daemon-local-windows)
+ **Elastic Beanstalk** – [での X-Ray デーモンの実行 AWS Elastic Beanstalk](xray-daemon-beanstalk.md)
+ **Amazon EC2** – [Amazon EC2 での X-Ray デーモンの実行](xray-daemon-ec2.md)
+ **Amazon ECS** – [Amazon ECS での X-Ray デーモンの実行](xray-daemon-ecs.md)

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

## X-Rayにデータを送信するアクセス権限をデーモンに付与する
<a name="xray-daemon-permissions"></a>

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

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

1 つ以上の場所 (認証情報ファイル、インスタンスプロファイル、または環境変数) で認証情報を指定する場合、SDK プロバイダーチェーンは、使用される認証情報を決定します。SDK に認証情報を提供する方法の詳細については、[ SDK for Go 開発者ガイド](https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/#specifying-credentials)の*AWS 認証情報の指定*を参照してください。

デーモンの認証情報が属している IAM ロールまたはユーザーには、サービスにデータを書き込むアクセス権限が必要です。
+ Amazon EC2 でデーモンを使用するには、新しいインスタンスプロファイルのロールを作成するか、既存のロールに管理ポリシーを追加します。
+ Elastic Beanstalk でデーモンを使用するには、管理ポリシーを Elastic Beanstalk のデフォルトのインスタンスプロファイルのロールに追加します。
+ デーモンをローカルで実行するには、「[アプリケーションをローカルで実行する](security_iam_service-with-iam.md#xray-permissions-local)」を参照してください。

詳細については、「[の ID とアクセスの管理 AWS X-Ray](security-iam.md)」を参照してください。

## X-Ray デーモンログ
<a name="xray-daemon-logging"></a>

デーモンは、現在の設定と送信先のセグメントに関する情報を出力します 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 デーモンの設定](xray-daemon-configuration.md)」を参照してください。

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

# AWS X-Ray デーモンの設定
<a name="xray-daemon-configuration"></a>

**注記**  
X-Ray SDK/デーモンメンテナンス通知 – 2026 年 2 月 25 日、 AWS X-Ray SDKsデーモンはメンテナンスモードに移行します。 AWS では、X-Ray SDK とデーモンのリリースがセキュリティの問題にのみ対処するように制限されます。サポートタイムラインの詳細については、「[X-Ray SDK とデーモンのサポートタイムライン](xray-sdk-daemon-timeline.md)」を参照してください。OpenTelemetry に移行することをお勧めします。OpenTelemetry への移行の詳細については、「[X-Ray による計装から OpenTelemetry による計装への移行](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html)」を参照してください。

コマンドラインオプションまたは設定ファイルを使用して、X-Ray デーモンの動作をカスタマイズできます。ほとんどのオプションは両方の方法を使用して利用できますが、一部は設定ファイルのみを使用でき、一部はコマンドラインのみを使用できます。

開始するには、`-n` または`--region`のみが必要です。デーモンがトレースデータをX-Ray に送信するために使用するリージョンを設定するために使用します。

```
~/xray-daemon$ ./xray -n us-east-2
```

デーモンを、Amazon EC2 ではなく、ローカルで実行している場合、`-o` オプションを追加すると、デーモンをより迅速に開始できるように、インスタンスプロファイルの認証情報のチェックをスキップできます。

```
~/xray-daemon$ ./xray -o -n us-east-2
```

残りのコマンドラインオプションを使用して、ロギングの設定、別のポートでのリッスン、デーモンが使用できるメモリ量の制限、別のアカウントにトレースデータを送信するロールの割り当てができます。

設定ファイルをデーモンに渡して、詳細な設定オプションにアクセスしたり、X-Ray への同時呼び出し数を制限したり、ログローテーションを無効にしたり、プロキシにトラフィックを送信したりすることができます。

**Topics**
+ [サポートされている環境変数](#xray-daemon-configuration-variables)
+ [コマンドラインオプションを使用する](#xray-daemon-configuration-commandline)
+ [設定ファイルを使用する](#xray-daemon-configuration-configfile)

## サポートされている環境変数
<a name="xray-daemon-configuration-variables"></a>

X-Ray デーモンは次の環境変数をサポートしています。
+ `AWS_REGION` – X-Ray サービスエンドポイントの [AWS リージョン](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration-region) を指定します。
+ `HTTPS_PROXY` セグメントをアップロードするデーモンのプロキシアドレスを指定します。これは、DNS ドメイン名または IP アドレス、あるいはプロキシサーバーで使用されているポート番号のいずれかです。

## コマンドラインオプションを使用する
<a name="xray-daemon-configuration-commandline"></a>

ローカルで実行するか、またはユーザーデータスクリプトを使用して、これらのオプションをデーモンに渡します。

**コマンドラインオプション**
+ `-b`、`--bind` 別の UDP ポートでセグメントドキュメントをリッスンします。

  ```
  --bind "127.0.0.1:3000"
  ```

  デフォルト – `2000`
+ `-t`、 `--bind-tcp` 別の TCP ポートで X-Ray サービスへの呼び出しをリッスンします。

  ```
  -bind-tcp "127.0.0.1:3000"
  ```

  デフォルト – `2000`
+ `-c`、 `--config` 指定されたパスから設定ファイルをロードします。

  ```
  --config "/home/ec2-user/xray-daemon.yaml"
  ```
+ `-f`、 `--log-file` 指定されたファイルパスにログを出力します。

  ```
  --log-file "/var/log/xray-daemon.log"
  ```
+ `-l`、 `--log-level`ログレベルを dev、debug、info、warn、error、prod (詳細な順) から指定します。

  ```
  --log-level warn
  ```

  デフォルト – `prod`
+ `-m`、 `--buffer-memory`バッファが使用できるメモリの量をメガバイト単位で変更します (最小値 3)。

  ```
  --buffer-memory 50
  ```

  デフォルト – 使用可能なメモリ総量の 1%
+  `-o`、 `--local-mode`– EC2 インスタンスのメタデータをチェックしません。
+  `-r`、 `--role-arn`– 指定した IAM ロールで、別のアカウントにセグメントをアップロードできるようにします。

  ```
  --role-arn "arn:aws:iam::123456789012:role/xray-cross-account"
  ```
+ `-a`、 `--resource-arn` – デーモンを実行しているリソースの Amazon AWS リソースネーム (ARN)。
+ `-p`、 `--proxy-address` — プロキシ AWS X-Ray を介してセグメントを にアップロードします。プロキシサーバーのプロトコルを指定する必要があります。

  ```
  --proxy-address "http://192.0.2.0:3000"
  ```
+ `-n`、`--region` 特定のリージョンの X-Ray サービスにセグメントを送信します。
+ `-v`、 `--version` – AWS X-Ray デーモンバージョンを表示します。
+ `-h`、`--help` – ヘルプ画面を表示します。

## 設定ファイルを使用する
<a name="xray-daemon-configuration-configfile"></a>

YAML 形式のファイルを使用して、デーモンを設定することもできます。`-c` オプションを使用して、設定ファイルをデーモンに渡します。

```
~$ ./xray -c ~/xray-daemon.yaml
```

**設定ファイルのオプション**
+ `TotalBufferSizeMB` – 最大バッファサイズ (MB) (最小値 3)。ホストメモリの 1% を使用するには、0 を選択します。
+ `Concurrency` – セグメントドキュメントをアップロード AWS X-Ray するための への同時呼び出しの最大数。
+ `Region` – セグメントを特定のリージョン AWS X-Ray のサービスに送信します。
+ `Socket` – デーモンのバインディングを設定します。
  + `UDPAddress` – デーモンがリッスンするポートを変更します。
  + `TCPAddress` – 別の TCP ポートで[ X-Ray サービスへの呼び出し](xray-api-sampling.md)をリッスンします。
+ `Logging` – ログ記録の動作を設定します。
  + `LogRotation` – `false`に設定してログローテーションを無効にします。
  + `LogLevel` - ログレベルを変更します。詳細なものから順に、`dev`、`debug`、`info`、または `prod`、`warn`、`error`、`prod` です。デフォルトは です。`prod`と等価である。`info`。
  + `LogPath` – 指定されたファイルパスにログを出力します。
+ `LocalMode`–EC2 インスタンスのメタデータのチェックをスキップするには `true` に設定します。
+ `ResourceARN` – デーモンを実行しているリソースの Amazon AWS リソースネーム (ARN)。
+ `RoleARN` – 指定した IAM ロールで、別のアカウントにセグメントをアップロードできるようにします。
+ `ProxyAddress` – プロキシ AWS X-Ray を介してセグメントを にアップロードします。
+ `Endpoint` – デーモンがセグメントドキュメントを送信する X-Ray サービスエンドポイントを変更します。
+ `NoVerifySSL` – TLS 証明書認証を無効にします。
+ `Version` – デーモンの設定ファイル形式のバージョン。ファイル形式のバージョンは**必須**フィールド。

**Example xray-daemon.yaml**  
この設定ファイルでは、デーモンのリスニングポートを 3000 に変更し、インスタンスメタデータの確認をオフにして、セグメントをアップロードするために使用するロールを設定し、リージョンおよびログ作成オプションを変更します。  

```
Socket:
  UDPAddress: "127.0.0.1:3000"
  TCPAddress: "127.0.0.1:3000"
Region: "us-west-2"
Logging:
  LogLevel: "warn"
  LogPath: "/var/log/xray-daemon.log"
LocalMode: true
RoleARN: "arn:aws:iam::123456789012:role/xray-cross-account"
Version: 2
```

# ローカルで X-Ray; デーモンを実行する
<a name="xray-daemon-local"></a>

**注記**  
X-Ray SDK/デーモンメンテナンス通知 – 2026 年 2 月 25 日に、 AWS X-Ray SDKs/Daemon はメンテナンスモードに移行します。 AWS は、X-Ray SDK とデーモンのリリースをセキュリティ上の問題にのみ対処するように制限します。サポートタイムラインの詳細については、「[X-Ray SDK とデーモンのサポートタイムライン](xray-sdk-daemon-timeline.md)」を参照してください。OpenTelemetry に移行することをお勧めします。OpenTelemetry への移行の詳細については、「[X-Ray による計装から OpenTelemetry による計装への移行](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html)」を参照してください。

 AWS X-Ray デーモンは、Linux、MacOS、Windows、または Docker コンテナでローカルに実行できます。実装されたアプリケーションを開発してテストするときに、デーモンを実行してトレースデータを X-Ray に中継します。[ここ](xray-daemon.md#xray-daemon-downloading)に示す手順を使用して、デーモンをダウンロードして解凍します。

ローカルで実行する場合、デーモンは AWS SDK 認証情報ファイル (`.aws/credentials` ユーザーディレクトリ) または環境変数から認証情報を読み取ることができます。詳細については、「[X-Rayにデータを送信するアクセス権限をデーモンに付与する](xray-daemon.md#xray-daemon-permissions)」を参照してください。

デーモンはポート 2000 の UDP データをリッスンします。ポートおよびその他のオプションは、設定ファイルとコマンドラインオプションを使用して変更できます。詳細については、「[AWS X-Ray デーモンの設定](xray-daemon-configuration.md)」を参照してください。

## Linux で X-Ray デーモンを実行する
<a name="xray-daemon-local-linux"></a>

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

```
~/xray-daemon$ ./xray -o -n us-east-2
```

バックグラウンドでデーモンを実行するには、`&` を使用します。

```
~/xray-daemon$ ./xray -o -n us-east-2 &
```

`pkill` を使用してバックグラウンドで実行されるデーモンプロセスを終了します。

```
~$ pkill xray
```

## Docker コンテナで X-Ray デーモンを実行する
<a name="xray-daemon-local-docker"></a>

Docker コンテナでデーモンをローカルで実行するには、`Dockerfile` という名前のファイルに次のテキストを保存します。Amazon ECR で、完全な[イメージ例](https://gallery.ecr.aws/xray/aws-xray-daemon)をダウンロードします。詳細については、「[デーモンのダウンロード](xray-daemon.md#xray-daemon-downloading)」を参照してください。

**Example Dockerfile — Amazon Linux**  

```
FROM amazonlinux
RUN yum install -y unzip
RUN curl -o daemon.zip https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-linux-3.x.zip
RUN unzip daemon.zip && cp xray /usr/bin/xray
ENTRYPOINT ["/usr/bin/xray", "-t", "0.0.0.0:2000", "-b", "0.0.0.0:2000"]
EXPOSE 2000/udp
EXPOSE 2000/tcp
```

`docker build` を使用してコンテナイメージを構築します。

```
~/xray-daemon$ docker build -t xray-daemon .
```

`docker run` を使用してコンテナでイメージを実行します。

```
~/xray-daemon$ docker run \
      --attach STDOUT \
      -v ~/.aws/:/root/.aws/:ro \
      --net=host \
      -e AWS_REGION=us-east-2 \
      --name xray-daemon \
      -p 2000:2000/udp \
      xray-daemon -o
```

このコマンドでは、以下のオプションを使用します。
+ `--attach STDOUT` – ターミナルにデーモンからの出力を表示します。
+ `-v ~/.aws/:/root/.aws/:ro` – コンテナに `.aws` ディレクトリへの読み取り専用アクセスを許可し、 AWS SDK 認証情報の読み取りを許可します。
+ `AWS_REGION=us-east-2` – `AWS_REGION`環境変数を設定して、使用するリージョンをデーモンに指定します。
+ `--net=host` – コンテナを `host` ネットワークにアタッチします。ホストネットワーク上のコンテナは、ポートを公開しなくても相互に通信できます。
+ `-p 2000:2000/udp` – マシン上の UDP ポート 2000 をコンテナの同じポートにマップします。これは、同じネットワークのコンテナが通信するために必要ではありませんが、これにより、[コマンドライン](xray-api-sendingdata.md#xray-api-daemon)または Docker で実行されていないアプリケーションからセグメントをデーモンに送信できます。
+ `--name xray-daemon` – ランダムな名前を生成する代わりに、コンテナに `xray-daemon` という名前を付けます。
+ `-o` (イメージ名の後ろ) – コンテナ内でデーモンを実行するエントリポイントに `-o` オプションを追加します。このオプションは、Amazon EC2インスタンスのメタデータを読み取らないようにするため、ローカルモードで実行するようにデーモンに指示します。

デーモンを停止するには、`docker stop` を使用します。`Dockerfile` を変更して新しいイメージを作成する場合は、同じ名前の別のコンテナを作成する前に、既存のコンテナを削除する必要があります。`docker rm` を使用してコンテナを削除します。

```
$ docker stop xray-daemon
$ docker rm xray-daemon
```

## Windows で X-Ray デーモンを実行する
<a name="xray-daemon-local-windows"></a>

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

```
> .\xray_windows.exe -o -n us-east-2
```

PowerShell スクリプトを使用してデーモンのサービスを作成および実行します。

**Example PowerShell スクリプト - Windows**  

```
if ( Get-Service "AWSXRayDaemon" -ErrorAction SilentlyContinue ){
    sc.exe stop AWSXRayDaemon
    sc.exe delete AWSXRayDaemon
}
if ( Get-Item -path aws-xray-daemon -ErrorAction SilentlyContinue ) {
    Remove-Item -Recurse -Force aws-xray-daemon
}

$currentLocation = Get-Location
$zipFileName = "aws-xray-daemon-windows-service-3.x.zip"
$zipPath = "$currentLocation\$zipFileName"
$destPath = "$currentLocation\aws-xray-daemon"
$daemonPath = "$destPath\xray.exe"
$daemonLogPath = "C:\inetpub\wwwroot\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)

sc.exe create AWSXRayDaemon binPath= "$daemonPath -f $daemonLogPath"
sc.exe start AWSXRayDaemon
```

## OS X で X-Ray デーモンを実行する
<a name="xray-daemon-local-osx"></a>

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

```
~/xray-daemon$ ./xray_mac -o -n us-east-2
```

バックグラウンドでデーモンを実行するには、`&` を使用します。

```
~/xray-daemon$ ./xray_mac -o -n us-east-2 &
```

ターミナル終了時にデーモンが終了されるのを防止するには、`nohup` を使用します。

```
~/xray-daemon$ nohup ./xray_mac &
```

# での X-Ray デーモンの実行 AWS Elastic Beanstalk
<a name="xray-daemon-beanstalk"></a>

**注記**  
X-Ray SDK/デーモンメンテナンス通知 – 2026 年 2 月 25 日、 AWS X-Ray SDKsデーモンはメンテナンスモードに移行します。 AWS では、X-Ray SDK とデーモンのリリースがセキュリティの問題にのみ対処するように制限されます。サポートタイムラインの詳細については、「[X-Ray SDK とデーモンのサポートタイムライン](xray-sdk-daemon-timeline.md)」を参照してください。OpenTelemetry に移行することをお勧めします。OpenTelemetry への移行の詳細については、「[X-Ray による計装から OpenTelemetry による計装への移行](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html)」を参照してください。

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

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

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

Elastic Beanstalk プラットフォームに含まれているバージョンは最新バージョンではない場合があります。[サポートされているプラットフォームのトピック](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html)を参照して、プラットフォーム設定で利用できるデーモンのバージョンを確認してください。

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

## Elastic Beanstalk X-Ray 統合を使用して X-Ray デーモンの実行します。
<a name="xray-daemon-beanstalk-option"></a>

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

**Elastic Beanstalk コンソールで X-Ray デーモンを有効にするには**

1. [[Elastic Beanstalk console]](https://console.aws.amazon.com/elasticbeanstalk) (Elastic Beanstalk コンソール) を開いてください。

1. 環境に対応する[マネジメントコンソール](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-console.html)に移動します。

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

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

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

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

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

**Example .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 マネジメントコンソール またはコマンドラインからインスタンスログをプルするためのツールが用意されています。設定ファイルでタスクを追加して、X-Ray デーモンログを含めるように Elastic Beanstalk に伝えることができます。

**Example .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
```

**Example .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]](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.logging.html) (Elastic Beanstalk 環境のAmazon EC2 インスタンスからのログの表示) を参照してください。

## X-Ray デーモンを手動でダウンロードして実行します (上級編)
<a name="xray-daemon-beanstalk-manual"></a>

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

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

**Example .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
```

**Example .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) を使用したログのリクエスト時にその内容を含めるようにしています。

# Amazon EC2 での X-Ray デーモンの実行
<a name="xray-daemon-ec2"></a>

**注記**  
X-Ray SDK/デーモンメンテナンス通知 – 2026 年 2 月 25 日、 AWS X-Ray SDKs/Daemon はメンテナンスモードに移行します。 AWS では、X-Ray SDK とデーモンのリリースがセキュリティの問題にのみ対処するように制限されます。サポートタイムラインの詳細については、「[X-Ray SDK とデーモンのサポートタイムライン](xray-sdk-daemon-timeline.md)」を参照してください。OpenTelemetry に移行することをお勧めします。OpenTelemetry への移行の詳細については、「[X-Ray による計装から OpenTelemetry による計装への移行](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html)」を参照してください。

Amazon EC2 上の次のオペレーティングシステムで X-Ray デーモンを実行できます。
+ Amazon Linux
+ Ubuntu
+ Windows Server (2012 R2 以降)

インスタンスプロファイルを使用して、トレースデータを X-Ray にアップロードするアクセス権限をデーモンに付与します。詳細については、「[X-Rayにデータを送信するアクセス権限をデーモンに付与する](xray-daemon.md#xray-daemon-permissions)」を参照してください。

インスタンスを起動するときに、ユーザーデータのスクリプトを使用して自動的にデーモンを実行します。

**Example ユーザーデータスクリプト - Linux**  

```
#!/bin/bash
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
yum install -y /home/ec2-user/xray.rpm
```

**Example ユーザーデータスクリプト - Windows Server**  

```
<powershell>
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
</powershell>
```

# Amazon ECS での X-Ray デーモンの実行
<a name="xray-daemon-ecs"></a>

**注記**  
X-Ray SDK/デーモンメンテナンス通知 – 2026 年 2 月 25 日、 AWS X-Ray SDKsデーモンはメンテナンスモードに移行します。 AWS では、X-Ray SDK とデーモンのリリースがセキュリティの問題にのみ対処するように制限されます。サポートタイムラインの詳細については、「[X-Ray SDK とデーモンのサポートタイムライン](xray-sdk-daemon-timeline.md)」を参照してください。OpenTelemetry に移行することをお勧めします。OpenTelemetry への移行の詳細については、「[X-Ray による計装から OpenTelemetry による計装への移行](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html)」を参照してください。

Amazon ECS で、X-Ray デーモンを実行する Docker イメージを作成し、それを Docker イメージリポジトリにアップロードして、 クラスターにデプロイできます。タスク定義ファイルでポートマッピングとネットワークモード設定を使用すると、アプリケーションがデーモンコンテナと通信できるようになります。

## 公式 Docker イメージの使用
<a name="xray-daemon-ecs-image"></a>

X-Ray は、アプリケーションと一緒にデプロイできる Amazon ECRのDocker [コンテナイメージ](https://gallery.ecr.aws/xray/aws-xray-daemon)を提供します。詳細については、「[デーモンのダウンロード](xray-daemon.md#xray-daemon-downloading)」を参照してください。

**Example タスク定義**  

```
    {
      "name": "xray-daemon",
      "image": "amazon/aws-xray-daemon",
      "cpu": 32,
      "memoryReservation": 256,
      "portMappings" : [
          {
              "hostPort": 0,
              "containerPort": 2000,
              "protocol": "udp"
          }
       ]
    }
```

## Docker イメージの作成と構築
<a name="xray-daemon-ecs-build"></a>

カスタム設定では、独自の Docker イメージの定義が必要になる場合があります。

タスクロールに管理ポリシーを追加して、デーモンにトレースデータを X-Ray にアップロードするアクセス許可を与えます。詳細については、「[X-Rayにデータを送信するアクセス権限をデーモンに付与する](xray-daemon.md#xray-daemon-permissions)」を参照してください。

次のいずれかの Dockerfiles を使用して、デーモンを実行するイメージを作成します。

**Example Dockerfile — Amazon Linux**  

```
FROM amazonlinux
RUN yum install -y unzip
RUN curl -o daemon.zip https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-linux-3.x.zip
RUN unzip daemon.zip && cp xray /usr/bin/xray
ENTRYPOINT ["/usr/bin/xray", "-t", "0.0.0.0:2000", "-b", "0.0.0.0:2000"]
EXPOSE 2000/udp
EXPOSE 2000/tcp
```

**注記**  
マルチコンテナ環境のループバックをリッスンするためのバインディングアドレスを指定するには、フラグ `-t` および `-b` が必要です。

**Example Dockerfile - Ubuntu**  
Debian から派生した OS では、認証機関 (CA) の証明書をインストールして、インストーラのダウンロード時の問題を回避します。  

```
FROM ubuntu:16.04
RUN apt-get update && apt-get install -y --force-yes --no-install-recommends apt-transport-https curl ca-certificates wget && apt-get clean && apt-get autoremove && rm -rf /var/lib/apt/lists/*
RUN wget https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-3.x.deb
RUN dpkg -i aws-xray-daemon-3.x.deb
ENTRYPOINT ["/usr/bin/xray", "--bind=0.0.0.0:2000", "--bind-tcp=0.0.0.0:2000"]
EXPOSE 2000/udp
EXPOSE 2000/tcp
```

タスク定義では、使用するネットワーキングモードによって設定が異なります。デフォルトはブリッジネットワーキングで、デフォルトの VPC で使用できます。ブリッジネットワークで、X-Ray SDK に参照先のコンテナポートを指示し、ホストポートを設定するように `AWS_XRAY_DAEMON_ADDRESS` 環境変数を設定します。たとえば、UDP ポート 2000 を発行し、アプリケーションコンテナからデーモンコンテナへのリンクを作成します。

**Example タスク定義**  

```
    {
      "name": "xray-daemon",
      "image": "123456789012.dkr.ecr.us-east-2.amazonaws.com/xray-daemon",
      "cpu": 32,
      "memoryReservation": 256,
      "portMappings" : [
          {
              "hostPort": 0,
              "containerPort": 2000,
              "protocol": "udp"
          }
       ]
    },
    {
      "name": "scorekeep-api",
      "image": "123456789012.dkr.ecr.us-east-2.amazonaws.com/scorekeep-api",
      "cpu": 192,
      "memoryReservation": 512,
      "environment": [
          { "name" : "AWS_REGION", "value" : "us-east-2" },
          { "name" : "NOTIFICATION_TOPIC", "value" : "arn:aws:sns:us-east-2:123456789012:scorekeep-notifications" },
          { "name" : "AWS_XRAY_DAEMON_ADDRESS", "value" : "xray-daemon:2000" }
      ],
      "portMappings" : [
          {
              "hostPort": 5000,
              "containerPort": 5000
          }
      ],
      "links": [
        "xray-daemon"
      ]
    }
```

VPC のプライベートサブネットでクラスターを実行する場合は、[`awsvpc` ネットワークモード](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html)を使用して、Elastic Network Interface (ENI) をコンテナにアタッチできます。これにより、リンクの使用を避けることができます。ポートマッピング、リンク、および `AWS_XRAY_DAEMON_ADDRESS` 環境変数でホストポートを省略します。

**Example VPC タスク定義**  

```
{
    "family": "scorekeep",
    "networkMode":"awsvpc",
    "containerDefinitions": [
        {
          "name": "xray-daemon",
          "image": "123456789012.dkr.ecr.us-east-2.amazonaws.com/xray-daemon",
          "cpu": 32,
          "memoryReservation": 256,
          "portMappings" : [
              {
                  "containerPort": 2000,
                  "protocol": "udp"
              }
          ]
        },
        {
            "name": "scorekeep-api",
            "image": "123456789012.dkr.ecr.us-east-2.amazonaws.com/scorekeep-api",
            "cpu": 192,
            "memoryReservation": 512,
            "environment": [
                { "name" : "AWS_REGION", "value" : "us-east-2" },
                { "name" : "NOTIFICATION_TOPIC", "value" : "arn:aws:sns:us-east-2:123456789012:scorekeep-notifications" }
            ],
            "portMappings" : [
                {
                    "containerPort": 5000
                }
            ]
        }
    ]
}
```

## Amazon ECS コンソールでのコマンドラインオプションの構成
<a name="xray-daemon-ecs-cmdline"></a>

コマンドラインオプションは、イメージの設定ファイル内の競合する値を上書きします。コマンドラインオプションは、一般的にローカルテストに使用されますが、環境変数を設定する際の便宜上、または起動プロセスを制御するために使用することもできます。

コマンドラインオプションを追加することで、コンテナに渡される Docker `CMD` が更新されます。詳細については、[Docker run リファレンス](https://docs.docker.com/engine/reference/run/#overriding-dockerfile-image-defaults)を参照してください。

**コマンドラインオプションを設定するには**

1. Amazon ECS クラシックコンソール ([https://console.aws.amazon.com/ecs/](https://console.aws.amazon.com/ecs/)) を開きます。

1. ナビゲーションバーから、タスク定義を含むリージョンを選択します。

1. ナビゲーションペインで、**[タスク定義]** を選択します。

1. [**Task Definitions**] ページで、変更するタスク定義の左側にあるボックスをオンにし、[**Create new revision**] を選択します。

1. [**Create new revision of Task Definition (タスク定義の新しいリビジョンを作成)**] ページで、コンテナを選択します。

1. [**ENVIRONMENT (環境)**] セクションで、コマンドラインオプションのカンマ区切りリストを [**Command (コマンド)**] フィールドに追加します。

1. **[更新]** を選択します。

1. 情報を確認し、[**Create**] を選択します。

次の例は、`RoleARN` オプションのコマンドラインオプションをカンマで区切って記述する方法を示しています。`RoleARN` オプションは、セグメントを別のアカウントにアップロードするために、指定された IAM ロール を引き受けます。

**Example**  

```
--role-arn, arn:aws:iam::123456789012:role/xray-cross-account
```

X-Ray で使用可能なコマンドラインオプションの詳細については、[AWS X-Ray 「 デーモンの設定](xray-daemon-configuration.md)」を参照してください。