Peut-on avoir plusieurs CNAMES pour un même nom?

43

J'ai besoin de cela pour équilibrer la charge. Par exemple, j'ai deux comptes de stockage azur (dire aet b) et les adresses de blob pour ceux qui sont a.blob.core.windows.netet b.blob.core.windows.net. Les deux stockent des données identiques. Maintenant, je dois fournir un nom externe unique (par exemple example.com) qui pointe à la fois les comptes de stockage et devrait fonctionner en round robin. Cela peut être réalisé si je crée deux entrées CNAME dans DNS comme suit et que l'une d'entre elles se résolve par round robing.

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

Mais je ne peux pas créer deux enregistrements CNAME pour un seul nom sur le serveur DNS Windows.

Alors est-ce toujours possible?

Raghuram Murthy P
la source
Je ne peux pas vérifier, mais je ne pense pas que vous puissiez faire cela avec le CNAMES. Essayez A records à la place.
Dan
1
@Dan Le problème va être celui des services qui n'ont pas d'adresse IP fixe, comme un AWS Elastic Load Balancer. Étant donné le core.windows.netje soupçonne une situation similaire dans Azure ou quelque chose.
ceejayoz
Mais avec A records, je dois spécifier l'adresse IP non? Je préfère les noms DNS aux adresses IP.
Raghuram Murthy P
pourquoi voudriez-vous faire ça? azure blob storage est déjà configuré pour la haute disponibilité et la redondance géographique.
JTKH
@JTKH c'est parce que blob a une limite de téléchargement de 65 Mo / sec ou plus et si je veux plus de limite de téléchargement, j'ai pensé à utiliser plus d'un blob.
Raghuram Murthy P

Réponses:

58

Plusieurs enregistrements CNAME pour le même nom de domaine complet constituent une violation des spécifications de DNS. Certaines versions de BIND vous permettent de le faire (certaines uniquement si vous avez spécifié l' multiple-cnames yesoption) et effectuent un équilibrage alternatif de la charge entre elles, mais ce n'est techniquement pas légal.

Il n'est pas supposé qu'il y ait des enregistrements de ressources (RR) avec le même nom qu'un CNAME et, pour choisir des nits, cela inclurait plusieurs CNAME identiques. Quoth RFC 1034, section 3.6.2:

Si un RR CNAME est présent sur un nœud, aucune autre donnée ne doit être présente; Cela garantit que les données d'un nom canonique et ses alias ne peuvent pas être différents. Cette règle garantit également qu’un CNAME mis en cache peut être utilisé sans vérification auprès d’un serveur faisant autorité pour d’autres types de RR.

La méthode par lettre RFC permettant de gérer ce que vous faites serait avec un seul CNAME faisant référence à un enregistrement "A" équilibré en charge.

Evan Anderson
la source
Voir docstore.mik.ua/orelly/networking_2ndEd/dns/… pour plus de détails.
wedi
11

Vous ne pouvez pas. Un CNAME attribue un enregistrement à un autre nom. Si un enregistrement peut avoir CNAMES pour deux noms, ce ne sera pas un autre nom pour l'un d'eux, mais un nom pour quelque chose de entièrement nouveau, rendant une entrée CNAME inappropriée.

Il existe probablement un bon moyen de résoudre votre problème extérieur. Par exemple, vous pouvez avoir plusieurs enregistrements A.

David Schwartz
la source
puis-je avoir un CName et un A Record pour le site Web en même temps?
Amesh