Possiamo avere più CNAMES per un singolo nome?


43

Ne ho bisogno per il bilanciamento del carico. Ad esempio, ho due account di archiviazione azzurrati (dire ae b) e gli indirizzi BLOB per quelli sono a.blob.core.windows.nete b.blob.core.windows.net. Entrambi memorizzano dati identici. Ora ho bisogno di fornire un singolo nome esterno (diciamo example.com) che punti a entrambi gli account di archiviazione e dovrebbe funzionare in round robin. Ciò può essere ottenuto se creo due voci CNAME in DNS come segue e si risolve in una di esse in round robing.

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

Ma non riesco a creare due record CNAME per un singolo nome nel server DNS di Windows.

Quindi è mai possibile?


Non posso controllare, ma non credo che tu possa farlo con CNAMES. Prova invece A record.
Dan

1
@Dan Il problema saranno i servizi che non hanno un IP fisso, come un bilanciamento del carico elastico AWS. Dato il core.windows.netsospetto che avessi una situazione simile in Azure o qualcosa del genere.
Ceejayoz,

Ma con i record A, devo specificare l'indirizzo IP giusto? Preferisco i nomi DNS agli indirizzi IP.
Raghuram Murthy P

perché vorresti farlo? l'archiviazione BLOB di Azure è già impostata per l'alta disponibilità e la ridondanza geografica.
JTKH,

@JTKH perché il BLOB ha un limite di download di 65 MB / sec circa e se voglio un limite di download maggiore, ho pensato di utilizzare più di un BLOB.
Raghuram Murthy P

Risposte:


58

Più record CNAME per lo stesso nome di dominio completo costituiscono una violazione delle specifiche per DNS. Alcune versioni di BIND ti permetterebbero di farlo (alcune solo se hai specificato l' multiple-cnames yesopzione) e bilancerebbero il bilanciamento del carico tra questi, ma non è tecnicamente legale.

Non si suppone che ci siano record di risorse (RR) con lo stesso nome di un CNAME e, per scegliere i nits, che includano più CNAME identici. Quoth RFC 1034, Sezione 3.6.2:

Se un RR CNAME è presente in un nodo, non dovrebbero essere presenti altri dati; questo assicura che i dati per un nome canonico e i suoi alias non possano essere diversi. Questa regola assicura inoltre che un CNAME memorizzato nella cache possa essere utilizzato senza verificare con un server autorevole altri tipi di RR.

Il metodo letter-of-the RFC per gestire ciò che stai facendo sarebbe con un singolo CNAME che fa riferimento a un record "A" bilanciato dal carico.



11

Non puoi. Un CNAME fa registrare un altro nome per un altro. Se un record potesse avere CNAMES per due nomi, non sarebbe un altro nome per nessuno dei due, ma un nome per qualcosa di completamente nuovo, rendendo inappropriata una voce CNAME.

C'è probabilmente un buon modo per risolvere il tuo problema esterno. Ad esempio, puoi avere più record A.


posso avere un CName e un record A per il sito Web contemporaneamente?
amesh
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.