Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Compute Cloud
    • Все инструкции
      • Остановить и запустить ВМ
      • Сбросить пароль пользователя ВМ Windows Server
      • Подключить диск к ВМ
      • Отключить диск от ВМ
      • Перенести ВМ в другую зону доступности
      • Перенести ВМ в другой каталог
      • Перенести ВМ в другое облако
      • Добавить на ВМ дополнительный сетевой интерфейс
      • Удалить сетевой интерфейс на ВМ
      • Привязать к ВМ публичный IP-адрес
      • Отвязать от ВМ публичный IP-адрес
      • Сделать публичный IP-адрес ВМ статическим
      • Перенести публичный IP-адрес от одной ВМ на другую
      • Изменить внутренний IP-адрес ВМ
      • Изменить ВМ
      • Изменить вычислительные ресурсы ВМ
      • Изменить группы безопасности ВМ
      • Управление политикой обслуживания ВМ
      • Настроить права доступа к ВМ
      • Подключить сервисный аккаунт к ВМ
      • Удалить ВМ
    • Посмотреть операции с ресурсами сервиса
    • Посмотреть метрики в Monitoring
    • Рекомендации по обновлению драйверов NVIDIA
  • Yandex Container Solution
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

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

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

Перенести виртуальную машину в другой каталог

Статья создана
Yandex Cloud
Улучшена
Обновлена 13 ноября 2025 г.
  • Ограничения
  • Перенести виртуальную машину
    • Изменить каталог ВМ
    • Изменить подсеть ВМ

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

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

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

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

Ограничения при переносе виртуальной машины:

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

Перенести виртуальную машинуПеренести виртуальную машину

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

CLI
Terraform
API

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

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

  1. Получите список всех виртуальных машин в каталоге по умолчанию:

    yc compute instance list
    

    Результат:

    +----------------------+-----------------+---------------+---------+----------------------+
    |          ID          |       NAME      |    ZONE ID    | STATUS  |     DESCRIPTION      |
    +----------------------+-----------------+---------------+---------+----------------------+
    | fhm0b28lgfp4******** | first-instance  | kz1-a | RUNNING | my first vm via CLI  |
    | fhm9gk85nj7g******** | second-instance | kz1-a | RUNNING | my second vm via CLI |
    +----------------------+-----------------+---------------+---------+----------------------+
    
  2. Получите список всех каталогов в облаке по умолчанию:

    yc resource-manager folder list
    

    Результат:

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

    yc compute instance move --help
    
  4. Перенесите виртуальную машину в другой каталог со следующими параметрами:

    • в параметре id укажите идентификатор виртуальной машины, например fhm0b28lgfp4********;
    • в параметре destination-folder-id укажите идентификатор целевого каталога, например b1gd129pp9ha********.
    yc compute instance move \
      --id fhm0b28lgfp4******** \
      --destination-folder-id b1gd129pp9ha********
    

    Подробнее о команде yc compute instance 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. Настройте права доступа к целевому каталогу. У аккаунта из исходного каталога, от имени которого вы будете выполнять операцию, должна быть минимальная роль compute.editor на целевой каталог.

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

  3. В конфигурационном файле в ресурсе yandex_compute_instance добавьте параметры:

    resource "yandex_compute_instance" "vm-1" {
        ...
        allow_stopping_for_update = true
        folder_id = <идентификатор_целевого_каталога>
        ...
    }
    

    Где:

    • allow_stopping_for_update — параметр для разрешения остановки ВМ на время обновления.
    • folder_id — идентификатор каталога, в котором должна размещаться ВМ (по умолчанию указывается из переменной окружения).

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

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

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

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

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

Пример

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

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

Переносить ВМ можно без ее остановки.

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

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

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

    #!/bin/bash
    
    # Создание переменных
    
    export IAM_TOKEN=`yc iam create-token`
    
    instanceId='<идентификатор_ВМ>'
    bootDiskId='<идентификатор_загрузочного_диска_ВМ>'
    destinationFolderId='<идентификатор_каталога>'
    
    # Перемещение ВМ
    
    curl \
      --request POST \
      --header "Authorization: Bearer ${IAM_TOKEN}" \
      --data '{ "destinationFolderId": "'"${destinationFolderId}"'" }' \
      "https://compute.api.yandexcloud.kz/compute/v1/instances/{${instanceId}}:move"
    
    # Перемещение загрузочного диска
    
    curl \
      --request POST \
      --header "Authorization: Bearer ${IAM_TOKEN}" \
      --data '{ "destinationFolderId": "'"${destinationFolderId}"'" }' \
      "https://compute.api.yandexcloud.kz/compute/v1/disks/{${bootDiskId}}:move"
    

    Где:

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

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

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

Изменить подсеть ВМИзменить подсеть ВМ

После переноса сетевые интерфейсы ВМ остаются подключены к подсетям исходного каталога. Чтобы подключить ВМ к подсетям каталога назначения:

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, в который была перемещена ВМ.
  2. Перейдите в сервис Compute Cloud.
  3. Нажмите на имя нужной ВМ.
  4. Нажмите кнопку Остановить.
  5. В открывшемся окне нажмите кнопку Остановить.
  6. В секции Сеть в правом верхнем углу блока нужного сетевого интерфейса нажмите и выберите Изменить.
  7. В поле Подсеть выберите новую подсеть и нажмите Сохранить.
    Если у ВМ несколько сетевых интерфейсов, измените подсеть для каждого из них.
  8. Нажмите кнопку Запустить.

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

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

  1. Посмотрите описание команды CLI для изменения подсети:

    yc compute instance update-network-interface --help
    
  2. Остановите ВМ:

    yc compute instance stop fhm0b28lgfp4********
    
  3. Получите список сетевых интерфейсов ВМ, указав ее идентификатор:

    yc compute instance get fhm0b28lgfp4********
    

    Результат:

    ...
    network_interfaces:
      - index: "0"
        mac_address: d0:0d:24:**:**:**
        subnet_id: e2lpp96bvvgp********
        primary_v4_address:
          address: 192.168.2.23
      - index: "1"
        mac_address: d0:1d:24:**:**:**
        subnet_id: e2lrucutusnd********
        primary_v4_address:
          address: 192.168.1.32
      - index: "2"
        mac_address: d0:2d:24:**:**:**
        subnet_id: e2lv9c6aek1d********
        primary_v4_address:
          address: 192.168.4.26
    ...
    

    Сохраните значение поля index — номер сетевого интерфейса, который требуется подключить к другой подсети.

  4. Выполните команду:

    yc compute instance update-network-interface fhm0b28lgfp4******** \
      --subnet-id e2lfibapq818******** \
      --ipv4-address auto \
      --network-interface-index 0 \
      --security-group-id enpi8m85mj14********
    

    Где:

    • --subnet-id — подсеть в каталоге назначения.
    • --ipv4-address — внутренний IP-адрес сетевого интерфейса ВМ в подсети в каталоге назначения. Задайте значение auto, чтобы внутренний адрес был присвоен автоматически.
    • --network-interface-index — сохраненный ранее номер сетевого интерфейса ВМ.
    • --security-group-id — группа безопасности, которая будет назначена сетевому интерфейсу ВМ.

    Результат:

    done (9s)
    id: fhm0b28lgfp4********
    folder_id: b1gd73mbrli7********
    created_at: "2023-11-16T06:09:46Z"
    name: oslogigor1
    zone_id: kz1-a
    platform_id: standard-v3
    resources:
      memory: "2147483648"
      cores: "2"
      core_fraction: "100"
    status: STOPPED
    metadata_options:
      gce_http_endpoint: ENABLED
      aws_v1_http_endpoint: ENABLED
      gce_http_token: ENABLED
      aws_v1_http_token: DISABLED
    boot_disk:
      mode: READ_WRITE
      device_name: epdophaf2gh9********
      auto_delete: true
      disk_id: epdophaf2gh9********
    network_interfaces:
      - index: "0"
        mac_address: d0:0d:24:**:**:**
        subnet_id: e2lfibapq818********
        primary_v4_address:
          address: 10.129.0.22
        security_group_ids:
          - enpi8m85mj14********
      - index: "1"
        mac_address: d0:1d:24:**:**:**
        subnet_id: e2lrucutusnd********
        primary_v4_address:
          address: 192.168.1.32
      - index: "2"
        mac_address: d0:2d:24:**:**:**
        subnet_id: e2lv9c6aek1d********
        primary_v4_address:
          address: 192.168.4.26
    gpu_settings: {}
    fqdn: relocated-vm.kz1.internal
    scheduling_policy: {}
    network_settings:
    type: STANDARD
    placement_policy: {}
    

    Если у ВМ несколько сетевых интерфейсов, измените подсеть для каждого из них.

  5. Запустите ВМ:

    yc compute instance start fhm0b28lgfp4********
    

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

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

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

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

  1. Настройте права доступа к каталогу, в котором вы изменяете подсеть ВМ. У аккаунта, от имени которого вы будете выполнять операцию, должна быть минимальная роль vpc.admin на этот каталог.

  2. Если дополнительная подсеть уже создана, получите ее идентификатор.

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

    resource "yandex_compute_instance" "vm-1" {
      ...
      network_interface {
        subnet_id = "<идентификатор_подсети>"
      }
    
      allow_stopping_for_update = true
      ...
    }
    

    Где:

    • subnet_id — идентификатор подсети.
    • allow_stopping_for_update — параметр для разрешения остановки ВМ на время обновления.

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

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

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

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

Воспользуйтесь методом REST API updateNetworkInterface для ресурса Instance или вызовом gRPC API InstanceService/UpdateNetworkInterface.

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

Предыдущая
Перенести ВМ в другую зону доступности
Следующая
Перенести ВМ в другое облако
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»