В данной статье рассказывается о способе миграции виртуальной машины из Amazon в облако Azure с помощью специальной утилиты Windows Azure Migrator tool.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/4ec/48a/064/4ec48a0645cec317f39cd45483b1d54a.png)
Прим. переводчика: различные руководства по миграции или утилиты для миграции виртуальных машин между различными виртуальными средами или облаками, на самом деле, не являются чем-то особенным или уникальным. Но в данной статье и самой утилите мне понравилась идея миграции — все делается из самой виртуальной машины, которая будет мигрирована. На данный момент возможна только миграция Windows машин.
Итак, будем мигрировать виртуальную машину, расположенную в Amazon. Убедитесь, что к виртуальной машине есть доступ по RDP и права администратора для аккаунта.
На перенесенной виртуальной машине находятся программы и файлы, специфичные для виртуальной машины в Amazon (AWS Tools for Windows).
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/f35/8e2/e0a/f358e2e0a36e388059051cff9e2b843e.png)
Если не планируете обратный перенос виртуальной машины в Amazon, то можете удалить их.
Если при создании образа возникает ошибка "Insufficient disk space", то добавьте новый диск с достаточным пространством и используйте его для создания образа машины.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/b89/e88/567/b89e88567eb422b6e99b93cb89ef0867.png)
Ошибка "Error creating bootable partition: The system cannot find the drive specified" появляется при нажатии загрузке диска в Azure (после нажатия на кнопку Upload). Просто нажмите OK, и утилита продолжит нормально своего выполнение.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/b5f/5eb/b53/b5f5ebb536f90992a2b5b57a1df90aa9.png)
Ошибка связана с лимитами, которые могут быть выставлены для подписки в Azure. Проверьте значение параметра используемых ядер. Для этого зайдите на портал управления Azure, перейдите в раздел Settings, выберите вкладку Usage.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/9d1/528/705/9d1528705312082e15c3d2365b61fa5a.png)
Если ядер не будет достаточно для создания выбранного размера виртуальной машины в Azure, то есть следующие варианты:
![image](https://habrastorage.org/getpro/habr/post_images/4ec/48a/064/4ec48a0645cec317f39cd45483b1d54a.png)
Прим. переводчика: различные руководства по миграции или утилиты для миграции виртуальных машин между различными виртуальными средами или облаками, на самом деле, не являются чем-то особенным или уникальным. Но в данной статье и самой утилите мне понравилась идея миграции — все делается из самой виртуальной машины, которая будет мигрирована. На данный момент возможна только миграция Windows машин.
Инструкция по миграции
Итак, будем мигрировать виртуальную машину, расположенную в Amazon. Убедитесь, что к виртуальной машине есть доступ по RDP и права администратора для аккаунта.
- Зайдите на виртуальную машину, расположенную в Amazon, по RDP и откройте в страницу http://www.azuremigrator.net.
- Проинсталлируйте компоненты утилиты. Далее запустите setup.exe.
- Теперь выбираем режим миграции. В нашем случае это миграции виртуальной машины в Azure — Move VM to Azure.
Прим. переводчика: обратите внимание, что еще поддерживается перемещение виртуальных машины между подписками в Azure — Move VM between subscriptions. Здесь следует учитывать, что это не совсем прозрачный перенос, т.к. будет создана виртуальная машина в другой подписке на основе образа текущей машины, т.е. у машины будет другое имя (new_machine_name.cloudapp.net) и IP адрес. Если требуется именно перенести машины на другую подписку (по сути, привязать машину к другой подписке Azure), то это можно сделать через обращение в поддержку (обращение бесплатное).
- Процесс миграции начинается. Сначала будет локально создан образ текущей виртуальной машины, на данный момент это только диск ОС. Для размещения образа выберите временный диск (Temp Storage), который имеет достаточно места для размещения VHD файла (примерно 17ГБ для Windows 2008). Образ будет создаваться около 10 минут.
- Образ создан, теперь его можно перенести в Azure. На следующем экране необходимо ввести данные подписки в Azure (Subscription ID), в которой на основе полученного образа будет создана виртуальная машина.
Прим. переводчика: обратите внимание, что входящий трафик в Amazon и Azure не оплачиваются, а вот исходящий трафик тарифицируется. Это означает, что перемещение созданного vhd будет тарифицироваться Amazon.
- Далее нажмите Create Certificate, в результате будет создан и установлен новый сертификат на текущую виртуальную машину (в Amazon).
- Теперь загрузим созданный сертификат в Azure. Для этого зайдите на портал управления Azure, перейдите в раздел Settings и выберите требуемую подписку.
Выберите пункт Management Certificates и загрузите сертификат.
- После успешной загрузки сертификата в Azure протестируйте соединение из виртуальной машины в Amazon к Azure подписке — в утилите нажмите Test Connection.
- Теперь все готово для загрузки VHD диска в Azure. Выберите аккаунт хранилища и контейнер в аккаунте, в которой будет загружен созданный ранее образ (VHD диск).
Как только загрузка завершится, то диск будет виден в подписке Azure.
- Далее настроим некоторые вещи, специфичные для Azure. Выберите новую облачную службу (New Service) или уже существующую (Existing Service), выберите группу привязки (Affinity Group), виртуальную сеть и размер создаваемой виртуальной машины.
Если все параметры указаны верно и выставленные лимиты подписки не превышены, то виртуальная машина начнет создаваться.
Как только машина будет создана (статус Running), можно прейти во вкладку Configure и увидеть или изменить заданные ранее настройки. Если требуется, можно выбрать для виртуальной машины привязку к Availability Set.
Прим. переводчика: Availability Set позволяет реализовать отказоустойчивость для виртуальных машин. Подробнее читайте в хабростатье Виртуальные машины в Windows Azure: Data Disk, виртуальные сети и Availability Set.
Кроме того, буквально на днях в Azure появились новый подтип виртуальных машин — Basic Instances. Цена на Basic машины примерно на 27% ниже, но эти машины не поддерживают автоматическое масштабирование и балансировку нагрузки, но если это и не требуется, то зачем платить больше :).Поэтому рекомендую через портал управления Azure для виртуальных машинх, не требующих масштабирования и балансировки нагрузки, поменять режим со Standard (по умолчанию) на Basic.
- Машина создана, и мы можем подключиться к ней по RDP.
Обратите внимание, что изначальная виртуальная машина продолжается существовать и в Amazon'е. Поэтому не забудьте удалить или остановить ее, если она в дальнейшем не потребуется.
Дополнительные примечания и материалы (от автора статьи)
На перенесенной виртуальной машине находятся программы и файлы, специфичные для виртуальной машины в Amazon (AWS Tools for Windows).
![image](https://habrastorage.org/getpro/habr/post_images/f35/8e2/e0a/f358e2e0a36e388059051cff9e2b843e.png)
Если не планируете обратный перенос виртуальной машины в Amazon, то можете удалить их.
Troubleshooting
Insufficient disk space
Если при создании образа возникает ошибка "Insufficient disk space", то добавьте новый диск с достаточным пространством и используйте его для создания образа машины.
![image](https://habrastorage.org/getpro/habr/post_images/b89/e88/567/b89e88567eb422b6e99b93cb89ef0867.png)
- Зайдите в панель EC2 и выберите раздел Volumes, далее создайте новый диск (Create Volume).
При создании диска убедитесь, что он будет создан в том же регионе, что и виртуальная машина в Amazon.
- После того как диск создастся, присоедините его к виртуальной машине (Attach Volume).
- Далее необходимо в виртуальной машине зайти в Disk Manager и отформатировать диск, после чего диск станет доступным для использования.
Error creating bootable partition
Ошибка "Error creating bootable partition: The system cannot find the drive specified" появляется при нажатии загрузке диска в Azure (после нажатия на кнопку Upload). Просто нажмите OK, и утилита продолжит нормально своего выполнение.
![image](https://habrastorage.org/getpro/habr/post_images/b5f/5eb/b53/b5f5ebb536f90992a2b5b57a1df90aa9.png)
Unhandled Exception The Subscription Policy limit for ‘cores count’ was exceeded
Ошибка связана с лимитами, которые могут быть выставлены для подписки в Azure. Проверьте значение параметра используемых ядер. Для этого зайдите на портал управления Azure, перейдите в раздел Settings, выберите вкладку Usage.
![image](https://habrastorage.org/getpro/habr/post_images/9d1/528/705/9d1528705312082e15c3d2365b61fa5a.png)
Если ядер не будет достаточно для создания выбранного размера виртуальной машины в Azure, то есть следующие варианты:
- Выключить неиспользуемые виртуальные машины в Azure, тем самым ядра, выделанные для их работы, будут возвращены в общий пул ядер на всю подписку.
- Выбрать другой размер виртуальной машины, которая будет создана в Azure, например, Small (1 ядро требуется)/
- Создать бесплатный запрос в поддержку для увеличения лимитов по ядрам на данную подписку Azure.