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

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

Статья создана
Yandex Cloud
Улучшена
Обновлена 11 июля 2025 г.

Переместить виртуальную машину в другое облако невозможно, но вы можете создать образ из ее загрузочного диска, а затем создать виртуальную машину в другом облаке из этого образа.

  1. Создайте образ из загрузочного диска нужной виртуальной машины.

  2. Получите идентификатор образа загрузочного диска:

    Консоль управления
    CLI
    Terraform
    API
    1. В консоли управления выберите каталог, в котором находится образ диска.
    2. Выберите сервис Compute Cloud.
    3. На панели слева выберите Образы.
    4. Скопируйте значение из столбца Идентификатор нужного образа.

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

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

    Получите список образов дисков в каталоге по умолчанию:

    yc compute image list
    

    Результат:

    +----------------------+----------------+--------+-------------+--------+
    |          ID          |    NAME        | FAMILY | PRODUCT IDS | STATUS |
    +----------------------+----------------+--------+-------------+--------+
    | xc8n3spmksqm******** | original-image |        |             | READY  |
    +----------------------+----------------+--------+-------------+--------+
    

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

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

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

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

    1. В конфигурационном файле подготовьте переменную output с выходными данными:

      resource "yandex_compute_snapshot" "snapshot-1" {
        name           = "<имя_образа>"
        source_disk_id = "<идентификатор_диска>"
      }
      ...
      output "snapshot_id" {
        value = yandex_compute_snapshot.snapshot-1.id
      }
      

      Где value — идентификатор образа загрузочного диска. В примере выше образ загрузочного диска описан в ресурсе yandex_compute_snapshot с именем snapshot-1.

    2. Примените изменения:

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

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

        terraform validate
        

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

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

        terraform plan
        

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

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

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

    3. Сохраните идентификатор образа загрузочного диска в файл snapshot_id.txt с помощью консольной команды:

      terraform output snapshot_id > snapshot_id.txt
      

    Воспользуйтесь методом REST API list для ресурса Image или вызовом gRPC API ImageService/List.

  3. Получите идентификатор целевого облака, в которое вы планируете перенести виртуальную машину (далее — <идентификатор_облака_назначения>):

    Консоль управления
    CLI
    Terraform
    API
    1. В консоли управления в списке слева нажмите на нужное облако.
    2. На вкладке Обзор скопируйте значение из поля Идентификатор.

    Получите список облаков с идентификаторами:

    yc resource-manager cloud list
    

    Результат:

    +----------------------+------------+--------------------------+
    |          ID          |    NAME    |      ORGANIZATION ID     |
    +----------------------+------------+--------------------------+
    | b1g66mft1vop******** | my-cloud-1 |                          |
    | b1gd129pp9ha******** | my-cloud-2 |                          |
    +----------------------+------------+--------------------------+
    
    1. В конфигурационном файле подготовьте переменную output с выходными данными:

      resource "yandex_resourcemanager_cloud" "cloud-1" {
        name            = "<имя_облака>"
        organization_id = "<идентификатор_организации>"
      }
      
      output "destination_cloud_id" {
        value = yandex_resourcemanager_cloud.cloud-1.id
      }
      

      Где destination_cloud_id — идентификатор целевого облака. В примере выше облако описано в ресурсе yandex_resourcemanager_cloud с именем cloud-1.

    2. Примените изменения:

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

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

        terraform validate
        

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

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

        terraform plan
        

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

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

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

    3. Сохраните идентификатор целевого облака destination_cloud_id.txt с помощью консольной команды:

      terraform output destination_cloud_id > destination_cloud_id.txt
      

    Чтобы получить список облаков с идентификаторами, воспользуйтесь методом REST API list для ресурса Cloud или вызовом gRPC API CloudService/List.

  4. Добавьте пользователя из целевого облака (куда планируете перенести виртуальную машину) в облако, где расположен каталог с исходным образом.

  5. Назначьте пользователю целевого облака роли resource-manager.clouds.member и compute.images.user на облако, где расположен каталог с исходным образом.

  6. Создайте новый образ в целевом облаке:

    CLI
    API
    yc compute image create \
      --name <имя_нового_образа> \
      --source-image-id <идентификатор_исходного_образа> \
      --cloud-id <идентификатор_облака_назначения> \
      --folder-id <идентификатор_каталога_назначения>
    

    Воспользуйтесь методом REST API create для ресурса Image или вызовом gRPC API ImageService/Create. В запросе укажите идентификатор образа.

  7. Создайте виртуальную машину из созданного образа в целевом облаке.

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

Предыдущая
Перенести ВМ в другой каталог
Следующая
Добавить на ВМ дополнительный сетевой интерфейс
Проект Яндекса
© 2025 ООО «Яндекс.Облако»