Чи можемо ми мати кілька CNAMES для одного Імені?


43

Мені це потрібно для балансування навантаження. Наприклад, у мене є два облікових запису в лазурному сховищі (скажімо aі b) і адреси блобу для таких є a.blob.core.windows.netі b.blob.core.windows.net. Вони обидва зберігають однакові дані. Тепер мені потрібно вказати єдине зовнішнє ім’я (скажімо example.com), яке вказує на облікові записи пам’яті та повинно працювати в круговій обробці. Цього можна досягти, якщо я створять два записи CNAME в DNS наступним чином, і він вирішиться до одного з них під час круглої робінгу.

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

Але я не можу створити дві записи CNAME для одного імені на сервері Windows DNS.

Так це коли-небудь можливо?


Я не можу перевірити, але я не думаю, що ви можете це зробити з CNAMES. Спробуйте замість записів A.
День

1
@Dan Проблема полягатиме у послугах, які не мають фіксованого IP-адреси, як AWS Elastic Load Balancer. З огляду на те, що core.windows.netя підозрював би подібну ситуацію в Azure чи щось подібне.
ceejayoz

Але, маючи записи A, я повинен вказати правильну IP-адресу? Я віддаю перевагу імена DNS перед IP-адресами.
Рагурам Мурті П

чому ти хотів би це зробити? сховище azure blob вже налаштоване на високу доступність та географічну надмірність.
JTKH

@JTKH це було через те, що блоб має обмеження на завантаження 65 Мб / сек або близько того, і якщо я хочу більше обмеження для завантаження, я подумав про використання декількох крапок.
Рагурам Мурті П

Відповіді:


58

Кілька записів CNAME для одного і того ж повноцінного доменного імені є порушенням специфікацій для DNS. Деякі версії BIND дозволять вам це зробити (деякі, лише якщо ви вказали multiple-cnames yesопцію) і забезпечили б баланс між навантаженнями, але це технічно не є законним.

Не повинно існувати записів ресурсів (RR) з тим самим іменем, як CNAME, і, щоб вибрати гниди, які включали б кілька однакових CNAME. Повний RFC 1034, Розділ 3.6.2:

Якщо RAME CNAME присутній у вузлі, інших даних не повинно бути; це гарантує, що дані для канонічного імені та його псевдонімів не можуть бути різними. Це правило також гарантує, що кешований CNAME можна використовувати без перевірки на авторитетному сервері для інших типів RR.

Листовий метод RFC для обробки того, що ви робите, був би з одним CNAME з посиланням на "A" запис, збалансований навантаженням.



11

Ти не можеш. CNAME робить один запис іншим іменем для іншого. Якщо запис може мати CNAMES для двох імен, це не буде іншим ім'ям для жодного з них, а ім'ям чогось зовсім нового, що робить запис CNAME невідповідним.

Імовірно, є хороший спосіб вирішити вашу зовнішню проблему. Наприклад, ви можете мати кілька записів A.


чи можу я одночасно мати одну CName та одну запис A для веб-сайту?
amesh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.