Повторное размещение локального приложения Linux в виртуальные машины Azure
В этой статье на примере вымышленной компании Contoso демонстрируется повторное размещение двухуровневого приложения на основе LAMP с использованием виртуальных машин Azure в формате IaaS (инфраструктура как услуга).
Используемое в этом примере приложение службы поддержки osTicket предоставляется как программное обеспечение с открытым исходным кодом. Если вы хотите использовать его для тестирования, скачайте его с сайта GitHub.
Бизнес-факторы
Совместными усилиями ИТ-руководство и деловые партнеры определили указанные ниже цели этой миграции.
- Адаптация к расширению бизнеса. По мере развития компании Contoso растет нагрузка на локальные системы и инфраструктуру.
- Ограничение рисков. Приложение службы поддержки критически важно для деятельности Contoso. Поэтому компания Contoso хочет переместить его в Azure с минимальными рисками.
- Расширение. В Contoso не намерены изменять приложение прямо сейчас. Нужно лишь обеспечить стабильность приложения.
Цели миграции
Для выбора наилучшего способа миграции команда Contoso по работе в облаке определила цели миграции.
- После миграции в Azure приложение должно сохранить те же возможности с точки зрения производительности, что и в корпоративной локальной среде VMware. В облаке приложение будет играть такую же критически важную роль, как в локальной среде.
- Contoso не считает нужным вкладывать средства в это приложение. Оно важно для бизнеса, но компании Contoso пока нужно лишь безопасно переместить его в облако в текущем виде.
- В компании Contoso не намерены изменять модель взаимодействия с этим приложением. Взаимодействие с ним в облаке должно осуществляться так же, как и сейчас.
- В компании Contoso не намерены изменять функциональные возможности приложения. Изменится только расположение приложения.
- Специалисты Contoso уже выполнили миграцию нескольких приложений Windows и теперь хотят освоить использование инфраструктуры на базе Linux в Azure.
Архитектура решения
После утверждения целей и требований компания Contoso проектирует и проверяет решение для развертывания, затем определяет процесс миграции. Также компания Contoso выбирает службы Azure, которые будет использовать для миграции.
Текущее приложение
- Приложение osTicket размещено на двух виртуальных машинах
OSTICKETWEB
иOSTICKETMYSQL
. - Виртуальные машины расположены на узле VMware ESXi
contosohost1.contoso.com
(версии 6.5). - Среда VMware находится под управлением сервера vCenter Server 6.5 (
vcenter.contoso.com
) и выполняется на виртуальной машине. - Компания Contoso использует локальный центр обработки данных (
contoso-datacenter
) с локальным контроллером домена (contosodc1
).
Предлагаемая архитектура
- Так как рабочая нагрузка этого приложения выполняется в рабочей среде, виртуальные машины в Azure будут располагаться в рабочей группе ресурсов
ContosoRG
. - Виртуальные машины будут перенесены в основной регион (восточная часть США 2) и помещены в рабочую сеть (
VNET-PROD-EUS2
).- Виртуальная машина веб-уровня будет находиться в интерфейсной подсети (
PROD-FE-EUS2
). - Виртуальная машина базы данных будет находиться в подсети баз данных (
PROD-DB-EUS2
).
- Виртуальная машина веб-уровня будет находиться в интерфейсной подсети (
- После завершения миграции локальные виртуальные машины в центре обработки данных Contoso будут выведены из эксплуатации.
Проверка решения
Специалисты Contoso оценивают предлагаемую структуру, составляя список преимуществ и недостатков.
Оценка | Сведения |
---|---|
Преимущества | Обе виртуальные машины приложения будут перемещены в Azure без изменений, что заметно упрощает миграцию. Поскольку компания Contoso использует подход lift-and-shift для обеих виртуальных машин приложения, для базы данных приложения не требуются специальные средства настройки или миграции. Contoso сохранит полный контроль над виртуальными машинами приложений в Azure. Виртуальные машины приложения работают под управлением ОС Ubuntu 16.04-TLS, которая является одобренным дистрибутивом Linux. Изучите статью Рекомендуемые дистрибутивы Linux в Azure. |
Недостатки | Уровень веб-узла и уровень данных приложения остаются едиными точками для отработки отказа. Компании Contoso нужно и дальше поддерживать виртуальные машины приложения, без перехода на управляемую службу, такую как Служба приложений Azure и База данных Azure для MySQL. Компания Contoso осознает, что простая миграция виртуальных машин методом lift-and-shift не позволит использовать все преимущества возможностей, предоставляемых Базой данных Azure для MySQL. Сюда относятся, среди прочего, встроенный высокий уровень доступности, прогнозируемая производительность, простота масштабирования, автоматическое резервное копирование и встроенная система безопасности. |
Процесс миграции
Порядок миграции в Contoso будет следующим:
- В качестве первого шага Contoso подготовит и настроит компоненты Azure для средства миграции серверов Миграции Azure, а также подготовит локальную инфраструктуру VMware.
- В компании уже развернута инфраструктура Azure, поэтому остается лишь добавить и настроить репликацию виртуальных машин с помощью средства миграции серверов Миграции Azure.
- Когда все будет подготовлено, Contoso сможет начать репликацию виртуальных машин.
- После того как репликация будет включена и начнет работать, Contoso перенесет виртуальную машину путем отработки отказа в Azure.
Службы Azure
Служба | Описание | Стоимость |
---|---|---|
Azure Migrate: Server Migration (Миграция Azure: миграция сервера). | Эта служба управляет миграцией локальных приложений и рабочих нагрузок, а также экземпляров виртуальных машин Amazon Web Services (AWS) и Google Cloud Platform (GCP). | Во время репликации в Azure взимается плата за службу хранилища Azure. При выполнении миграции создаются виртуальные машины Azure, за которые взимается плата. Подробнее о расходах и ценах. |
Предварительные требования
Ниже приведены действия компании Contoso, необходимые для этого сценария.
Требования | Сведения |
---|---|
Подписка Azure. | Специалисты Contoso создали подписки ранее в этой серии статей. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure. Если вы создаете бесплатную учетную запись, вы являетесь администратором своей подписки и можете выполнять любые действия. Если вы используете существующую подписку, в которой не являетесь администратором, администратор должен назначить вам права владельца или участника. Если вам требуется более детализированные разрешения, см. статью Управление доступом для восстановления сайта с помощью управления доступом на основе ролей Azure (Azure RBAC). |
Инфраструктура Azure | Узнайте, как компания Contoso настраивает инфраструктуру Azure. Узнайте больше о предварительных требованиях для средства миграции серверов Миграции Azure. |
Локальные серверы | Потребуется локальный сервер vCenter Server версии 5.5, 6.0 или 6.5. Узел ESXi под управлением версии 5.5, 6.0 или 6.5 Одна или несколько виртуальных машин VMware, которые выполняются на узле ESXi. |
Локальные виртуальные машины | Ознакомьтесь со списком дистрибутивов Linux, которые рекомендованы к использованию в Azure. |
Шаги выполнения сценария
Миграция в Contoso будет осуществляться следующим образом:
- Шаг 1. Подготовка Azure к работе со средством миграции серверов Миграции Azure. Добавляется средство миграции серверов службы "Миграция Azure" в проект Миграции Azure.
- Шаг 2. Подготовка локальной среды VMware для работы со средством миграции серверов Миграции Azure. Подготавливаются учетные записи для обнаружения виртуальных машин и все, что потребуется для подключения к виртуальным машинам Azure после миграции.
- Шаг 3. Репликация виртуальных машин. Настраивается и запускается репликация виртуальных машин в хранилище Azure.
- Шаг 4. Миграция виртуальных машин с помощью средства миграции серверов Миграции Azure. Выполняется тестовая миграция, чтобы убедиться в надлежащей работе всех компонентов, а затем полная миграцию для переноса виртуальных машин в Azure.
Шаг 1. Подготовка Azure к работе со средством миграции серверов Миграции Azure
Ниже перечислены компоненты Azure, которые необходимы для миграции виртуальных машин компании Contoso в Azure.
- Виртуальная сеть, в которой будут размещены виртуальные машины Azure, которые создаются во время миграции.
- Подготовленное средство миграции серверов Миграции Azure.
Эти компоненты настраиваются следующим образом.
Настраивать сеть. Компания Contoso уже настроила сеть, которую сможет использовать для средства миграции серверов Миграции Azure, когда развертывала инфраструктуру Azure.
- Приложение SmartHotel360 выполняется в рабочей среде. Виртуальные машины будут переноситься в рабочую сеть Azure (
VNET-PROD-EUS2
) в основном регионе (East US 2
). - Обе виртуальные машины будут размещены в группе ресурсов
ContosoRG
, которая используется для ресурсов рабочей среды. - Виртуальная машина для интерфейса приложения (
OSTICKETWEB
) будет переноситься в интерфейсную подсеть (PROD-FE-EUS2
) в рабочей сети. - Виртуальная машина для базы данных приложения (
OSTICKETMYSQL
) будет переноситься в подсеть базы данных (PROD-DB-EUS2
) в рабочей сети.
- Приложение SmartHotel360 выполняется в рабочей среде. Виртуальные машины будут переноситься в рабочую сеть Azure (
Подготовка средства миграции серверов Миграции Azure. После подготовки сети и учетной записи хранения компания Contoso создает хранилище Служб восстановления (
ContosoMigrationVault
) и помещает его в группу ресурсовContosoFailoverRG
в основном регионе (East US 2
).
Требуется дополнительная помощь?
Узнайте, как настроить средство миграции серверов Миграции Azure.
Шаг 2. Подготовка локальной среды VMware для работы со средством миграции серверов Миграции Azure
Компании Contoso необходимо, чтобы после миграции в Azure сохранилась возможность подключения к реплицированным виртуальным машинам в Azure. Для этого администраторы Contoso должны выполнить ряд действий.
- Чтобы получить доступ к виртуальным машинам Azure через Интернет, следует включить SSH на локальных виртуальных машинах Linux перед миграцией. В Ubuntu этот шаг можно выполнить с помощью следующей команды:
sudo apt-get ssh install -y
. - Установите агент Linux для Azure.
- После выполнения миграции они проверят данные диагностики загрузки, чтобы увидеть снимок экрана виртуальной машины.
- Если он не отображается, нужно убедиться, работает ли виртуальная машина, и изучить советы по устранению неполадок.
Требуется дополнительная помощь?
Узнайте, как подготовить виртуальные машины к миграции.
Шаг 3. Репликация локальных виртуальных машин
Чтобы можно было запустить миграцию в Azure, администраторам компании Contoso потребуется настроить и включить репликацию.
Когда обнаружение завершится, начните репликацию виртуальных машин VMware в Azure.
В проекте Миграции Azure последовательно выберите Серверы>Миграция Azure: миграция сервера и щелкните Реплицировать.
В разделе Реплицировать>Параметры источника>Ваши компьютеры виртуализированы? выберите Да, с помощью VMware vSphere.
В разделе Локальное устройство выберите имя устройства для службы "Миграция Azure", указанное при настройке, и нажмите ОК.
В разделе Виртуальные машины выберите виртуальные машины, которые необходимо реплицировать.
- Если вы выполнили оценку для виртуальных машин, вы можете применить рекомендации по выбору размера виртуальной машины и типу диска ("Премиум" или "Стандарт") из результатов оценки. В поле Импортировать параметры миграции из средства оценки Миграции Azure? выберите вариант Да.
- Если вы не проводили оценку или не хотите использовать параметры оценки, выберите вариант Нет.
- Если вы решили использовать оценку, выберите группу виртуальных машин и имя оценки.
В разделе Виртуальные машины найдите и выберите виртуальные машины, которые вы хотите перенести. Затем нажмите Далее: целевые параметры.
В разделе Целевые параметры выберите подписку и целевой регион для миграции. Укажите группу ресурсов, в которой виртуальные машины Azure будут располагаться после миграции. В разделе Виртуальная сеть выберите виртуальную сеть или подсеть, к которой будут подключены виртуальные машины Azure после миграции.
Для параметра Преимущество гибридного использования Azure
- выберите вариант Нет, если вы не хотите применять Преимущество гибридного использования Azure. Выберите Далее.
- Нажмите Да, если у вас есть компьютеры с Windows Server, на которые распространяются активные подписки Software Assurance или Windows Server, и вы хотите применить это преимущество к компьютерам, которые вы переносите. Выберите Далее.
В разделе Вычисления просмотрите имя виртуальной машины, размер, тип диска ОС и группу доступности. Виртуальные машины должны соответствовать требованиям Azure.
- Размер виртуальной машины. Если вы используете рекомендации по оценке, раскрывающийся список размеров виртуальных машин будет содержать рекомендуемый размер. В противном случае служба "Миграция Azure" выберет ближайший совпадающий размер в подписке Azure. В качестве альтернативы выберите размер вручную в разделе Размер виртуальной машины Azure.
- Диск ОС. Укажите загрузочный диск ОС для виртуальной машины. Диск ОС — это диск с загрузчиком операционной системы и установщиком.
- Группа доступности. Если виртуальная машина должна находиться в группе доступности Azure после миграции, укажите эту группу. Группа должна находиться в целевой группе ресурсов, которую вы указываете для миграции.
В поле Диски укажите, следует ли реплицировать диски виртуальной машины в Azure. Выберите тип диска в Azure (SSD (цен. категория "Стандартный"), HDD или SSD (цен. категория "Премиум")). Выберите Далее.
- Диски можно исключить из репликации.
- При исключении дисков они будут отсутствовать на виртуальной машине Azure после миграции.
На вкладке Обзор и запуск репликации проверьте введенные параметры. Затем щелкните Реплицировать, чтобы запустить начальную репликацию для серверов.
Примечание
Вы можете обновить параметры репликации в любое время до начала репликации, используя раздел Управление>Репликация компьютеров. Настройки невозможно изменить после начала репликации.
Шаг 4. Миграция виртуальных машин
Администраторы Contoso выполняют быструю тестовую миграцию, а затем полную миграцию для переноса виртуальных машин.
Выполнение тестовой миграции
В разделе Цели миграции> Серверы>Миграция Azure: миграция серверов выберите Тестировать перенесенные серверы.
Выберите и удерживайте (или щелкните правой кнопкой мыши) виртуальную машину для проверки. Затем выберите Тестовая миграция.
В разделе Тестовая миграция выберите виртуальную сеть Azure, в которой будет находиться виртуальная машина Azure после миграции. Мы рекомендуем использовать нерабочую виртуальную сеть.
Запустится задание Тестовая миграция. Отслеживайте задание и уведомления на портале.
После завершения миграции просмотрите перенастроенную виртуальную машину Azure в разделе Виртуальные машины на портале Azure. Имя машины содержит суффикс -Test.
Когда тест завершится, выберите и удерживайте (или щелкните правой кнопкой мыши) виртуальную машину Azure на странице Репликация компьютеров. Затем щелкните Очистка тестовой миграции.
Миграция виртуальных машин
Теперь администраторы компании Contoso могут выполнить полную миграцию, чтобы завершить процесс.
В проекте Миграции Azure последовательно выберите Серверы>Миграция Azure: миграция сервера и щелкните Репликация серверов.
В области Репликация компьютеров выберите и удерживайте (или щелкните правой кнопкой мыши) виртуальную машину, а затем нажмите Миграция.
В разделе Миграция>Shut down virtual machines and perform a planned migration with no data loss (Завершить работу виртуальных машин и выполнить запланированную миграцию без потери данных?) выберите вариант Да>ОК.
- По умолчанию служба "Миграция Azure" выключает локальную виртуальную машину и запускает репликацию по требованию для синхронизации любых изменений виртуальной машины, которые произошли с момента последней репликации. Это действие позволит избежать потери данных.
- Если вы не хотите выключать виртуальную машину, выберите вариант Нет.
Запустится задание миграции виртуальной машины. Отслеживайте задание в уведомлениях Azure.
После завершения работы вы можете просматривать виртуальную машину и управлять ею на странице Виртуальные машины.
Подключение виртуальной машины к базе данных
На последнем этапе миграции администраторы Contoso обновляют строку подключения приложения, чтобы она указывала на новую базу данных, запущенную на виртуальной машине OSTICKETMYSQL
.
Установите SSH-подключение к виртуальной машине
OSTICKETWEB
с помощью Putty или другого клиента SSH. Это частная виртуальная машина, поэтому для подключения к ней используется частный IP-адрес.Убедитесь, что виртуальная машина
OSTICKETWEB
может обмениваться данными с виртуальной машинойOSTICKETMYSQL
. В настоящее время в конфигурации жестко закодирован локальный IP-адрес172.16.0.43
.Перед обновлением
После обновления
Перезапустите службу с помощью команды systemctl restart apache2.
Наконец, обновите записи DNS для
OSTICKETWEB
иOSTICKETMYSQL
на одном из контроллеров домена Contoso.
Требуется дополнительная помощь?
- Узнайте, как выполнить тестовую миграцию.
- Узнайте, как выполнить миграцию виртуальных машин в Azure.
Очистка после миграции
Итак, миграция завершена и уровни приложения osTicket работают на виртуальных машинах Azure.
Теперь компании Contoso нужно выполнить следующие действия.
- Удалите локальные виртуальные машины из перечня в vCenter.
- Удалить локальные виртуальные машины из локальных заданий резервного копирования.
- Обновить внутренние документы и отразить в них новое расположение и IP-адреса виртуальных машин
OSTICKETWEB
иOSTICKETMYSQL
. - Проверьте все ресурсы, которые взаимодействуют с виртуальными машинами. Обновить все соответствующие параметры или документы согласно новой конфигурации.
- Специалисты Contoso применили службу "Миграция Azure" с виртуальными машинами управления для оценки пригодности виртуальных машин к миграции. Администраторам следует удалить виртуальные машины миграции и веб-сайта с сервера VMware ESXi.
Проверка развертывания
Теперь, когда приложение работает, компании Contoso необходимо подготовить его к эксплуатации и защитить новую инфраструктуру.
Безопасность
Специалисты по безопасности компании Contoso проверяют виртуальные машины OSTICKETWEB
и OSTICKETMYSQL
, чтобы выявить любые проблемы безопасности.
- Чтобы можно было управлять доступом, команда проверяет группы безопасности сети (NSG) для виртуальных машин. NSG позволяют пропускать только разрешенный для приложения трафик.
- Также команда думает о том, чтобы защитить данные на дисках виртуальных машин с помощью Шифрования дисков Azure и Azure Key Vault.
Подробнее см. статью Рекомендации по обеспечению безопасности для рабочих нагрузок IaaS в Azure.
Непрерывность бизнес-процессов и аварийное восстановление
Чтобы обеспечить непрерывность бизнес-процессов и аварийное восстановление, специалисты компании Contoso выполняют указанные ниже действия.
Безопасное хранение данных. Компания Contoso защищает данных на виртуальных машинах, используя резервное копирование Виртуальных машин Azure.
Постоянная работоспособность приложений. Компания Contoso реплицирует виртуальные машины приложения в дополнительный регион Azure с помощью Site Recovery. Дополнительные сведения см. в кратком руководстве Настройка аварийного восстановления виртуальной машины Azure в дополнительный регион Azure.
Лицензирование и оптимизация затрат
- После развертывания ресурсов Contoso назначает теги Azure в соответствии с определениями, заданными в ходе развертывания инфраструктуры Azure.
- У компании Contoso нет проблем с лицензированием серверов Ubuntu.
- Contoso будет использовать службу Управление затратами и выставление счетов Azure, чтобы не нарушать утвержденные ИТ-руководством лимиты бюджетов.