Перейти к основному содержимому
Перенести домены из DNS-хостинга (legacy) в DNS-хостинг (actual)
Последнее изменение:

Перенести домены из DNS-хостинга (legacy) в DNS-хостинг (actual)

к сведению

Мы выпустили новую версию DNS-хостинга (actual) и прекращаем поддерживать и развивать устаревшую версию (legacy). Домены и ресурсные записи в DNS-хостинге (legacy) продолжают работать, о прекращении их работы мы предупредим вас заранее.

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

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

Если у домена в DNS-хостинге (legacy) есть только записи NS и SOA, он не перенесется в DNS-хостинг (actual). Если вам нужно перенести такой домен, его нужно добавить через панель управления.

Все домены из DNS-хостинга (legacy) переносятся в один проект.

Вы можете перенести домены:

После переноса в DNS-хостинг (actual) вы можете перенести доменную зону в другой проект.

Перенести домен через панель управления

  1. Перенесите данные.
  2. Делегируйте домен в DNS-хостинг (actual).

1. Перенести данные

  1. В панели управления перейдите в раздел DNSДоменные зоны.

  2. Скопируйте ID проекта-получателя, в который нужно перенести зоны. Для этого откройте меню проектов (название текущего проекта) и в строке нужного проекта нажмите .

  3. Перейдите в раздел Сетевые сервисыDNS-хостинг.

  4. Нажмите Копирование зон.

  5. Вставьте ID проекта-получателя и нажмите Копировать. Когда окно закроется, копирование будет завершено.

  6. В панели управления перейдите в раздел DNSДоменные зоны.

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

  8. Убедитесь, что перенесенные домены отображаются в списке зон, а на странице каждой зоны отображаются перенесенные записи домена.

    Ресурсные записи одного типа отображаются как группа записей. Ресурсные записи NS и SOA не переносятся, они будут автоматически созданы в DNS-хостинге (actual) со значениями по умолчанию:

    • NS — a.ns.selectel.ru., b.ns.selectel.ru., c.ns.selectel.ru., d.ns.selectel.ru.
    • SOA — a.ns.selectel.ru. support.selectel.ru. <zone_serial_number> 10800 3600 604800 60, где <zone_serial_number> — серийный номер зоны, который изменяется при обновлении зоны и сигнализирует кеширующим серверам, что записи необходимо закешировать заново.

    Если данные перенеслись неправильно или не полностью, создайте тикет.

2. Делегировать домен в DNS-хостинг (actual)

Если вы перенесли несколько доменов, то нужно делегировать каждый домен.

  1. Перейдите в панель управления доменного регистратора, у которого зарегистрирован ваш домен.
  2. В NS-записях замените значения на NS-серверы DNS-хостинга (actual): a.ns.selectel.ru, b.ns.selectel.ru, c.ns.selectel.ru, d.ns.selectel.ru. Каждый сервер укажите в отдельной записи.
  3. Подождите, пока перенесенные ресурсные записи распространятся на DNS-серверы. Распространение может занимать до 72 часов.
  4. Опционально: проверьте записи на авторитетных серверах. Перенос записей может занимать до 72 часов, в это время записи продолжат отдаваться с авторитетных серверов DNS-хостинга (legacy): ns1.selectel.ru, ns2.selectel.ru, ns3.selectel.ru, ns4.selectel.ru.

Перенести домен через octoDNS

  1. Установите octoDNS.
  2. Перенесите данные.
  3. Делегируйте домен в DNS-хостинг (actual).

1. Установить octoDNS

  1. Установите Python 3, virtualenv и pip3:

    sudo apt-get update
    sudo apt-get install python3 virtualenv
    sudo apt-get install python3-pip
  2. Создайте директорию для работы с octoDNS:

    mkdir ~/octodns
  3. Перейдите в директорию ~/octodns:

    cd ~/octodns
  4. Создайте виртуальную среду для работы с octoDNS:

    virtualenv env
  5. Активируйте виртуальную среду:

    source env/bin/activate
  6. Установите octoDNS в виртуальную среду:

    pip3 install octodns
  7. Проверьте, что пакет установился корректно:

    octodns-sync --version

    В ответе появится установленная версия octoDNS, например:

    octoDNS 1.4.0
  8. Установите Selectel-провайдер для octoDNS:

    pip3 install octodns_selectel
  9. Проверьте, что Selectel-провайдер установился корректно:

    pip3 list | grep octodns-selectel

    В ответе появится установленная версия провайдера, например:

    octodns_selectel 0.99.1

    Минимальная версия Selectel-провайдера для переноса — 0.99.1.

2. Перенести данные

  1. Перейдите в директорию ~/octodns:

    cd ~/octodns
  2. Создайте файл migration_config.yaml:

    nano migration_config.yaml
  3. Скопируйте в файл содержимое:

    ---
    processors:
    no-root-ns:
    class: octodns.processor.filter.IgnoreRootNsFilter

    providers:
    selectel_legacy:
    class: octodns_selectel.SelectelProviderLegacy
    token: <selectel_token>
    selectel:
    class: octodns_selectel.SelectelProvider
    token: <keystone_token>

    zones:
    <example.com.>:
    sources:
    - selectel_legacy
    processors:
    - no-root-ns
    targets:
    - selectel

    Укажите:

    • <selectel_token> — ваш токен Selectel (ключ API);
    • <keystone_token> — ваш токен Keystone для проекта, в который нужно перенести данные;
    • <example.com.> — имя домена в виде, в котором оно указано в DNS-хостинге (legacy), с точкой на конце. Чтобы перенести все домены, вместо имени домена укажите "*" без точки.
  4. Запустите перенос:

    octodns-sync --config-file=migration_config.yaml --doit
  5. В панели управления перейдите в раздел DNSДоменные зоны.

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

  7. Убедитесь, что перенесенные домены отображаются в списке зон, а на странице каждой зоны отображаются перенесенные записи домена.

    Ресурсные записи одного типа отображаются как группа записей. Ресурсные записи NS и SOA не переносятся, они будут автоматически созданы в DNS-хостинге (actual) со значениями по умолчанию:

    • NS — a.ns.selectel.ru., b.ns.selectel.ru., c.ns.selectel.ru., d.ns.selectel.ru.
    • SOA — a.ns.selectel.ru. support.selectel.ru. <zone_serial_number> 10800 3600 604800 60, где <zone_serial_number> — серийный номер зоны, который изменяется при обновлении зоны и сигнализирует кеширующим серверам, что записи необходимо закешировать заново.

    Если данные перенеслись неправильно или не полностью, создайте тикет.

3. Делегировать домен в DNS-хостинг (actual)

Если вы перенесли несколько доменов, то нужно делегировать каждый домен.

  1. Перейдите в панель управления доменного регистратора, у которого зарегистрирован ваш домен.
  2. В NS-записях замените значения на NS-серверы DNS-хостинга (actual): a.ns.selectel.ru, b.ns.selectel.ru, c.ns.selectel.ru, d.ns.selectel.ru. Каждый сервер укажите в отдельной записи.
  3. Подождите, пока перенесенные ресурсные записи распространятся на DNS-серверы. Распространение может занимать до 72 часов.
  4. Опционально: проверьте записи на авторитетных серверах. Перенос записей может занимать до 72 часов, в это время записи продолжат отдаваться с авторитетных серверов DNS-хостинга (legacy): ns1.selectel.ru, ns2.selectel.ru, ns3.selectel.ru, ns4.selectel.ru.