Импорт виртуальной машины в Amazon EC2 (часть 7)
- Импорт виртуальной машины в Amazon EC2 (часть 2)
- Импорт виртуальной машины в Amazon EC2 (часть 4)
- Импорт виртуальной машины в Amazon EC2 (часть 5)
- Импорт виртуальной машины в Amazon EC2 (часть 6)
В моей предыдущей статье я показал вам, как экспортировать виртуальную машину Hyper-V, чтобы ее можно было импортировать в облако Amazon. В этой статье я хочу продолжить обсуждение, показав вам, как работает процесс импорта.
Поэтому, прежде чем я начну, я должен еще раз упомянуть, что метод, который вы будете использовать для импорта виртуальной машины, зависит от вашей локальной инфраструктуры виртуализации. Если вы используете VMware локально, процесс импорта относительно интуитивно понятен. У Amazon есть несколько хороших инструментов для импорта виртуальных машин VMware. Если, с другой стороны, вы импортируете виртуальную машину Hyper-V, как я, то процесс может быть немного пугающим. Но не волнуйтесь, вы в надежных руках, и я проведу вас через весь процесс и сделаю объяснение настолько простым, насколько это возможно.
Если вы вернетесь к более ранним статьям этой серии, вы, возможно, вспомните, что я провел вас через процесс установки интерфейса командной строки Amazon. Мы собираемся использовать этот интерфейс для создания задачи импорта.
Прежде чем я покажу вам, как это сделать, я хочу обязательно передать несколько рекомендаций, которые Amazon дает в отношении вашего экземпляра виртуальной машины. Во-первых, Amazon автоматически назначит виртуальной машине IP-адрес на основе DHCP после завершения процесса импорта. Такое поведение, вероятно, ожидаемо, но есть две вещи, о которых вам нужно знать. Во-первых, ваша виртуальная машина будет иметь только один сетевой интерфейс. Во-вторых, рекомендуется ознакомиться с командой EC2-Describe-Instances, так как эта команда используется для получения информации об DNS-имени и IP-адресе, используемых экземпляром.
Amazon также дает некоторые рекомендации в отношении безопасности. Виртуальным машинам Windows рекомендуется использовать надежные пароли, а виртуальные машины Linux должны использовать открытые ключи для SSH.
Наконец, Amazon рекомендует установить самую последнюю версию Amazon Windows EC2Config Service на любые виртуальные машины Windows после завершения процесса импорта.
Итак, с учетом сказанного, давайте поговорим о процессе импорта. Для импорта виртуальной машины в Amazon EC2 необходимо создать задачу импорта экземпляра. Эту задачу можно выполнить, введя одну команду. Команда:
$ aws ec2 import-image –cli-input-json "{ "Описание": "Windows 2008 OVA", "DiskContainers": [ { "Описание": "Первая задача CLI", "UserBucket": { "S3Bucket": "my-import-bucket", "S3Key": "my-windows-2008-vm.ova" } } ]}”
Наиболее важными частями показанной выше команды являются описание и ссылка на образ виртуального диска. В этом конкретном случае я взял команду непосредственно из документации Amazon, и команда ссылается на виртуальный жесткий диск на основе OVA. Этот тип виртуального жесткого диска обычно ассоциируется с VMware. Если вы импортируете виртуальный диск на основе Hyper-V, вместо этого вы должны ссылаться на файл VHD или VHDX.
Когда вы введете команду, показанную выше, вы получите ответ, который включает несколько строк кода XML. Пример ответа, предоставленный Amazon:
<ImportImageResponse xmlns="http://ec2.amazonaws.com/doc/2015-03-01/">
<прогресс>2</прогресс>
<importTaskId>import-ami-fgxn195v</importTaskId>
<статус>активен</статус>
<description>Windows 2008 OVA</description>
<snapshotTaskDetailSet>
<элемент>
<diskImageSize>0,0</diskImageSize>
<пользовательская корзина>
<s3Bucket>моя корзина импорта</s3Bucket>
<s3Key>my-windows-2008-vm.ova</s3Key>
</userBucket>
</item>
</snapshotTaskDetailSet>
<licenseType>AWS</licenseType>
<statusMessage>ожидание</statusMessage>
<requestId>1571e127-d6d8-4984-b4f1-3a21e9dbdcb5</requestId>
</импортизображениеответ>
Одна вещь, которую следует иметь в виду в процессе импорта, заключается в том, что импорт может занять некоторое время. В конце концов, виртуальный жесткий диск должен быть загружен, а затем Amazon должен преобразовать его во что-то, что может использовать служба. Это может занять некоторое время, и вы, вероятно, захотите периодически проверять, как продвигается процесс.
Если вы хотите проверить статус задачи импорта изображения, вам придется снова использовать командную строку. В документации Amazon приведена следующая команда, которую можно использовать при проверке состояния задачи импорта:
$ aws ec2 description-import-image-tasks –cli-input-json "{ "ImportTaskIds": ["import-ami-fgxn195v"], "NextToken": "abc", " MaxResults”: 10 } “
Еще раз Amazon предоставляет пример ответа, который состоит из блока кода XML. Пример ответа:
<DescribeImportImageTasksResponse xmlns="http://ec2.amazonaws.com/doc/2015-03-01/">
<importImageTaskSet>
<элемент>
<платформа>Windows</платформа>
<importTaskId>import-ami-fgs8im0c</importTaskId>
<imageId>ami-4a6c2722</imageId>
<status>завершено</status>
<description>Linux OVA</description>
<архитектура>x86_64</архитектура>
<snapshotTaskDetailSet>
<элемент>
<diskImageSize>3.115815424E9</diskImageSize>
<имя_устройства>/dev/sda1</имя_устройства>
<description>Первая задача CLI</description>
<format>VMDK</format>
<url>https://mys3bucket/vms/my-linux-vm.ova?AWSAccessKeyId=myAccessKeyId&Expires=expirationDate&Signature=mySignature</url>
</item>
</snapshotTaskDetailSet>
<licenseType>AWS</licenseType>
</item>
</importImageTaskSet>
<requestId>377ec1ca-6a47-42f5-8b84-aa07ff87f7b0</requestId>
</DescribeImportImageTasksResponse>
На первый взгляд, этот блок кода, вероятно, кажется излишним, поскольку цель состоит в том, чтобы просто определить, завершена ли задача. Тем не менее, в этом примере блока кода есть несколько вещей, на которые стоит обратить внимание.
Во-первых, вы заметите, что есть поля с пометками «Платформа», «Описание» и «Архитектура». Причина, по которой эти поля важны, заключается в том, что они могут помочь вам идентифицировать задачу импорта. Хотя на первый взгляд это может показаться ненужным, имейте в виду, что одновременно может выполняться несколько задач импорта. Если вы посмотрите на команду, которая используется для проверки состояния импорта, вы заметите, что она включает параметр, который устанавливает MaxResults равным 10. Другими словами, команда потенциально может отображать до 10 различных задач импорта и платформу, описание, и Архитектура могут помочь вам различать различные задачи.
Еще одна вещь, на которую важно обратить внимание, это строка состояния. Вот как выглядит строка в приведенном выше примере кода:
<status>завершено</status>
В данном конкретном случае статус Завершен, что, конечно же, означает, что процесс импорта завершен и образ импорта готов к использованию. Однако Завершено — не единственный возможный статус. Другие индикаторы состояния включают в себя:
Активно — задача обрабатывается прямо сейчас
Удаление — задача будет отменена
Удалено — задача отменена.
После завершения задачи вы сможете запустить экземпляр Amazon EC2, основанный на импортированном файле. К счастью, это легко сделать. Просто откройте консоль Amazon EC2 и выберите вариант AMI на панели навигации. Теперь выберите только что импортированный AMI и нажмите кнопку «Запустить».
Как насчет службы конфигурации Amazon Windows EC2?
Ранее я упоминал, что Amazon рекомендует установить Amazon Windows EC2 Config Service. Скачать сервис можно здесь. Лучший способ, который я могу придумать для описания этих служб, — это сравнить их со службами интеграции Hyper-V или с инструментами VMware. Microsoft и VMware предоставляют набор драйверов (службы интеграции Hyper-V и инструменты VMware), которые позволяют виртуальной машине лучше взаимодействовать с гипервизором. Служба конфигурации Amazon Windows EC2 выполняет аналогичную функцию для виртуальных машин Windows, работающих в облаке Amazon. Он обрабатывает такие вещи, как активация Windows, установка пароля администратора и так далее. Чтобы установить эту службу, виртуальная машина должна работать под управлением версии 3.5 SP1 или более поздней версии.NET Framework.
Вывод
Как видите, импортировать виртуальную машину в Amazon EC2 на самом деле несложно. Весь процесс импорта можно выполнить с помощью одной команды. Несмотря на это, требуется много подготовительной работы, чтобы подготовить вашу виртуальную машину к миграции в облако.
- Импорт виртуальной машины в Amazon EC2 (часть 2)
- Импорт виртуальной машины в Amazon EC2 (часть 4)
- Импорт виртуальной машины в Amazon EC2 (часть 5)
- Импорт виртуальной машины в Amazon EC2 (часть 6)