Как управлять тысячами записей поддоменов DNS для службы SAAS?
Вопрос: У нас есть 7000+ поддоменов DNS под cotoso.com, мы хотим сопоставить их с 2 IP-адресами, например, субдомен1-4000 с IP1, 4001-7000 с IP2. Какой лучший способ сделать это?
Справочная информация: Наша компания предоставляет программное обеспечение SAAS. У нас есть 1 корневой домен (скажем, cotoso.com), а затем назначаем один поддомен для каждой компании-клиента (например, company1.cotoso.com, company1.cotoso.com). Каждая компания входит в систему и использует наш SAAS по указанному поддомену.
Ранее наш бизнес был небольшим, у нас было только 1 развертывание сервиса. поэтому настройка DNS довольно проста, просто установите запись A для сопоставления *.cotoso.com с нашим балансировщиком нагрузки.
По мере роста бизнеса мы планируем выполнить несколько развертываний в разных центрах обработки данных. Тем не менее, DNS становится большой проблемой. Сейчас у нас около 7000 клиентов, и мы хотим перевести половину из них в новый центр обработки данных. Как настроить запись DNS?
Моя мысль использует 3 уровня домена:
*.southeast.cotoso.com A 1.2.3.4
*.south.cotoso.com A 1.2.3.5
однако существует конфликт между подстановочными знаками 3-го уровня и DNS-записью с подстановочными символами 2-го уровня, поэтому мы не можем перенести существующих пользователей в новый 3-уровневый домен.
Любая помощь приветствуется.
Спасибо,
2 ответа
Предполагая, что вы знаете субдомены, которые используют ваши клиенты, вам просто нужно настроить DNS-записи для каждого из них, указав на DC, который каждый из них должен использовать. Многие DNS-провайдеры в наши дни имеют "API-интерфейсы" на основе HTTP или различного качества, которые можно использовать для автоматического обновления DNS-записей при обновлении базы данных инициализации (создать запись клиента -> создать запись DNS; отменить клиента -> удалить запись DNS), Если вы сами размещаете DNS, вы можете легко написать что-нибудь для создания данных зоны DNS из ваших записей клиентов.
Подстановочные знаки DNS являются злыми, сбивающими с толку и не делают того, о чем вы, вероятно, думаете. Я настоятельно рекомендую вам прекратить их использование и никогда не позволять им темнеть вашу дверь никогда.
Держите DNS настроенным с одним подстановочным знаком (*.company.com
) и ввести обратный прокси-сервер (например, varnish, haproxy или nginx) для маршрутизации трафика в соответствующую серверную службу. Размещенный пограничный прокси, такой как section.io, может упростить управление прокси, чем запускать его самостоятельно.
Это дает вам гибкость, позволяющую изменить способ обработки маршрутизации с помощью кода, который можно легко модифицировать и изменять, вместо того, чтобы привязываться к конкретной службе DNS и тысячам отдельных записей.