

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Executar o daemon do X-Ray no Amazon ECS
<a name="xray-daemon-ecs"></a>

**nota**  
Aviso de SDK/Daemon manutenção do X-Ray — Em 25 de fevereiro de 2026, o AWS X-Ray SDKs/Daemon entrará no modo de manutenção, onde AWS limitará as versões do X-Ray SDK e do Daemon para tratar apenas de problemas de segurança. Para obter mais informações sobre a linha do tempo do suporte, consulte [Cronograma de suporte do X-Ray SDK e do Daemon Support](xray-sdk-daemon-timeline.md). Recomendamos migrar para o. OpenTelemetry Para obter mais informações sobre a migração para OpenTelemetry, consulte [Migrando da instrumentação X-Ray para a instrumentação](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html). OpenTelemetry 

No Amazon ECS, crie uma imagem do Docker que executa o daemon do X-Ray, carregue-a em um repositório de imagens do Docker e, em seguida, implante-a no cluster do Amazon ECS. Você pode usar os mapeamentos de porta e as configurações de modo de rede em seu arquivo de definição de tarefa para permitir que o aplicativo se comunique com o contêiner do daemon.

## Usar a imagem oficial do Docker da
<a name="xray-daemon-ecs-image"></a>

O X-Ray fornece uma [imagem de contêiner](https://gallery.ecr.aws/xray/aws-xray-daemon) do Docker no Amazon ECR que você pode implantar com o aplicativo. Para obter mais informações, consulte [Baixar o daemon](xray-daemon.md#xray-daemon-downloading).

**Example definição da tarefa**  

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

## Criar e compilar uma imagem do Docker
<a name="xray-daemon-ecs-build"></a>

Para a configuração personalizada, pode ser necessário definir sua própria imagem do Docker.

Adicione políticas gerenciadas no perfil da tarefa para conceder ao daemon permissão para carregar dados de rastreamento no X-Ray. Para obter mais informações, consulte [Conceder permissão ao daemon para enviar dados ao X-Ray](xray-daemon.md#xray-daemon-permissions).

Use um dos seguintes Dockerfiles para criar uma imagem que executa o daemon.

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

**nota**  
Os sinalizadores `-t` e `-b` são necessários para especificar um endereço de vinculação para ouvir o loopback de um ambiente com vários contêineres.

**Example Dockerfile: Ubuntu**  
Para derivados do Debian, você também precisa instalar certificados da autoridade de certificação (CA) para evitar problemas ao baixar o instalador.  

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

Na definição da tarefa, a configuração vai depender do modo de rede que você usa. A rede bridge é o padrão e pode ser usado na sua VPC padrão. Em uma rede de ponte, defina a variável de ambiente `AWS_XRAY_DAEMON_ADDRESS` para informar ao X-Ray SDK a qual porta de contêiner deve ser feita referência e defina a porta do host. Por exemplo, você poderia publicar a porta UDP 2000 e criar um link do contêiner do aplicativo para o contêiner do daemon. 

**Example definição da tarefa**  

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

Se você executar o seu cluster na sub-rede privada de uma VPC, poderá usar o [`awsvpc` modo de rede](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) para anexar uma interface de rede elástica (ENI) aos seus contêineres. Isso permite que você evite o uso de links. Omita a porta host nos mapeamentos de porta, o link e a variável de ambiente `AWS_XRAY_DAEMON_ADDRESS`.

**Example Definição de tarefa da 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
                }
            ]
        }
    ]
}
```

## Configurar opções da linha de comandos no console do Amazon ECS
<a name="xray-daemon-ecs-cmdline"></a>

As opções da linha de comando substituem qualquer valor conflitante no arquivo de configuração da imagem. As opções da linha de comando normalmente são usadas para testes locais, mas também podem ser usadas por conveniência ao definir variáveis de ambiente ou para controlar o processo de inicialização. 

Ao adicionar opções da linha de comando, você está atualizando o Docker `CMD` que é transmitido para o contêiner. Para obter mais informações, consulte a [Referência de execução do Docker](https://docs.docker.com/engine/reference/run/#overriding-dockerfile-image-defaults).

**Como definir uma opção da linha de comando**

1. Abra o console clássico do Amazon ECS em [https://console.aws.amazon.com/ecs/](https://console.aws.amazon.com/ecs/).

1. Na barra de navegação, selecione a região que contém a definição de tarefa.

1. No painel de navegação, selecione **Definições de tarefas**.

1. Na página **Task Definitions**, selecione a caixa à esquerda da definição de tarefa a ser revisada e escolha **Create new revision**.

1. Na página **Create new revision of Task Definition (Criar revisão da definição de tarefa)**, selecione o contêiner.

1. Na seção **ENVIRONMENT (AMBIENTE)**, adicione a lista separada por vírgulas das opções da linha de comando ao campo ** Command (Comando)**.

1. Selecione **Atualizar**.

1. Verifique as informações e escolha **Create**.

O exemplo a seguir mostra como escrever uma lista separada por vírgulas da opção da linha de comando para a opção `RoleARN`. A opção `RoleARN` assume o perfil do IAM especificado para carregar segmentos em uma conta diferente.

**Example**  

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

Para saber mais sobre as opções de linha de comando disponíveis no X-Ray, consulte [Configurando o AWS X-Ray Daemon](xray-daemon-configuration.md).