---
name: azion-distribua-o-trafego-com-pesos
description: >-
  Distribua as respostas de um nome entre vários endereços com registros Weighted no Edge DNS, pelo Azion Console, pela Azion CLI ou pela API.
---

# Distribua o tráfego com pesos

Você pode atribuir pesos a registros para distribuir o tráfego no [Edge DNS](/pt-br/documentacao/plataforma/edge-dns/) pelo Azion Console, pela Azion CLI ou pela Azion API. Vários registros compartilham um nome e um tipo, e cada resposta traz o valor de um deles, escolhido em proporção ao peso dele. Para adicionar um registro que responde com todos os valores de uma vez, consulte [Adicione, edite ou exclua um registro](/pt-br/documentacao/guias/seguranca-de-aplicacoes/dns/adicionar-registros/).

---

Selecione a sua interface uma vez. Os pré-requisitos e todas as tarefas abaixo mostram apenas esse caminho.

## Pré-requisitos

- Uma zona para o seu domínio. Para criar uma, consulte [Crie, edite ou exclua uma zona](/pt-br/documentacao/guias/seguranca-de-aplicacoes/dns/edge-dns-definir-main-settings/).
- A permissão **Edit Edge DNS**. Ela exige **View Edge DNS**. Consulte [Permissões de equipes](/pt-br/documentacao/fundamentos/teams-permissions/).
- O `dig` na sua máquina, para conferir as respostas. Para instalá-lo, consulte [Consulte uma zona com o dig](/pt-br/documentacao/guias/seguranca-de-aplicacoes/dns/executar-o-comando-dig/).

**Console**

- Acesso ao Azion Console. Para entrar, consulte [Como acessar o Azion Console](/pt-br/documentacao/guias/plataforma/conta-e-billing/como-acessar-o-azion-console/).

**CLI**

- A [Azion CLI](/pt-br/documentacao/devtools/cli/) instalada e autorizada.
- O ID da zona. O comando `azion list dns-zone` o exibe na coluna `ID`.

**API**

- Um [personal token](/pt-br/documentacao/guias/plataforma/conta-e-billing/personal-tokens/) e `curl`.
- O `id` da zona. Uma requisição `GET` para `https://api.azion.com/v4/workspace/dns/zones` retorna cada zona com o `id` dela.
- Para todos os endpoints e campos da API, consulte a [referência da Azion API](https://api.azion.com/).

---

## Adicione os registros com política Weighted

Este exemplo adiciona três registros A no nome `lb`, um por endereço, com pesos 50, 20 e 30. Ao longo de muitas respostas, `192.0.2.21` leva cerca de metade delas, `192.0.2.22` leva um quinto e `192.0.2.23` leva o restante. Substitua os endereços pelos seus e `example.com` pelo seu domínio.

Cada registro usa um TTL de 20 segundos, para que os resolvers escolham de novo mais cedo. Um TTL curto também faz os resolvers consultarem com mais frequência, e cada consulta conta para o [uso incluído](/pt-br/documentacao/plataforma/edge-dns/limites/#uso-incluido-por-plano) do seu plano.

**Console**

Para adicionar o primeiro registro no Azion Console:

1. **Abra a página do Edge DNS**

   Acesse [Azion Console](https://console.azion.com/) > **Edge DNS**.

2. **Abra a zona**

   Na página **Zones**, selecione a linha da zona e, depois, a aba **Records**.

3. **Selecione + Record**

   O drawer **Create Record** se abre.

4. **Informe o nome do registro**

   Em **Name**, informe `lb`. O Console mostra o seu domínio depois do campo e o adiciona para você, então nunca digite o domínio.

5. **Mantenha o tipo de registro A**

   Mantenha **Record Type** em *A - IPv4 Address*.

6. **Defina o TTL**

   Em **TTL (seconds)**, informe `20`.

7. **Informe o valor**

   Em **Value**, informe `192.0.2.21`.

8. **Selecione a política Weighted**

   Na seção **Policy**, defina **Policy Type** como *Weighted*.

9. **Defina o peso**

   Em **Weight**, informe `50`. O Console preenche o campo com `100`.

10. **(Opcional) Descreva o registro**

    Em **Description**, informe até 45 caracteres que diferenciem este registro dos outros em `lb`, como `origin weight 50`.

11. **Selecione Save**

O Console mostra `Edge DNS Record has been created`, e o registro aparece na tabela **Records** com `weighted` na coluna **Policy**.

Repita os passos para os outros dois registros. Mantenha **Name** `lb`, **Record Type** A e o TTL, e altere apenas o valor e o peso: `192.0.2.22` com peso `20` e, depois, `192.0.2.23` com peso `30`. A tabela **Records** passa a listar três linhas `lb`.

**CLI**

Para adicionar os três registros pela Azion CLI, execute um comando por registro. Substitua `<zone-id>` pelo ID da sua zona:

```bash
azion create dns-record --zone-id <zone-id> --name lb --type A --rdata 192.0.2.21 --ttl 20 --policy weighted --weight 50 --description "origin weight 50"
azion create dns-record --zone-id <zone-id> --name lb --type A --rdata 192.0.2.22 --ttl 20 --policy weighted --weight 20 --description "origin weight 20"
azion create dns-record --zone-id <zone-id> --name lb --type A --rdata 192.0.2.23 --ttl 20 --policy weighted --weight 30 --description "origin weight 30"
```

Cada comando exibe o ID do registro que criou:

```text
Created DNS record with ID 100780
```

A CLI usa `--weight` e `--description` apenas quando `--policy` é `weighted`. Nunca inclua o domínio em `--name`: o Edge DNS o adiciona.

Para conferir os registros, liste os registros da zona:

```bash
azion list dns-record --zone-id <zone-id>
```

A lista mostra os três registros em `lb`, cada um com o próprio ID:

```text
ID      NAME  TYPE  TTL  RDATA
…
100188  lb    A     20   192.0.2.21
100189  lb    A     20   192.0.2.22
100190  lb    A     20   192.0.2.23
…
```

A zona guarda os três registros com política *Weighted*. Anote os IDs deles: uma alteração posterior de peso os usa.

**API**

Para adicionar o primeiro registro pela Azion API, envie uma requisição `POST` ao endpoint de registros da zona. Substitua `<zone-id>` pelo `id` da sua zona e `[TOKEN VALUE]` pelo seu personal token:

```bash
curl -X POST https://api.azion.com/v4/workspace/dns/zones/<zone-id>/records \
  -H "Authorization: Token [TOKEN VALUE]" \
  -H "Content-Type: application/json" \
  -d '{"name":"lb","type":"A","rdata":["192.0.2.21"],"ttl":20,"policy":"weighted","weight":50,"description":"origin weight 50"}'
```

Um `201` retorna o registro:

```json
{
  "state": "executed",
  "data": {
    "id": 100188,
    "description": "origin weight 50",
    "name": "lb",
    "ttl": 20,
    "type": "A",
    "rdata": ["192.0.2.21"],
    "policy": "weighted",
    "weight": 50
  }
}
```

Envie a mesma requisição mais duas vezes, com os mesmos `name`, `type`, `ttl` e `policy`. Altere apenas o valor, o peso e a descrição:

```bash
curl -X POST https://api.azion.com/v4/workspace/dns/zones/<zone-id>/records \
  -H "Authorization: Token [TOKEN VALUE]" \
  -H "Content-Type: application/json" \
  -d '{"name":"lb","type":"A","rdata":["192.0.2.22"],"ttl":20,"policy":"weighted","weight":20,"description":"origin weight 20"}'

curl -X POST https://api.azion.com/v4/workspace/dns/zones/<zone-id>/records \
  -H "Authorization: Token [TOKEN VALUE]" \
  -H "Content-Type: application/json" \
  -d '{"name":"lb","type":"A","rdata":["192.0.2.23"],"ttl":20,"policy":"weighted","weight":30,"description":"origin weight 30"}'
```

Cada requisição retorna `201` com o próprio registro. A zona guarda três registros com política *Weighted* em `lb`. Anote cada `id`: uma alteração posterior de peso o usa. Um registro enviado sem `weight` recebe `255`.

A política *Weighted* funciona em registros A, AAAA, CNAME, ANAME e MX. Um registro TXT ou NS com `policy` definido como `weighted` é recusado com `19017`. Para todos os campos e os limites deles, consulte [Zonas e registros](/pt-br/documentacao/plataforma/edge-dns/zonas-e-registros/#campos-do-registro).

---

## Confira as respostas da política Weighted

Consulte o nameserver da Azion diretamente, sem o cache do seu resolver, para ver qual endereço ele responde.

> **Atenção**
>
> Consulte `lb` apenas depois de salvar o primeiro registro dele. Um nome consultado antes de o registro existir recebe a resposta `NXDOMAIN` por até uma hora, o mínimo do SOA, mesmo depois que você adiciona o registro.

Para consultar o nome em `ns1.aziondns.net`, substitua `example.com` pelo seu domínio:

```bash
dig +short @ns1.aziondns.net lb.example.com A
```

O nameserver retorna um endereço, o valor do registro que ele escolheu:

```text
192.0.2.21
```

Cada resposta traz um endereço, nunca os três. Execute a consulta de novo logo em seguida e o mesmo endereço volta: o nameserver responde a partir de um cache que faz a contagem regressiva do TTL do registro. Execute-a de novo depois de cada TTL de 20 segundos, ao longo de vários minutos, e os outros endereços aparecem. Ao longo de muitas respostas, cada endereço responde na proporção do peso dele. Para saber como o nameserver escolhe, consulte [Como o Edge DNS funciona](/pt-br/documentacao/plataforma/edge-dns/como-funciona/#politicas-de-registro).

Um nome novo que ninguém consultou antes de existir responde em segundos. Uma alteração em um registro existente pode levar alguns minutos para chegar a todos os nameservers. Para os detalhes, consulte [Cache e propagação](/pt-br/documentacao/plataforma/edge-dns/como-funciona/#cache-e-propagacao).

---

## Tire um endereço da rotação

Um registro com peso `0` permanece na zona e nunca é respondido. Defina o peso `0` para interromper as respostas de um endereço sem excluir o registro dele, e restaure o peso para trazê-lo de volta. Antes de excluir um registro com política *Weighted*, defina primeiro o peso dele como `0`, como explica [Boas práticas para Edge DNS](/pt-br/documentacao/plataforma/edge-dns/boas-praticas/#defina-o-peso-0-antes-de-excluir-um-registro-com-politica-weighted).

**Console**

Para definir o peso de um registro como `0` no Azion Console:

1. **Abra a página do Edge DNS**

   Acesse [Azion Console](https://console.azion.com/) > **Edge DNS**.

2. **Abra a zona**

   Na página **Zones**, selecione a linha da zona e, depois, a aba **Records**.

3. **Abra o registro**

   Selecione a linha do registro. O drawer **Edit Record** se abre.

4. **Defina o peso como 0**

   Em **Weight**, informe `0`.

5. **Selecione Save**

O Console mostra `Edge DNS Record has been updated`, e a coluna **Weight** da linha mostra `0`.

**CLI**

Para definir o peso de um registro como `0` pela Azion CLI, substitua `<zone-id>` e `<record-id>` pelos IDs da zona e do registro:

```bash
azion update dns-record --zone-id <zone-id> --record-id <record-id> --weight 0
```

O comando confirma a atualização:

```text
DNS record 100189 was updated
```

O registro mantém a política *Weighted*, e o peso dele é `0`. Para conferir, execute `azion describe dns-record --zone-id <zone-id> --record-id <record-id>`, que exibe `Policy: weighted` e `Weight: 0`.

**API**

Para definir o peso de um registro como `0` pela Azion API, envie uma requisição `PATCH` com `weight` definido como `0`. Substitua `<zone-id>` e `<record-id>` pelo `id` da zona e do registro:

```bash
curl -X PATCH https://api.azion.com/v4/workspace/dns/zones/<zone-id>/records/<record-id> \
  -H "Authorization: Token [TOKEN VALUE]" \
  -H "Content-Type: application/json" \
  -d '{"weight":0}'
```

Um `200` retorna o registro com peso `0`:

```json
{
  "state": "executed",
  "data": {
    "id": 100190,
    "description": "origin weight 30",
    "name": "lb",
    "ttl": 20,
    "type": "A",
    "rdata": ["192.0.2.23"],
    "policy": "weighted",
    "weight": 0
  }
}
```

Um `PATCH` altera apenas os campos que você envia, então o registro mantém o valor e a política dele.

Os resolvers que guardaram o endereço em cache o mantêm até o TTL dele expirar, e a alteração pode levar alguns minutos para chegar a todos os nameservers. Depois disso, os outros registros levam todas as respostas do nome.

---

## Próximos passos

- [Como o Edge DNS funciona](/pt-br/documentacao/plataforma/edge-dns/como-funciona.md#politicas-de-registro): Como uma resposta com política Weighted é escolhida e guardada em cache.
- [Zonas e registros](/pt-br/documentacao/plataforma/edge-dns/zonas-e-registros.md#campos-do-registro): Cada campo de registro, os limites dele e o padrão.
- [Adicione, edite ou exclua um registro](/pt-br/documentacao/guias/seguranca-de-aplicacoes/dns/adicionar-registros.md): Altere ou remova os registros de uma zona.
- [Solucionar problemas de Edge DNS](/pt-br/documentacao/plataforma/edge-dns/solucao-de-problemas.md#um-registro-com-politica-weighted-sempre-retorna-o-mesmo-endereco): Corrija um registro com política Weighted que retorna um só endereço.
