

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exécution du daemon X-Ray sur Amazon ECS
<a name="xray-daemon-ecs"></a>

**Note**  
Avis de SDK/Daemon maintenance de X-Ray — Le 25 février 2026, le AWS X-Ray SDKs/Daemon passera en mode maintenance, où les versions du SDK et du Daemon de X-Ray AWS seront limitées uniquement pour résoudre les problèmes de sécurité. Pour plus d'informations sur le calendrier de support, consultez[Chronologie du support pour le SDK et Daemon X-Ray](xray-sdk-daemon-timeline.md). Nous vous recommandons de migrer vers OpenTelemetry. Pour plus d'informations sur la migration vers OpenTelemetry, consultez la section [Migration de l'instrumentation X-Ray vers OpenTelemetry l'instrumentation](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html).

Dans Amazon ECS, créez une image Docker qui exécute le démon X-Ray, téléchargez-la dans un référentiel d'images Docker, puis déployez-la sur votre cluster Amazon ECS. Vous pouvez utiliser des mappages de ports et des paramètres de mode réseau dans votre fichier de définition de tâche pour autoriser votre application à communiquer avec le conteneur du démon.

## Utilisation de l'image Docker officielle de l’
<a name="xray-daemon-ecs-image"></a>

X-Ray fournit une [image de conteneur](https://gallery.ecr.aws/xray/aws-xray-daemon) Docker sur Amazon ECR que vous pouvez déployer parallèlement à votre application. Consultez la section [Téléchargement du daemon](xray-daemon.md#xray-daemon-downloading) pour plus d'informations.

**Example Définition de tâche**  

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

## Création et génération d'une image Docker
<a name="xray-daemon-ecs-build"></a>

Pour une configuration personnalisée, vous devrez peut-être définir votre propre image Docker.

Ajoutez des politiques gérées à votre rôle de tâche pour autoriser le démon à télécharger des données de suivi vers X-Ray. Pour de plus amples informations, veuillez consulter [Autoriser le daemon à envoyer des données à X-Ray](xray-daemon.md#xray-daemon-permissions).

Utilisez l'un des fichiers Dockerfile suivants pour créer une image qui exécute le démon.

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

**Note**  
Les indicateurs `-t` et `-b` sont requis pour spécifier une adresse de liaison afin d'écouter le bouclage d'un environnement à plusieurs conteneurs.

**Example Dockerfile — Ubuntu**  
Pour les dérivés de Debian, vous devez également installer les certificats de l'autorité de certification pour éviter toute erreur lors du téléchargement du programme d'installation.  

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

Dans votre définition de tâche, la configuration dépend du mode de mise en réseau que vous utilisez. La mise en réseau par pont est le mode par défaut et peut être utilisé dans votre VPC par défaut. Dans un réseau en pont, définissez la variable d'`AWS_XRAY_DAEMON_ADDRESS`environnement pour indiquer au SDK X-Ray le port conteneur à référencer et définissez le port hôte. Par exemple, vous pouvez publier le port UDP 2000 et créer un lien depuis votre conteneur d'applications vers le conteneur du démon. 

**Example Définition de tâche**  

```
    {
      "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"
      ]
    }
```

Si vous exécutez votre cluster dans le sous-réseau privé d'un VPC, vous pouvez utiliser le [mode réseau `awsvpc`](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) pour attacher une interface réseau Elastic (ENI) à vos conteneurs. Cela vous permet d'éviter d'utiliser des liens. Omettez le port hôte dans les mappages de ports, le lien, et la variable d'environnement `AWS_XRAY_DAEMON_ADDRESS`.

**Example Définition de tâche de 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
                }
            ]
        }
    ]
}
```

## Configurer les options de ligne de commande dans la console Amazon ECS
<a name="xray-daemon-ecs-cmdline"></a>

Les options de ligne de commande remplacent les valeurs en conflit dans le fichier de configuration de votre image. Les options de ligne de commande sont généralement utilisées pour les tests locaux, mais peuvent également être utilisées par commodité, lors de la définition de variables d'environnement ou pour contrôler le processus de démarrage. 

En ajoutant des options de ligne de commande, vous mettez à jour le Docker `CMD` qui est transmis au conteneur. Pour plus d'informations, consultez le [guide de référence d'exécution Docker](https://docs.docker.com/engine/reference/run/#overriding-dockerfile-image-defaults).

**Définir une option de ligne de commande**

1. Ouvrez la console Amazon ECS Classic à l'adresse [https://console.aws.amazon.com/ecs/](https://console.aws.amazon.com/ecs/).

1. Dans la barre de navigation, choisissez la région qui contient votre définition de tâche.

1. Dans le panneau de navigation, sélectionnez **Task Definitions** (Définition des tâches).

1. Sur la page **Task Definitions**, cochez la case située à gauche de la définition de tâche à réviser, puis choisissez **Create new revision**.

1. Dans la page **Create new revision of Task Definition (Créer une nouvelle révision de la définition de tâche)** sélectionnez le conteneur.

1. Dans la section **ENVIRONMENT (ENVIRONNEMENT)** ajoutez votre liste d'options de ligne de commande séparées par des virgules dans le champ **Command (Commande)**.

1. Choisissez **Mettre à jour**.

1. Vérifiez les informations, puis choisissez **Create** (Créer).

L'exemple suivant montre comment écrire une option de ligne de commande séparée par des virgules pour l'option `RoleARN`. L'`RoleARN`option suppose le rôle IAM spécifié pour télécharger des segments vers un autre compte.

**Example**  

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

Pour en savoir plus sur les options de ligne de commande disponibles dans X-Ray, consultez [Configuration du AWS X-Ray daemon](xray-daemon-configuration.md).