Описание услуги

С помощью услуги DNS-хостинг можно размещать домены, ресурсные записи и обратные зоны (PTR-записи) на авторитативных NS-серверах Selectel.

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

Управлять доменами и записями можно в панели управления или с помощью API.

Инфраструктура Selectel DNS

Инфраструктура Selectel DNS состоит из:

  • API сервера, к которому попадают запросы;
  • кластера базы данных, в котором хранится информация о доменах и записях;
  • нескольких NS-серверов. На каждом сервере расположена локальная копия базы данных и запущен NS-сервис, отвечающий на запросы.

Для стабильной работы используется Anycast-балансировка адресов NS-серверов внутри каждого дата-центра и между дата-центрами. Это позволяет обеспечить работоспособность услуги даже в случае выхода из строя нескольких серверов — работа будет продолжаться, пока работает хотя бы один сервер.

Публичные IP-адреса авторитативных NS-серверов Selectel (ns1.selectel.org, ns2.selectel.org, ns3.selectel.org, ns4.selectel.org) находятся под защитой Cloudflare DNS Firewall. DNS Firewall защищает DNS-инфраструктуру от DDoS-атак.

DNS-запросы отправляются в ближайший центр обработки данных Cloudflare, там проверяется легитимность запросов и блокируется вредоносный трафик. После этого запросы отправляются на внутренние адреса NS-серверов, которые находятся внутри Selectel. Cloudflare ускоряет доставку DNS-записей благодаря более чем 200 серверам по всему миру.

Записи хранятся в базе данных PostgreSQL. Из кластера баз данных (мастера PostgreSQL) происходит репликация на слейвы PostgreSQL на авторитативных серверах.

Регистрация и делегирование домена

Доменное имя нужно зарегистрировать — арендовать у компании-регистратора доменов на определенный срок. Минимальный срок регистрации для всех доменных зон — 1 год, а максимальный срок зависит от зоны. Например, для зоны .ru срок регистрации — 1 год, для .com — до 10 лет. После окончания периода регистрации домен необходимо продлить, чтобы вы остались владельцем домена, и ваш сайт продолжил работу.

Примечание: Selectel не предоставляет услуги регистрации и продления доменов.

После регистрации нужно делегировать доменное имя — передать управление доменом на DNS-серверы. Указанные серверы будут хранить информацию о том, какому IP-адресу соответствует домен. Все запросы к домену будут приходить на эти серверы. Подробнее о работе DNS-серверов в блоге Selectel.

Если вы используете услугу DNS-хостинг, то вам нужно делегировать ваш зарегистрированный домен на NS-серверы Selectel. Для этого на стороне регистратора укажите следующие серверы (ресурсные записи NS-типа в панели управления Selectel будут добавлены автоматически при добавлении домена):

ns1.selectel.org
ns2.selectel.org
ns3.selectel.org
ns4.selectel.org

Как подключить сайт к домену

С помощью A-записи вы можете подключить сайт к домену — привязать домен к определенному IP-адресу. В таком случае при обращении к домену будет открываться сайт, расположенный на сервере с указанным IP-адресом.

Если ваш домен делегирован на NS-серверы Selectel, для подключения сайта к домену:

  1. Проверьте, что у домена не истек срок регистрации и он делегирован на DNS-серверы Selectel.
  2. Добавьте домен в панели управления.
  3. Добавьте A-запись со значением IP-адреса вашего сервера.

В дальнейшем при обращении к домену запросы будут отправляться на указанный IP-адрес.

Проверка записей

Ресурсные записи, которые попали в кэш NS-серверов, хранятся не дольше времени, указанного в TTL для этой записи. TTL — это время, через которое кэш запросит информацию об обновлении записи.

Записи могут храниться все TTL или меньшее время. Обновление записей может происходить с задержкой — от нескольких минут до 72 часов.

Для просмотра конкретной записи (NS, SOA и A) и ее TTL:

dig @ns1.selectel.org yourdomain.com A

Где A — тип записи (здесь A-запись).

Чтобы проверить, на какие NS-серверы делегирован домен:

dig yourdomain.com NS

Чтобы проверить, что авторитативные NS-серверы отвечают верно:

dig @ns1.selectel.org yourdomain.com A 	
...
dig @ns4.selectel.org yourdomain.com A	

DNS-балансировка

Обычно для одного доменного имени указывается только одна А-запись, и DNS-сервер возвращает один IP-адрес. С помощью DNS-балансировки можно для одного домена указать несколько A-записей с разными IP-адресами. Такой метод позволяет распределить нагрузку между несколькими серверами и перевести нагруженный сервис на новую группу хостов.

Сервер, на который будет направлен запрос, определяется с помощью алгоритма Round Robin — алгоритма кругового обслуживания. Первый запрос передается одному серверу, затем следующий запрос передается другому, и так далее до достижения последнего сервера. Затем направление запросов начинается сначала.

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

Рекомендуется использовать не более 5-10 записей одновременно, т.к. со стороны сервисов может быть наложено дополнительное ограничение.

Как перенести сайт на новый IP-адрес

Чтобы перенести сайт на новый IP-адрес, в панели управления:

  1. Перейдите в раздел DNS-хостинг ⟶ Домены.
  2. Выберите нужный домен и откройте редактирование A-записи.
  3. Уменьшите TTL A-записи (например, до 300).
  4. Подождите время, равное старому TTL записи.
  5. Снова отредактируйте A-запись, изменив IP-адрес на новый.
  6. Подождите время, указанное в третьем пункте.
  7. Проверьте, что запросы поступают только на новый сервер, а на старом нет запросов от пользователей. После этого можно выключить старый сервер и освободить старый IP-адрес.
  8. Отредактируйте запись, увеличив TTL (например, до 86400).