Поделиться через


Пошаговое руководство по примеру инфраструктуры 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 для второго контроллера домена.

Это конфигурация, которая получается в результате.

Окончательная инфраструктура приложений, развернутая в Azure

Эта конфигурация включает:

  • облачную виртуальную сеть с двумя подсетями (FrontEnd и BackEnd);
  • Управляемые диски Azure с дисками уровней "Стандартный" и "Премиум";
  • четыре группы доступности, по одной для каждого уровня интернет-магазина;
  • виртуальные машины для четырех уровней;
  • внешний набор с балансировкой нагрузки для веб-трафика HTTPS из Интернета на веб-серверы;
  • внешний набор с балансировкой нагрузки для незашифрованного веб-трафика с веб-серверов на серверы приложений.
  • одну группу ресурсов.