Назад | Перейти на главную страницу

Множественный поддомен DNS

Я пытаюсь создать службу хостинга для веб-сайтов, в основном, на нескольких машинах. Затем, когда пользователь создает веб-сайт, я даю ему случайный идентификатор (например, «a4589», «pu8we» и т. Д.), Используемый в качестве поддомена.

Затем, поскольку у меня будет несколько физических серверов, мне было интересно создать запись в DNS для каждого поддомена. Более или менее похожи на эти записи:

a4589 A 192.168.0.23
pu8we A 192.168.0.23
az336 A 192.168.0.25
z012p CNAME ec2-89-65-36.amazon.com

Но это создаст много записей (тысячи записей), и я не уверен в устойчивости такого решения. Основное преимущество - возможность прозрачного переключения с одного сервера на другой.

У вас есть идеи сделать это по-другому или вы думаете, что это решение правильное? Использование виртуальных хостов на конечных машинах (серверах Apache), конечно, является последней частью решения (я даю эту точность из-за комментария, сделанного по этому вопросу).

Нет единого решения. У вас может быть огромное количество записей в зоне - вы можете захотеть взглянуть на сервер имен, управляемый базой данных, например powerdns, чтобы упростить управление доменами (то есть вы можете просто использовать команды SQL или интерфейс для управления им).

Альтернативой может быть изменение соглашения об именах. Вместо того, чтобы иметь один поддомен, yoy может разбить его на (как минимум) 2 части, например randombit.group.mydomain.com, а затем использовать подстановочные знаки, так что вы можете получить * .group1.mydomain.com A x.x.x.y. и * .group2.mydomain.com A x.x.x.z

Будьте осторожны, запускайте низкие ttls, чтобы сократить время простоя во время переналадки, и смотрите / избегайте формата cnames - они, вероятно, не работают так, как вы думаете.

В зависимости от вашего дизайна - если все серверы отражают одни и те же сайты, и это делается по причинам избыточности / нагрузки, вы можете захотеть взглянуть на более простое решение DNS и вместо этого использовать методы балансировки нагрузки.