Как перенести виртуальную машину между разными каталогами или облаками
Описание задачи
Необходимо перенести виртуальную машину из одного облака или каталога в другое облако или каталог.
Решение
Для переноса ВМ между облаками выполните следующие действия:
- Создайте образ из диска нужной ВМ.
- Добавьте 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), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Получите список всех виртуальных машин в каталоге по умолчанию:
yc compute instance listРезультат:
+----------------------+-----------------+--------------------+---------+----------------------+ | ID | NAME | ZONE ID | STATUS | DESCRIPTION | +----------------------+-----------------+--------------------+---------+----------------------+ | fhm***************** | first-instance | ru-central1-a | RUNNING | my first vm via CLI | | fhm***************** | second-instance | ru-central1-a | RUNNING | my second vm via CLI | +----------------------+-----------------+--------------------+---------+----------------------+ -
Получите список всех каталогов в облаке по умолчанию:
yc resource-manager folder listРезультат:
+----------------------+--------------------+------------------+--------+ | ID | NAME | LABELS | STATUS | +----------------------+--------------------+------------------+--------+ | b1g***************** | my-folder | | ACTIVE | | b1g***************** | default | | ACTIVE | +----------------------+--------------------+------------------+--------+ -
Посмотрите описание команды CLI для переноса виртуальной машины:
yc compute instance move --help -
Перенесите виртуальную машину в другой каталог со следующими параметрами:
- в параметре
idукажите идентификатор виртуальной машины, напримерfhm*****************; - в параметре
destination-folder-idукажите идентификатор целевого каталога, напримерb1g*****************.
yc compute instance move \ --id fhm***************** \ --destination-folder-id b1g*****************Подробнее о команде
yc compute instance moveможно узнать в справочнике CLI. - в параметре