Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Истории успеха
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex Cloud DNS
  • Начало работы
    • Все инструкции
      • Создать внутреннюю зону DNS
      • Создать публичную зону DNS
      • Изменить зону DNS
      • Настроить права доступа к зоне DNS
      • Перенести зону DNS в другой каталог
      • Посмотреть операции с зонами DNS
      • Удалить зону DNS
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Ограничения
  • Перенести зону DNS
  • Изменить каталог зоны
  1. Пошаговые инструкции
  2. Зоны
  3. Перенести зону DNS в другой каталог

Перенести зону DNS в другой каталог

Статья создана
Yandex Cloud
Улучшена
Обновлена 27 февраля 2026 г.
  • Ограничения
  • Перенести зону DNS
    • Изменить каталог зоны

При создании зоны DNS она размещается в текущем каталоге.

В Yandex Cloud есть возможность переместить зону DNS в другой каталог.

Подробнее об иерархии ресурсов в Yandex Cloud.

ОграниченияОграничения

При переносе зоны DNS метрики в Yandex Monitoring не переносятся. Те, что были в предыдущем каталоге, останутся в нём, а новые метрики будут создаваться уже в новом каталоге.

Перенести зону DNSПеренести зону DNS

Изменить каталог зоныИзменить каталог зоны

CLI
Terraform
API

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Получите список всех зон DNS в каталоге по умолчанию:

    yc dns zone list
    

    Результат:

    +----------------------+---------------------+--------------+----------------------------------------------------+
    |          ID          |        NAME         |     ZONE     |   VISIBILITY   |             DESCRIPTION           |
    +----------------------+---------------------+--------------+----------------+-----------------------------------+
    | aet29qhara5j******** | my-public-zone      | example.com. | PUBLIC         | Automatically created DNS for ... |
    | aet2q4fn8i8i******** | my-private-zone     | internal.    | PRIVATE        | Automatically created DNS for ... |
    +----------------------+---------------------+--------------+----------------+-----------------------------------+
    
  2. Получите список всех каталогов в облаке по умолчанию:

    yc resource-manager folder list
    

    Результат:

    +----------------------+--------------------+------------------+--------+
    |          ID          |        NAME        |      LABELS      | STATUS |
    +----------------------+--------------------+------------------+--------+
    | b1gd129pp9ha******** | my-folder          |                  | ACTIVE |
    | b1g66mft1vop******** | default            |                  | ACTIVE |
    +----------------------+--------------------+------------------+--------+
    
  3. Посмотрите описание команды CLI для переноса зоны DNS:

    yc dns zone move --help
    
  4. Перенесите зону DNS в другой каталог со следующими параметрами:

    • в параметре id укажите идентификатор зоны DNS, например aet29qhara5j********;
    • в параметре destination-folder-id укажите идентификатор целевого каталога, например b1g66mft1vop********.
    yc dns zone move \
      --id aet29qhara5j******** \
      --destination-folder-id b1g66mft1vop********
    

    Подробнее о команде yc dns zone move см. в справочнике CLI.

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

  1. Настройте права доступа к целевому каталогу. У аккаунта из исходного каталога, от имени которого вы будете выполнять операцию, должна быть минимальная роль dns.editor на целевой каталог.

  2. Получите идентификатор целевого каталога.

  3. В конфигурационном файле в ресурсе yandex_dns_zone измените параметр folder_id:

    resource "yandex_dns_zone" "zone1" {
        name        = "<имя_зоны>"
        description = "<описание_зоны>"
        zone        = "<доменная_зона>."
        public      = true
        folder_id   = "<идентификатор_целевого_каталога>"
    }
    

    Где:

    • name — имя зоны. Должно быть уникальным внутри каталога.
    • description — описание зоны.
    • zone — доменная зона. Название зоны должно заканчиваться точкой. Публичные зоны верхнего уровня (TLD-зоны) создавать нельзя. Чтобы создать доменную зону с нелатинскими символами, используйте кодировку Punycode.
    • public — видимость зоны: публичная или внутренняя.
    • folder_id — идентификатор каталога, в котором должна размещаться зона DNS (по умолчанию указывается из переменной окружения).

    Более подробную информацию о параметрах ресурса yandex_dns_zone см. в документации провайдера.

  4. Примените новую конфигурацию:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

    Terraform перенесет зону DNS в указанный каталог без пересоздания. Проверить изменения можно в консоли управления.

Воспользуйтесь методом REST API move для ресурса DnsZone или вызовом gRPC API DnsZoneService/Move.

Пример REST APIПример REST API

Ниже описан пример Bash-скрипта для ОС Linux.

Чтобы воспользоваться примером, аутентифицируйтесь в API и установите утилиту cURL.

  1. Создайте файл для скрипта:

    sudo touch <имя_файла>
    
  2. Откройте файл для записи:

    sudo nano <имя_файла>
    
  3. Поместите скрипт в файл:

    #!/bin/bash
    
    # Создание переменных
    
    export IAM_TOKEN=`yc iam create-token`
    
    dnsZoneId='<идентификатор_DNS_зоны>'
    destinationFolderId='<идентификатор_каталога>'
    
    # Перемещение зоны DNS
    
    curl \
      --request POST \
      --header "Authorization: Bearer ${IAM_TOKEN}" \
      --header "Content-Type: application/json" \
      --data '{ "destinationFolderId": "'"${destinationFolderId}"'" }' \
      "https://dns.api.cloud.yandex.net/dns/v1/zones/${dnsZoneId}:move"
    

    Где:

    • IAM_TOKEN — IAM-токен для аутентификации в API.
    • dnsZoneId — идентификатор зоны DNS, которую надо перенести.
    • destinationFolderId — идентификатор каталога, в который будет перенесена зона DNS.
  4. Сделайте файл исполняемым:

    chmod +x <имя_файла>
    
  5. Выполните скрипт:

    ./<имя_файла>
    

Пример gRPC APIПример gRPC API

Ниже описан пример Bash-скрипта для вызова gRPC API с использованием утилиты grpcurl.

  1. Установите grpcurl:

    • С помощью Bash:

      curl -L https://github.com/fullstorydev/grpcurl/releases/download/v1.9.3/grpcurl_1.9.3_linux_x86_64.tar.gz | tar -xz
      sudo mv grpcurl /usr/local/bin/
      
    • С помощью Golang:

      go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest
      
  2. Создайте файл для скрипта:

    sudo touch <имя_файла>
    
  3. Откройте файл для записи:

    nano <имя_файла>
    
  4. Поместите скрипт в файл:

    #!/bin/bash
    
    # Создание переменных
    
    export IAM_TOKEN=$(yc iam create-token)
    
    dnsZoneId='<идентификатор_DNS_зоны>'
    destinationFolderId='<идентификатор_каталога>'
    
    # Перемещение зоны DNS
    
    grpcurl \
    -d "{
        \"dns_zone_id\": \"${dnsZoneId}\",
        \"destination_folder_id\": \"${destinationFolderId}\"
    }" \
    -H "authorization: Bearer ${IAM_TOKEN}" \
    -H "x-client-request-id: $(uuidgen)" \
    dns.api.cloud.yandex.net:443 \
    yandex.cloud.dns.v1.DnsZoneService/Move
    

    Где:

    • IAM_TOKEN — IAM-токен для аутентификации в API.
    • dnsZoneId — идентификатор зоны DNS, которую надо перенести.
    • destinationFolderId — идентификатор каталога, в который будет перенесена зона DNS.
    • x-client-request-id — уникальный идентификатор запроса для трассировки.
  5. Сделайте файл исполняемым:

    chmod +x <имя_файла>
    
  6. Выполните скрипт:

    ./<имя_файла>
    

В ответ вы получите операцию в формате JSON:

{
    "id": "dns-zone-move-123456789",
    "description": "Update DNS Zone",
    "createdAt": "2026-02-19T09:52:35.239149422Z",
    "createdBy": "aje6f5h1h2h3********",
    "modifiedAt": "2026-02-19T09:52:35.239218092Z",
    "done": true,
    "metadata": {
        "@type": "type.googleapis.com/yandex.cloud.dns.v1.MoveDnsZoneMetadata",
        "dnsZoneId": "aet29qhara5j********"
    },
    "response": {
        "@type": "type.googleapis.com/yandex.cloud.dns.v1.DnsZone",
        "createdAt": "2026-02-19T07:09:53.853Z",
        "folderId": "b1g66mft1vop********",
        "id": "aet29qhara5j********",
        "name": "my-public-zone",
        "publicVisibility": {},
        "zone": "example.com."
    }
}

Где:

  • id — уникальный идентификатор операции.
  • metadata.dnsZoneId — ID перемещаемой зоны DNS.
  • response — обновленная зона DNS после переноса.
  • done — статус завершения операции.

Подробное описание метода см. в справочнике gRPC API.

Была ли статья полезна?

Предыдущая
Настроить права доступа к зоне DNS
Следующая
Посмотреть операции с зонами DNS
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»