Как перенести виртуальную машину между разными каталогами или облаками
Описание задачи
Необходимо перенести виртуальную машину из одного облака или каталога в другое облако или каталог.
Решение
Для переноса ВМ между облаками выполните следующие действия:
- Создайте образ из диска нужной ВМ.
- Добавьте IAM-пользователя в облако с образом, который вы хотите перенести.
- Назначьте IAM-пользователю минимально необходимые роли
resource-manager.clouds.member
иcompute.images.user
. - Настройте утилиту YC CLI для пользователя в целевом облаке.
- Получите идентификатор вашего образа. Для этого в Консоли управления
найдите поле Идентификатор на вкладке Образы или получите его с помощью YC CLI командойyc compute image list
. - Получите идентификатор облака, в котором расположен оригинальный образ. Для этого в Консоли управления
найдите поле Идентификатор или получите его с помощью YC CLI командойyc resource-manager cloud list
. - Создайте новый образ в целевом облаке используя YC CLI:
yc compute image create --name <имя_нового_образа> \
--source-image-id <id_оригинального_образа> \
--cloud-id <id_облака_где_расположен_оригинальный_образ>
После выполнения этих действий создайте новую виртуальную машину из полученного образа.
Для изменения каталога ВМ в CLI выполните следующие действия:
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Получите список всех виртуальных машин в каталоге по умолчанию:
yc compute instance list
Результат:
+----------------------+-----------------+---------------+---------+----------------------+ | ID | NAME | ZONE ID | STATUS | DESCRIPTION | +----------------------+-----------------+---------------+---------+----------------------+ | fhmXXXXXXXXXXXXXXXXX | first-instance | ru-central1-a | RUNNING | my first vm via CLI | | fhmXXXXXXXXXXXXXXXXX | second-instance | ru-central1-a | RUNNING | my second vm via CLI | +----------------------+-----------------+---------------+---------+----------------------+
-
Получите список всех каталогов в облаке по умолчанию:
yc resource-manager folder list
Результат:
+----------------------+--------------------+------------------+--------+ | ID | NAME | LABELS | STATUS | +----------------------+--------------------+------------------+--------+ | b1gXXXXXXXXXXXXXXXXX | my-folder | | ACTIVE | | b1gXXXXXXXXXXXXXXXXX | default | | ACTIVE | +----------------------+--------------------+------------------+--------+
-
Посмотрите описание команды CLI для переноса виртуальной машины:
yc compute instance move --help
-
Перенесите виртуальную машину в другой каталог со следующими параметрами:
- в параметре
id
укажите идентификатор виртуальной машины, напримерfhmXXXXXXXXXXXXXXXXX
; - в параметре
destination-folder-id
укажите идентификатор целевого каталога, напримерb1gXXXXXXXXXXXXXXXXX
.
yc compute instance move \ --id fhmXXXXXXXXXXXXXXXXX \ --destination-folder-id b1gXXXXXXXXXXXXXXXXX
Подробнее о команде
yc compute instance move
можно узнать в справочнике CLI. - в параметре