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


Пример пошагового руководства по инфраструктуре Azure для виртуальных машин Linux

В этой статье описывается создание примера инфраструктуры приложений. Мы подробно рассмотрим проектирование инфраструктуры для простого онлайн-магазина, которое объединяет все рекомендации и решения по соглашению об именовании, группам доступности, виртуальным сетям и балансировщикам нагрузки, а также фактическому развертыванию виртуальных машин (ВМ).

Пример рабочей нагрузки

Adventure Works Cycles хочет создать локальное приложение хранилища в Azure, состоящее из следующих компонентов:

  • Два сервера nginx с интерфейсом клиента на веб-уровне
  • Два сервера nginx, обрабатывающих данные и заказы на уровне приложений
  • Два сервера MongoDB, часть сегментированного кластера для хранения данных продукта и заказов на уровне базы данных
  • Два контроллера домена Active Directory для учетных записей клиентов и поставщиков на уровне проверки подлинности
  • Все серверы находятся в двух подсетях:
    • интерфейсная подсеть для веб-серверов
    • серверная подсеть для серверов приложений, кластера MongoDB и контроллеров домена

Схема различных уровней инфраструктуры приложений

Входящий безопасный трафик веб-сайта должен быть распределён между веб-серверами, когда клиенты просматривают интернет-магазин. Трафик обработки заказа в виде HTTP-запросов с веб-серверов должен быть балансирован между серверами приложений. Кроме того, инфраструктура должна быть разработана для обеспечения высокой доступности.

Результирующий дизайн должен включать следующие функции:

  • Подписка и учетная запись Azure
  • Отдельная группа ресурсов
  • Управляемые диски Azure
  • Виртуальная сеть с двумя подсетями
  • Группы доступности для виртуальных машин с аналогичной ролью
  • Виртуальные машины

Все перечисленные выше элементы соответствуют следующим соглашениям об именовании.

  • Adventure Works Cycles использует [ИТ-рабочую нагрузку]-[расположение]-[ресурс Azure] в качестве префикса
    • В этом примере "azos" (Azure On-line Store) — это имя ИТ-рабочей нагрузки и "use" (Восток США 2) — расположение.
  • Виртуальные сети используют AZOS-USE-VN[number]
  • Группы доступности используют azos-use-as-[role]
  • Имена виртуальных машин используют azos-use-vm-[vmname]

Подписки и учетные записи Azure

Adventure Works Cycles использует свою корпоративную подписку с именем Adventure Works Enterprise Subscription, чтобы обеспечить выставление счетов для этой ИТ-рабочей нагрузки.

Хранение

Компания Adventure Works Cycles определила, что им следует использовать управляемые диски Azure. При создании виртуальных машин используются оба доступных уровня хранилища:

  • Стандартное хранилище для веб-серверов, серверов приложений и контроллеров домена и их дисков данных.
  • Хранилище класса Premium для сегментированных серверов кластеров 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 из Интернета на веб-серверы
  • Внутренний набор балансировки нагрузки для незашифрованного веб-трафика с веб-серверов на серверы приложений
  • Отдельная группа ресурсов