Пошаговое руководство по примеру инфраструктуры Azure для виртуальных машин Linux
В этой статье рассматривается создание примера инфраструктуры приложений. Мы подробно рассмотрим проектирование инфраструктуры для простого интернет-магазина, учтя все рекомендации и решения по соглашениям об именовании, группам доступности, виртуальным сетям и балансировщикам нагрузки, и фактически развернем виртуальные машины.
Пример рабочей нагрузки
Adventure Works Cycles хочет создать приложение интернет-магазина в Azure, которое состоит из:
- двух серверов nginx, на которых выполняется клиентский внешний интерфейс на уровне Интернета;
- двух серверов nginx, обрабатывающих данные и заказы на уровне приложения;
- двух серверов MongoDB, входящих в сегментированный кластер, для хранения данных продуктов и заказов на уровне базы данных;
- двух контроллеров домена Active Directory для учетных записей клиентов и поставщиков на уровне аутентификации.
- Все серверы расположены в двух подсетях:
- интерфейсной сети для веб-серверов;
- внутренней подсети для серверов приложений, кластера MongoDB и контроллеров домена.
Защищенный входящий веб-трафик должен быть сбалансирован между веб-серверами, пока клиенты просматривают интернет-магазин. Трафик обработки заказов в виде HTTP-запросов от веб-серверов должен быть сбалансирован между серверами приложений. Кроме того, инфраструктура должна обеспечивать высокий уровень доступности.
В результате проект должен включать:
- подписку и учетную запись Azure;
- одну группу ресурсов.
- управляемые диски Azure.
- виртуальную сеть с двумя подсетями;
- группы доступности для виртуальных машин с аналогичной ролью;
- Виртуальные машины
Все вышеуказанное соответствует соглашению об именовании.
- В Adventure Works Cycles используется префикс [рабочая нагрузка ИТ-среды]-[расположение]-[ресурс Azure] .
- Например, azos (интернет-магазин Azure) — это имя рабочей нагрузки ИТ-среды, а use (восточная часть США 2) — это расположение.
- Для виртуальных сетей используется формат AZOS-USE-VN[номер].
- Для групп доступности используется формат azos-use-as-[роль].
- Для имен виртуальных машин используется формат use azos-use-vm-[имя_виртуальной_машины].
Подписки и учетные записи Azure
Компания Adventure Works Cycles использует подписку Enterprise Subscription под названием "Adventure Works Enterprise Subscription" для выставления счетов за эту рабочую нагрузку ИТ-среды.
Хранилище
В компании Adventure Works Cycles решили использовать Управляемые диски Azure. При создании виртуальных машин используются хранилища обоих уровней:
- хранилище уровня "Стандартный" для веб-серверов, серверов приложений, контроллеров домена и их дисков данных;
- хранилище уровня "Премиум" для серверов сегментированных кластеров MongoDB и их дисков данных.
Виртуальные сети и подсети
Так как виртуальная сеть не требует постоянного подключения к локальной сети Adventure Work Cycles, компания выбрала облачную виртуальную сеть.
Облачная виртуальная сеть создана на портале Azure с указанием следующих параметров:
- Имя: AZOS-USE-VN01
- Расположение: восточная часть США 2.
- Адресное пространство виртуальной сети: 10.0.0.0/8.
- Первая подсеть:
- Имя: FrontEnd.
- Адресное пространство: 10.0.1.0/24.
- Вторая подсеть:
- Имя: BackEnd.
- Адресное пространство: 10.0.2.0/24.
Группы доступности
Чтобы обеспечить высокий уровень доступности всех четырех уровней интернет-магазина, компания Adventure Works Cycles использует четыре группы доступности:
- azos-use-as-web для веб-серверов;
- azos-use-as-app для серверов приложений;
- azos-use-as-db для серверов в сегментированном кластере MongoDB;
- azos-use-as-dc для контроллеров домена.
Виртуальные машины
Компания Adventure Works Cycles использует следующие имена для своих виртуальных машин Azure:
- azos-use-vm-web01 для первого веб-сервера;
- azos-use-vm-web02 для второго веб-сервера;
- azos-use-vm-app01 для первого сервера приложений;
- azos-use-vm-app02 для второго сервера приложений;
- azos-use-vm-db01 для первого сервера в кластере MongoDB;
- azos-use-vm-db02 для второго сервера в кластере MongoDB;
- azos-use-vm-dc01 для первого контроллера домена;
- azos-use-vm-dc02 для второго контроллера домена.
Это конфигурация, которая получается в результате.
Эта конфигурация включает:
- облачную виртуальную сеть с двумя подсетями (FrontEnd и BackEnd);
- Управляемые диски Azure с дисками уровней "Стандартный" и "Премиум";
- четыре группы доступности, по одной для каждого уровня интернет-магазина;
- виртуальные машины для четырех уровней;
- внешний набор с балансировкой нагрузки для веб-трафика HTTPS из Интернета на веб-серверы;
- внешний набор с балансировкой нагрузки для незашифрованного веб-трафика с веб-серверов на серверы приложений.
- одну группу ресурсов.