Перенести домены из 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. Перенести данные
-
В панели управления перейдите в раздел DNS → Доменные зоны.
-
Скопируйте ID проекта-получателя, в который нужно перенести зоны. Для этого откройте меню проектов (название текущего проекта) и в строке нуж ного проекта нажмите .
-
Перейдите в раздел Сетевые сервисы → DNS-хостинг.
-
Нажмите Копирование зон.
-
Вставьте ID проекта-получателя и нажмите Копировать. Когда окно закроется, копирование будет завершено.
-
В панели управления перейдите в раздел DNS → Доменные зоны.
-
Убедитесь, что вы находитесь в проекте, в который перенесли данные. Для этого откройте меню проектов (название текущего проекта) и выберите нужный проект.
-
Убедитесь, что перенесенные домены отображаются в списке зон, а на странице каждой зоны отображаются перенесенные запи си домена.
Ресурсные записи одного типа отображаются как группа записей. Ресурсные записи 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>
— серийный номер зоны, который изменяется при обновлении зоны и сигнализирует кеширующим серверам, что записи необходимо закешировать заново.
Если данные перенеслись неправильно или не полностью, создайте тикет.
- NS —
2. Делегировать домен в DNS-хостинг (actual)
Если вы перенесли несколько доменов, то нужно делегировать каждый домен.
- Перейдите в панель управления доменного регистратора, у которого зарегистрирован ваш домен.
- В NS-записях замените значения на NS-серверы DNS-хостинга (actual):
a.ns.selectel.ru
,b.ns.selectel.ru
,c.ns.selectel.ru
,d.ns.selectel.ru
. Каждый сер вер укажите в отдельной записи. - Подождите, пока перенесенные ресурсные записи распространятся на DNS-серверы. Распространение может занимать до 72 часов.
- Опционально: проверьте записи на авторитетных серверах. Перенос записей может занимать до 72 часов, в это время записи продолжат отдаваться с авторитетных серверов DNS-хостинга (legacy):
ns1.selectel.ru
,ns2.selectel.ru
,ns3.selectel.ru
,ns4.selectel.ru
.
Перенести домен через octoDNS
1. Установить octoDNS
-
Установите Python 3, virtualenv и pip3:
Linux
macOS
sudo apt-get update
sudo apt-get install python3 virtualenv
sudo apt-get install python3-pipbrew install python3
brew install virtualenv -
Создайте директорию для работы с octoDNS:
mkdir ~/octodns
-
Перейдите в директорию
~/octodns
:cd ~/octodns
-
Создайте виртуальную среду для работы с octoDNS:
virtualenv env
-
Активируйте виртуальную среду:
source env/bin/activate
-
Установите octoDNS в виртуальную среду:
pip3 install octodns
-
Проверьте, что пакет установился корректно:
octodns-sync --version
В ответе появится установленная версия octoDNS, например:
octoDNS 1.4.0
-
Установите Selectel-провайдер для octoDNS:
pip3 install octodns_selectel
-
Проверьте, что Selectel-провайдер установился корректно:
pip3 list | grep octodns-selectel
В ответе появится установленная версия провайдера, например:
octodns_selectel 0.99.1
Минимальная версия Selectel-провайдера для переноса —
0.99.1
.
2. Перенести данные
-
Перейдите в директорию
~/octodns
:cd ~/octodns
-
Создайте файл
migration_config.yaml
:nano migration_config.yaml
-
Скопируйте в файл содержимое:
---
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), с точкой на конце. Чтобы перенести все домены, вместо имени домена укажите"*"
без точки.
-
Запустите перенос:
octodns-sync --config-file=migration_config.yaml --doit
-
В панели управления перейдите в раздел DNS → Доменные зоны.
-
Убедитесь, что вы находитесь в проекте, в который перенесли данные. Для этого откройте меню проектов (название текущего проекта) и выберите нужный проект.
-
Убедитесь, что перенесенные домены отображаются в списке зон, а на странице каждой зоны отображаются перенесенные записи домена.
Ресурсные записи одного типа отображаются как группа записе й. Ресурсные записи 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>
— серийный номер зоны, который изменяется при обновлении зоны и сигнализирует кеширующим серверам, что записи необходимо закешировать заново.
Если данные перенеслись неправильно или не полностью, создайте тикет.
- NS —
3. Делегировать домен в DNS-хостинг (actual)
Если вы перенесли несколько доменов, то нужно делегировать каждый домен.
- Перейдите в панель управления доменного регистратора, у которого зарегистрирован ваш домен.
- В NS-записях замените значения на NS-серверы DNS-хостинга (actual):
a.ns.selectel.ru
,b.ns.selectel.ru
,c.ns.selectel.ru
,d.ns.selectel.ru
. Каждый сервер укажите в отдельной записи. - Подождите, пока перенесенные ресурсные записи распространятся на DNS-серверы. Распространение может занимать до 72 часов.
- Опционально: проверьте записи на авторитетных серверах. Перенос записей может занимать до 72 часов, в это время записи продолжат отдаваться с авторитетных серверов DNS-хостинга (legacy):
ns1.selectel.ru
,ns2.selectel.ru
,ns3.selectel.ru
,ns4.selectel.ru
.