Podemos ter vários CNAMES para um único nome?

35

Eu preciso disso para balanceamento de carga. Por exemplo, eu tenho duas contas de armazenamento do azure (digamos, a e b ) e os endereços de blob para eles são a.blob.core.windows.net e b.blob.core.windows.net . Ambos armazenam dados idênticos. Agora preciso fornecer um único nome externo (digamos example.com ) que aponte para as duas contas de armazenamento e funcione em round robin. Isso pode ser conseguido se eu criar duas entradas CNAME no DNS como segue e se resolver para uma delas no round robing.

  1. example.com CNAME a.blob.core.windows.net
  2. example.com CNAME b.blob.core.windows.net

Mas não consigo criar dois registros CNAME para um único nome no servidor DNS do Windows.

Então, isso é possível?

    
por Raghuram Murthy P 07.02.2014 / 23:07

2 respostas

48

Vários registros CNAME para o mesmo nome de domínio totalmente qualificado são uma violação das especificações do DNS. Algumas versões do BIND permitiriam que você fizesse isso (algumas apenas se você especificasse a opção multiple-cnames yes ) e equilibraria a carga entre elas, mas não é tecnicamente legal.

Não deve haver registros de recursos (RRs) com o mesmo nome de um CNAME e, para selecionar nits, isso inclui vários CNAMEs idênticos. Quoth RFC 1034, Seção 3.6.2:

If a CNAME RR is present at a node, no other data should be present; this ensures that the data for a canonical name and its aliases cannot be different. This rule also insures that a cached CNAME can be used without checking with an authoritative server for other RR types.

A letra do método RFC para lidar com o que você está fazendo seria com um único CNAME referente a um registro "A" com balanceamento de carga.

    
por 07.02.2014 / 23:17
10

Você não pode. Um CNAME faz um registro outro nome para outro. Se um registro pudesse ter CNAMES para dois nomes, não seria outro nome para nenhum deles, mas um nome para algo inteiramente novo, tornando uma entrada CNAME inadequada.

Provavelmente, é uma boa maneira de resolver seu problema externo. Por exemplo, você pode ter vários registros A.

    
por 07.02.2014 / 23:17