Разделение тестовой и production-сред

С помощью настройки DNS можно разделить тестовую и production-среды, что повышает стабильность инфраструктуры и упрощает управление. Далее на примере будет показано, как выделить тестовую среду в отдельную подзону DNS:

  • Production-среда остается в основной DNS-зоне example.com.
  • Тестовая среда размещается в подзоне test.example.com, которая делегирована на DNS-серверы VK Cloud.
  • Ресурсные записи каждой среды создаются и управляются только в своей зоне.

Подготовительные шаги

  1. Перейдите в личный кабинет VK Cloud.

  2. Создайте DNS-зону для production-среды, если она еще не создана.

  3. Установите утилиту dig на ваш компьютер для проверки настройки DNS:

    $ sudo apt update && sudo apt install dnsutils

1. Создайте подзону

Создайте подзону для тестовой среды, указав параметры:

  • Проект: проект, в котором размещается DNS-зона production-среды.
  • DNS-зона: test.example.com.
  • Контактный email: почта администратора зоны.

Остальные параметры оставьте по умолчанию или настройте по необходимости.

2. Делегируйте управление подзоной

Создайте в DNS-зоне example.com NS-записи, указав параметры:

  • Тип записи: NS.
  • Имя: test.
  • Значение: адреса NS-серверов для зоны example.com, которые можно посмотреть в списке ресурсных записей. В этом примере: ns1.mcs.mail.ru — для первой записи, ns2.mcs.mail.ru — для второй записи.

Пример ресурсных записей в DNS-зоне example.com после делегирования управления подзоной:

test   NS   ns1.mcs.mail.rutest   NS   ns2.mcs.mail.ru

3. Настройте DNS для тестовой среды

  1. Создайте A-запись в подзоне test.example.com, указав параметры:

    • Тип записи: A.
    • Имя: app.
    • IP-адрес: IP-адрес тестового сервера.
    • ТТL: оставьте по умолчанию или настройте по необходимости.
  2. Создайте CNAME-запись в подзоне test.example.com, указав параметры:

    • Тип записи: CNAME.
    • Имя: api.
    • Значение: домен тестовых сервисов.
    • ТТL: оставьте по умолчанию или настройте по необходимости.
  3. (Опционально) Создайте в подзоне test.example.com другие ресурсные записи, которые понадобятся для работы в тестовой среде. Например, с помощью записей MX и TXT можно определить тестовые почтовые серверы и их настройки.

Пример ресурсных записей в подзоне test.example.com после настройки DNS для тестовой среды:

app   A   192.168.1.10api   CNAME   app.test.example.com

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

4. Настройте DNS для production-среды

  1. Создайте A-запись в DNS-зоне example.com, указав параметры:

    • Тип записи: A.
    • Имя: app.
    • IP-адрес: IP-адрес production-сервера.
    • ТТL: оставьте по умолчанию или настройте по необходимости.
  2. Создайте CNAME-запись в DNS-зоне example.com, указав параметры:

    • Тип записи: CNAME.
    • Имя: api.
    • Значение: домен production-сервисов.
    • ТТL: оставьте по умолчанию или настройте по необходимости.
  3. (Опционально) Создайте в DNS-зоне example.com другие ресурсные записи, которые понадобятся для работы в production-среде. Например, с помощью записей MX и TXT можно определить почтовые серверы и их настройки.

  4. Удалите в зоне example.com ресурсные записи для тестовой среды, если они в ней есть.

Пример ресурсных записей в DNS-зоне example.com после настройки DNS для production-среды:

app   A   83.166.234.101api   CNAME   app.example.com

5. Проверьте настройки DNS

  1. Проверьте разрешение имен для тестовой среды:

    $ dig app.test.example.com +short

    В ответе вернется IP-адрес, который вы настроили в подзоне test.example.com. В этом примере: 192.168.1.10.

  2. Проверьте разрешение имен для production-среды:

    $ dig app.example.com +short

    В ответе вернется IP-адрес, который вы настроили в DNS-зоне example.com. В этом примере: 83.166.234.101.

  3. Проверьте делегирование подзоны:

    $ dig NS test.example.com +short

    В ответе вернутся адреса NS-серверов для зоны example.com, которые можно посмотреть в списке ресурсных записей. В этом примере: ns1.mcs.mail.ru и ns2.mcs.mail.ru.

Удалите неиспользуемые ресурсы

Если добавленные ресурсы вам больше не нужны, удалите их:

  1. Удалите подзону test.example.com.
  2. Удалите ненужные NS-записи в DNS-зоне example.com.