Несколько поддоменов 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), конечно, является последней частью решения (я даю эту точность из-за комментариев, сделанных по этому вопросу).
1 ответ
Единого решения не существует. У вас может быть огромное количество записей в зоне - вам может понадобиться использовать сервер имен, управляемый базой данных, например powerdns, чтобы упростить управление доменами (т. Е. Вы можете просто использовать команды SQL или интерфейс для управления им).
Альтернативой может быть изменение соглашения об именах. Вместо того, чтобы иметь один поддомен, yoy может разбить его на (как минимум) 2 части, например randombit.group.mydomain.com, а затем использовать подстановочные знаки, чтобы вы могли иметь *.group1.mydomain.com A xxxy и *.group2.mydomain.com A xxxz
Будьте осторожны, чтобы использовать низкие значения ttls, чтобы уменьшить время простоя при переключениях, и следите / избегайте форматов имен - они, вероятно, не работают так, как вы думаете.
В зависимости от вашего дизайна - если все серверы отражают одни и те же сайты, и это делается из соображений избыточности / нагрузки, вы можете захотеть взглянуть на более простое решение DNS и использовать вместо этого методы балансировки нагрузки.