Как выполнить развертывание F5 на двух экземплярах Azure Stack Hub

В этой статье описано, как настроить внешний балансировщик нагрузки в двух средах Azure Stack Hub. Эту конфигурацию можно использовать для управления разными рабочими нагрузками. В этой статье описано, как развернуть F5 в качестве глобального решения для балансировки нагрузки между двумя независимыми экземплярами Azure Stack Hub. Вы также развернете веб-приложение с балансировкой нагрузки на сервере NGINX, распределенном между двумя экземплярами. Перед ними будет размещена пара виртуальных устройств F5 с высоким уровнем доступности и отработкой отказа.

Примеры шаблонов Azure Resource Manager можно найти в репозитории f5-azurestack-gslb на GitHub.

Общие сведения о балансировке нагрузки с использованием F5

Оборудование для балансировки нагрузки F5 может располагаться за пределами Azure Stack Hub в центре обработки данных, где размещается Azure Stack Hub. Azure Stack Hub не имеет встроенных функций для распределения рабочих нагрузок между двумя отдельными развертываниями Azure Stack Hub. Виртуальный выпуск BIG-IP для F5 выполняется на обеих платформах. Такая конфигурация обеспечивает соответствие между архитектурами Azure и Azure Stack Hub за счет репликации вспомогательных служб приложений. Вы можете разрабатывать приложение в одной среде, а затем переместить его в другую. Также вы можете создать копию полного развертывания Azure Stack Hub в готовом к эксплуатации виде, включая одни и те же конфигурации BIG-IP, политики и службы приложений. Такой подход позволяет не тратить много времени на рефакторинг и тестирование приложения, а сосредоточиться на написании кода.

Обеспечение защиты приложений и связанных данных часто становится проблемой для разработчиков, которые переносят приложения в общедоступное облако. Но это не должно быть проблемой. Вы можете создавать приложение в среде Azure Stack Hub, а архитектор безопасности будет настраивать необходимые параметры в брандмауэре веб-приложения (WAF) для F5. Тогда вы сможете полностью реплицировать стек в Azure Stack Hub, полагаясь на защиту приложения тем же WAF, который является отраслевым эталоном. Идентичные политики и наборы правил предотвратят появление рисков безопасности или уязвимостей, что характерно при применении разных WAF.

Для Azure Stack Hub используется отдельный Marketplace (не относящийся к Azure). В него добавляются только избранные элементы. В нашем примере вам нужно создать новую группу ресурсов в каждом из экземпляров Azure Stack Hub и развернуть на них уже доступный виртуальный модуль F5. Вы увидите, что для организации сетевого подключения между экземплярами Azure Stack Hub требуется общедоступный IP-адрес. Эти экземпляры изолированы от окружающей сети, а общедоступный IP-адрес позволит им обмениваться данными.

Требования для виртуального выпуска BIG-IP

  • Скачайте F5 BIG-IP VE - ALL (BYOL, 2 Boot Locations) в каждый экземпляр Azure Stack Hub Marketplace. Если вы не видите их на своем портале, обратитесь к оператору облака.

  • Шаблон Azure Resource Manager можно найти в репозитории https://github.com/Mikej81/f5-azurestack-gslb на GitHub.

Развертывание виртуального выпуска F5 BIG-IP в каждом экземпляре

Выполните развертывание в экземплярах Azure Stack Hub A и B.

  1. Войдите на портал пользователя Azure Stack Hub.

  2. Выберите действие + Создать ресурс.

  3. Выполните поиск по запросу F5 в Marketplace.

  4. Выберите вариант F5 BIG-IP VE – ALL (BYOL, 2 Boot Locations).

    The

  5. В нижней части следующей страницы нажмите кнопку "Создать".

    The

  6. Создайте новую группу ресурсов с именем F5-GSLB.

  7. Укажите следующие значения, чтобы завершить этот пример развертывания:

    The Inputs page of the Microsoft.Template dialog box shows 15 text boxes, such as VIRTUALMACHINENAME and ADMINUSERNAME, that contain values for an example deployment.

  8. Убедитесь, что развертывание завершилось успешно.

    The Overview page of the Microsoft.Template dialog box reports

    Примечание

    Каждое развертывание BIG-IP занимает примерно 20 минут.

Настройка устройств BIG-IP

Повторите те же действия для Azure Stack Hub A и B.

  1. Войдите на пользовательский портал Azure Stack Hub в экземпляре Azure Stack Hub A, чтобы проверить ресурсы, созданные при развертывании шаблона BIG-IP.

    The Overview page of the F5-GSLB dialog box lists the deployed resources, and associated information.

  2. Выполните инструкции для элементов конфигурации BIG-IP в документации по F5.

  3. Настройте широкий список IP-адресов для BIG-IP, чтобы прослушивать оба устройства, развернутых в экземплярах Azure Stack Hub A и B, согласно описанию конфигурации BIG-IP GTM.

  4. Проверьте отработку отказа для устройств BIG-IP. В тестовой системе настройте следующие параметры для DNS-серверов:

    • экземпляр Azure Stack Hub — f5stack1-ext общедоступный IP-адрес;
    • экземпляр Azure Stack Hub B — f5stack1-ext общедоступный IP-адрес.
  5. В браузере перейдите по адресу www.contoso.com и убедитесь, что отображается стандартная страница NGINX.

Создание группы синхронизации DNS

  1. Войдя в учетную запись суперпользователя, настройте отношения доверия. См. инструкции по изменению паролей учетной записи обслуживания системы (11.x–15.x). Настроив отношения доверия (обмен сертификатами), отключите учетную запись суперпользователя.

  2. Войдите в систему BIG-IP и создайте группу синхронизации DNS. См. инструкции по созданию группы синхронизации DNS для BIG-IP.

    Примечание

    Локальный IP-адрес устройства BIG-IP можно найти в группе ресурсов F5-GSLB. Выберите сетевой интерфейс f5stack1-ext и подключитесь к общедоступному или частному IP-адресу (в зависимости от способа получения доступа).

    The

    The

  3. Выберите новую группу ресурсов F5-GSLB и виртуальную машину f5stack1, а затем в разделе Параметры выберите Сети.

Настройка после установки

После установки необходимо настроить группы безопасности сети Azure Stack Hub и заблокировать исходные IP-адреса.

  1. Отключите порт 22 после установки отношений доверия.

  2. Если система подключена к сети, заблокируйте группы безопасности сети для источника. Группа безопасности сети управления должна быть заблокирована для источника управления, для синхронизации следует заблокировать внешний NSG (4353/TCP). 443 также следует блокировать до развертывания приложений с виртуальными серверами.

  3. Настройте правило GTM_DNS, чтобы разрешить трафик по порту 53 (DNS), и сопоставитель BIG-IP начнет работать. Итак, прослушиватели созданы.

    The fStack1-ext page of the Network Interface dialog box shows information about the fstack1-ext interface, and about its NSG, fstack1-ext-nsg. There are tabs to select viewing either the Inbound port rules or the Outbound port rules.

  4. Теперь разверните базовую рабочую нагрузку веб-приложения в среде Azure Stack Hub, чтобы выполнять балансировку нагрузки за экземпляром BIG-IP. См. пример использования сервера NGINX в руководстве по развертыванию NGINX и NGINX Plus в Docker.

    Примечание

    Разверните экземпляр NGINX в обоих экземплярах Azure Stack Hub (A и B).

  5. Развернув NGINX в контейнере Docker на виртуальной машине Ubuntu в каждом из экземпляров Azure Stack Hub, попробуйте открыть стандартную веб-страницу на обоих серверах.

    The

  6. Войдите в интерфейс управления для устройства BIG-IP. В этом примере используйте общедоступный IP-адрес f5-stack1-ext .

    The login screen for the BIG-IP Configuration Utility requires Username and Password.

  7. Опубликуйте доступ к NGINX через BIG-IP.

    • В нашем примере описано, как настроить для BIG-IP виртуальный сервер и пул, чтобы разрешить входящий доступ из Интернета к приложению WordPress. Для начала необходимо узнать частный IP-адрес экземпляра NGINX.
  8. Войдите на портал пользователя Azure Stack Hub.

  9. Выберите сетевой интерфейс NGINX.

    The Overview page of the

  10. В консоли BIG-IP перейдите в список пулов локальных пулов > трафика > и выберите +. Настройте пул, используя значения из этой таблицы. Для других полей сохраните значения по умолчанию.

    The left pane provides the ability to navigate to create a new pool. The right pane is titled

    Ключ Значение
    Имя NGINX_Pool
    Монитор работоспособности HTTPS
    Имя узла NGINX
    Адрес <частный IP-адрес NGINX>
    Порт службы 443
  11. Щелкните Готово. Если все настроено правильно, состояние пула будет отображаться зеленым цветом.

    The right pane is titled

    Теперь осталось настроить виртуальный сервер. Для этого прежде всего найдите частный IP-адрес для BIG-IP в F5.

  12. В консоли BIG-IP перейдите к IP-адресам сети > и запишите IP-адрес.

    The left pane provides the ability to navigate to show Self IPs. The right pane is titled

  13. Создайте виртуальный сервер, перейдя в список серверов LocalTrafficVirtual>ServersVirtual> и выберите +. Настройте пул, используя значения из этой таблицы. Для других полей сохраните значения по умолчанию.

    Ключ Значение
    Имя NGINX
    Адрес назначения <Самостоятельный IP-адрес BIG-IP>
    Порт службы 443
    Профиль SSL (клиент) clientssl
    Преобразование сетевых адресов Автоматическое сопоставление

    The left pane is used to navigate the right pane to

    This page provides the capability to enter additional information. There are Update and Delete buttons.

  14. Итак, вы завершили настройку BIG-IP для приложения NGINX. Чтобы все проверить, откройте сайт в браузере и просмотрите статистику F5.

  15. Перейдите в браузере по адресу https://<F5-public-VIP-IP> и убедитесь, что отображается стандартная страница NGINX.

    The

  16. Теперь проверьте статистику виртуального сервера, чтобы проверить поток трафика, перейдя к локальному трафику статистики модуля статистики >>.

  17. В поле Тип статистики выберите значение Виртуальные серверы.

    The left pane has navigated the right pane to

Дополнительные сведения

Дополнительные справочные материалы по использованию F5:

Дальнейшие действия

Сети Azure Stack Hub: различия и рекомендации