Como realizar um balanceamento de carga entre registros DNS

Você pode usar uma zona do Edge DNS para criar vários registros e realizar um balanceamento de carga DNS. Atribuir diferentes pesos a cada registro para a mesma zona ajuda a distribuir o tráfego de rede recebido, garantindo uma melhor utilização dos recursos e evitando sobrecarga em um único servidor.

Neste guia, você aprenderá um exemplo usando um tipo de registro A, que aceita valores no formato de endereço IPv4.


  1. Acesse o Azion Console > Edge DNS.
  2. Escolha a zona na qual deseja adicionar registros na lista ou crie uma zona.
  3. Selecione a aba Records.
  4. Clique no botão Add Record.
  5. Em Name, forneça o nome do novo registro. Exemplo: lbexemplo.
  6. Em Type, selecione o tipo de registro A.
  7. Em Value, adicione os itens para a resposta DNS ao registro registrado no formato de endereço IPv4. Exemplo: 192.111.0.1.
  8. Em TTL (seconds), escolha o tempo, em segundos, que uma resposta pode ser armazenada em um servidor de resolução. Valor máximo: 2147483647.
  9. Em Policy, selecione Weighted.
    • Em Weight, especifique o peso para o registro, considerando que você criará outros registros para a mesma zona com pesos diferentes. Aceita valores de 0 a 255.
    • Em Description (opcional), você pode adicionar um texto curto que diferencia os registros que você criará para o balanceamento de carga. Aceita até 45 caracteres.
  10. Clique no botão Save.
  11. Repita as etapas de 4 a 10 para criar os outros registros DNS balanceados necessários, observando sempre os limites do Edge DNS, usando sempre o mesmo Name e definindo os endereços desejados em Value e pesos diferentes para cada registro em Weight.

Se você adicionar 3 registros, por exemplo, pode especificar um peso de 50 para o primeiro registro, 20 para o segundo registro e 30 para o terceiro registro.


  1. Execute a seguinte requisição GET em seu terminal, substituindo [TOKEN VALUE] pelo seu personal token para recuperar seu <hosted_zone_id>:
Terminal window
curl --location 'https://api.azionapi.net/intelligent_dns' \
--header 'Authorization: Token [TOKEN VALUE]' \
--header 'Accept: application/json; version=3'
  1. Você receberá uma resposta com todas as suas zonas existentes. Copie o valor do <id> que deseja usar.
  2. Execute a seguinte requisição POST, substituindo [TOKEN VALUE] pelo seu personal token e o valor <hosted_zone_id> que você copiou:
Terminal window
curl --location 'https://api.azionapi.net/intelligent_dns/<hosted_zone_id>/records' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token [TOKEN VALUE]' \
--header 'Accept: application/json; version=3' \
--data-raw '{
"record_type": "A",
"entry": "lbexemplo",
"answers_list": [
"192.111.0.1",
"192.111.0.2"
],
"ttl": 20,
"policy": "weighted",
"weight": 50,
"description": "policy weight 50"
}'
  1. Você receberá uma resposta semelhante a esta:
{
"results": {
"answers_list": [
"192.111.0.1",
"192.111.0.2"
],
"zone_id": 3600,
"weight": 50,
"record_type": "A",
"ttl": 20,
"policy": "weighted",
"entry": "lbexemplo",
"id": 61752,
"description": "policy weight 50"
},
"schema_version": 3
}

Aguarde alguns minutos para que as alterações se propaguem e seus registros sejam criados na zona hospedada que você escolheu.

  1. Repita as etapas para criar os outros registros DNS balanceados necessários, observando sempre os limites do Edge DNS, usando sempre o mesmo entry e definindo os endereços desejados no parâmetro answers_list e pesos diferentes para cada registro no parâmetro weight.

Após configurar seu registro balanceado, você pode testar e ver se está funcionando por meio de comandos no terminal:

  1. Execute dig +short [seu hostname balanceado] algumas vezes seguidas.
    • Você verá a lista de endereços variar, a cada vez, com base no registro selecionado pelo balanceador de carga feito no Edge DNS.
  2. A resposta será semelhante a:
Terminal window
dig +short lbexemplo @ns1.aziondns.net
192.111.0.1
Terminal window
dig +short lbexemplo @ns1.aziondns.net
192.111.0.2
Terminal window
dig +short lbexemplo @ns1.aziondns.net
192.111.0.3



Contribuidores