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

В этой статье описано, как настроить внешний балансировщик нагрузки в двух средах Azure Stack Hub.This article walks you through setting up an external load balancer on two Azure Stack Hub environments. Эту конфигурацию можно использовать для управления разными рабочими нагрузками.You can use this configuration to manage different workloads. В этой статье описано, как развернуть F5 в качестве глобального решения для балансировки нагрузки между двумя независимыми экземплярами Azure Stack Hub.In this article, you'll deploy F5 as a global load-balancing solution across two independent Azure Stack Hub instances. Вы также развернете веб-приложение с балансировкой нагрузки на сервере NGINX, распределенном между двумя экземплярами.You'll also deploy a load balanced web app running in an NGINX server across your two instances. Перед ними будет размещена пара виртуальных устройств F5 с высоким уровнем доступности и отработкой отказа.They'll run behind a high-availability, failover pair of F5 virtual appliances.

Примеры шаблонов Azure Resource Manager можно найти в репозитории f5-azurestack-gslb на GitHub.You can find the Azure Resource Manager templates in the f5-azurestack-gslb GitHub repository.

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

Оборудование для балансировки нагрузки F5 может располагаться за пределами Azure Stack Hub в центре обработки данных, где размещается Azure Stack Hub.The F5 hardware, the load-balancer, may be outside of Azure Stack Hub and within the datacenter that hosts Azure Stack Hub. Azure Stack Hub не имеет встроенных функций для распределения рабочих нагрузок между двумя отдельными развертываниями Azure Stack Hub.Azure Stack Hub doesn't have a native capability to load balance workloads across two separate Azure Stack Hub deployments. Виртуальный выпуск BIG-IP для F5 выполняется на обеих платформах.The F5's BIG-IP virtual edition (VE) run on both platforms. Такая конфигурация обеспечивает соответствие между архитектурами Azure и Azure Stack Hub за счет репликации вспомогательных служб приложений.This set up supports parity between Azure and Azure Stack Hub architectures through replication of the supporting application services. Вы можете разрабатывать приложение в одной среде, а затем переместить его в другую.You can develop an app in one environment and move it to another. Также вы можете создать копию полного развертывания Azure Stack Hub в готовом к эксплуатации виде, включая одни и те же конфигурации BIG-IP, политики и службы приложений.You can also mirror the entire production-ready Azure Stack Hub, including the same BIG-IP configurations, policies, and application services. Такой подход позволяет не тратить много времени на рефакторинг и тестирование приложения, а сосредоточиться на написании кода.The approach eliminates the need for countless hours of application refactoring and testing, and allows you to get on with writing code.

Обеспечение защиты приложений и связанных данных часто становится проблемой для разработчиков, которые переносят приложения в общедоступное облако.Securing applications and their data is often a concern for developers moving apps to the public cloud. Но это не должно быть проблемой.This doesn't need to be the case. Вы можете создавать приложение в среде Azure Stack Hub, а архитектор безопасности будет настраивать необходимые параметры в брандмауэре веб-приложения (WAF) для F5.You can build an app in your Azure Stack Hub environment, while a security architect configures the necessary settings on F5's web application firewall (WAF). Тогда вы сможете полностью реплицировать стек в Azure Stack Hub, полагаясь на защиту приложения тем же WAF, который является отраслевым эталоном.The entire stack can be replicated in Azure Stack Hub with the knowledge that the application will be protected by the same industry-leading WAF. Идентичные политики и наборы правил предотвратят появление рисков безопасности или уязвимостей, что характерно при применении разных WAF.With identical policies and rulesets, there won't be any security loopholes or vulnerabilities that might otherwise be generated by employing different WAFs.

Для Azure Stack Hub используется отдельный Marketplace (не относящийся к Azure).Azure Stack Hub has a separate marketplace from Azure. В него добавляются только избранные элементы.Only certain items are added. В нашем примере вам нужно создать новую группу ресурсов в каждом из экземпляров Azure Stack Hub и развернуть на них уже доступный виртуальный модуль F5.In this case, if you want to create a new resource group on each of the Azure Stack Hubs and deploy the F5 virtual appliance that are already available. Вы увидите, что для организации сетевого подключения между экземплярами Azure Stack Hub требуется общедоступный IP-адрес.From there, you'll see that a Public IP address will be required to allow network connectivity between both Azure Stack Hub instances. Эти экземпляры изолированы от окружающей сети, а общедоступный IP-адрес позволит им обмениваться данными.Essentially, they are both islands and the Public IP will allow them to talk across both locations.

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

  • Скачайте F5 BIG-IP VE - ALL (BYOL, 2 Boot Locations) в каждый экземпляр Azure Stack Hub Marketplace.Download F5 BIG-IP VE - ALL (BYOL, 2 Boot Locations) into each Azure Stack Hub Marketplace. Если вы не видите их на своем портале, обратитесь к оператору облака.If you don't have them available to you in your portal, contact your cloud operator.

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

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

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

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

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

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

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

    В диалоговом окне "панель мониторинга > New > Marketplace > все > F5 BIG-IP VE — все (BYOL, 2 загрузочные расположения) в поле поиска отображается клавиша F5.

  5. В нижней части следующей страницы щелкните создать.At the bottom of the next page, select Create.

    Диалоговое окно "F5 BIG-IP VE — все (BYOL, 2 загрузочные расположения)" содержит сведения о BIG-IP VE и модулях, которые можно развернуть в зависимости от лицензии.

  6. Создайте новую группу ресурсов с именем F5-GSLB.Create a New Resource Group called F5-GSLB.

  7. Укажите следующие значения, чтобы завершить этот пример развертывания:Use the following values as an example to complete the deployment:

    На странице Входные данные диалогового окна Microsoft. Template показано 15 текстовых полей, таких как VIRTUALMACHINENAME и ADMINUSERNAME, которые содержат значения для примера развертывания.

  8. Убедитесь, что развертывание завершилось успешно.Validate that your deployment completes successfully.

    Страница Обзор диалогового окна Microsoft. Template сообщает о завершении развертывания и предоставляет сведения о развертывании.

    Примечание

    Каждое развертывание BIG-IP занимает примерно 20 минут.Each BIG-IP Deployment should take around 20 minutes.

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

Повторите те же действия для Azure Stack Hub A и B.Follow these steps needs for both Azure Stack Hub A and B.

  1. Войдите на пользовательский портал Azure Stack Hub в экземпляре Azure Stack Hub A, чтобы проверить ресурсы, созданные при развертывании шаблона BIG-IP.Sign into the Azure Stack Hub user portal on Azure Stack Hub instance A to review the resources created from the BIG-IP template deployment.

    На странице Обзор диалогового окна F5-GSLB перечислены развернутые ресурсы и связанные с ними сведения.

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

  3. Настройте широкий список IP-адресов для BIG-IP, чтобы прослушивать оба устройства, развернутых в экземплярах Azure Stack Hub A и B, согласно описанию конфигурации BIG-IP GTM.Configure BIG-IP Wide IP List to listen across both appliances deployed to Azure Stack Hub instance A and B. For instructions, see BIG-IP GTM Configuration.

  4. Проверьте отработку отказа для устройств BIG-IP.Validate Failover of BIG-IP Appliances. В тестовой системе настройте следующие параметры для DNS-серверов:On a test system, configure your DNS servers to use the following:

    • экземпляр Azure Stack Hub — f5stack1-ext общедоступный IP-адрес;Azure Stack Hub instance A = f5stack1-ext public IP Address
    • экземпляр Azure Stack Hub B — f5stack1-ext общедоступный IP-адрес.Azure Stack Hub instance B = f5stack1-ext public IP Address
  5. В браузере перейдите по адресу www.contoso.com и убедитесь, что отображается стандартная страница NGINX.Browse to www.contoso.com and your browser loads the NGINX default page.

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

  1. Войдя в учетную запись суперпользователя, настройте отношения доверия.Enable the root account to establish trust. См. инструкции по изменению паролей учетной записи обслуживания системы (11.x–15.x).Follow the instruction at Changing system maintenance account passwords (11.x - 15.x). Настроив отношения доверия (обмен сертификатами), отключите учетную запись суперпользователя.After you set the trust (certificate exchange), disable the root account.

  2. Войдите в систему BIG-IP и создайте группу синхронизации DNS.Sign in to the BIG-IP and create a DNS Sync Group. См. инструкции по созданию группы синхронизации DNS для BIG-IP.For instructions, see Creating BIG-IP DNS Sync Group.

    Примечание

    Локальный IP-адрес устройства BIG-IP можно найти в группе ресурсов F5-GSLB.You can find the local IP of the BIP-IP Appliance in your F5-GSLB Resource Group. Выберите сетевой интерфейс f5stack1-ext и подключитесь к общедоступному или частному IP-адресу (в зависимости от способа получения доступа).The Network Interface is "f5stack1-ext" and you want to connect to the Public or Private IP (depending on access).

    В диалоговом окне "DNS- >> GSLB: список центров обработки данных: центр данных" перечислены центры данных и состояние.

    В диалоговом окне "DNS >> GSLB: серверы: список серверов" перечислены серверы и состояние.

  3. Выберите новую группу ресурсов F5-GSLB и виртуальную машину f5stack1, а затем в разделе Параметры выберите Сети.Select the new resource group F5-GSLB and select the f5stack1 virtual machine, under Settings select Networking.

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

После установки необходимо настроить группы безопасности сети центра Azure Stack и заблокировать исходные IP-адреса.After you have installed, you'll need to configure your Azure Stack Hub NSGs and lock down the source IP addresses.

  1. Отключите порт 22 после установки отношений доверия.Disable the port 22 after the trust has been established.

  2. Если система подключена к сети, заблокируйте группы безопасности сети для источника.When your system is online, block the source NSGs. NSG управления должна быть заблокирована для источника управления, внешняя (4353/TCP) NSG должна быть заблокирована для синхронизации с другим экземпляром. 443 также следует блокировать до развертывания приложений с виртуальными серверами.Management NSG should be locked to management source, External (4353/TCP) NSG should be locked to the other instance for sync. 443 should also be locked until applications with Virtual Servers are deployed.

  3. Настройте правило GTM_DNS, чтобы разрешить трафик по порту 53 (DNS), и сопоставитель BIG-IP начнет работать.GTM_DNS Rule is set to allow port 53 (DNS) traffic in, and BIG-IP resolver will start working once. Итак, прослушиватели созданы.Listeners are created.

    На странице fStack1-ext диалогового окна сетевой интерфейс отображаются сведения о интерфейсе fStack1-ext и о его NSG, fStack1-ext-NSG.

  4. Теперь разверните базовую рабочую нагрузку веб-приложения в среде Azure Stack Hub, чтобы выполнять балансировку нагрузки за экземпляром BIG-IP.Deploy a basic web application workload within your Azure Stack Hub environment to Load Balance behind the BIG-IP. См. пример использования сервера NGINX в руководстве по развертыванию NGINX и NGINX Plus в Docker.You can find an example for using the NGNIX server at Deploying NGINX and NGINX Plus on Docker.

    Примечание

    Разверните экземпляр NGINX в обоих экземплярах Azure Stack Hub (A и B).Deploy an instance of NGNIX on both Azure Stack Hub A and Azure Stack Hub B.

  5. Развернув NGINX в контейнере Docker на виртуальной машине Ubuntu в каждом из экземпляров Azure Stack Hub, попробуйте открыть стандартную веб-страницу на обоих серверах.After NGINX is deployed in a docker container on an Ubuntu VM within each of the Azure Stack Hub instances, validate that you can reach the default webpage on the servers.

    "Добро пожаловать в nginx!"

  6. Войдите в интерфейс управления для устройства BIG-IP.Sign in to the management interface of the BIG-IP appliance. В нашем примере используйте для этого общедоступный IP-адрес f5-stack1-ext.In this example, use the f5-stack1-ext Public IP address.

    Экран входа для служебной программы настройки больших IP-адресов требует указания имени пользователя и пароля.

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

    • В нашем примере описано, как настроить для BIG-IP виртуальный сервер и пул, чтобы разрешить входящий доступ из Интернета к приложению WordPress.In this task, you'll configure the BIG-IP with a Virtual Server and Pool to allow inbound Internet access to the WordPress application. Для начала необходимо узнать частный IP-адрес экземпляра NGINX.First you need to identify the private IP address for the NGINX instance.
  8. Войдите на портал пользователя Azure Stack Hub.Sign in to the Azure Stack Hub user portal.

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

    На странице Обзор диалогового окна Панель мониторинга > группы ресурсов > NGINX > ubuntu2673 "отображаются сведения о сетевом интерфейсе ubuntu2673.

  10. В консоли BIG-IP перейдите в раздел Локальный трафик > Пулы > Список пулов и щелкните +.From the BIG-IP console, go to Local traffic > Pools > Pool List and Select +. Настройте пул, используя значения из этой таблицы.Configure the pool using the values in the table. Для других полей сохраните значения по умолчанию.Leave all other fields to their defaults.

    Левая панель позволяет переходить к созданию нового пула.

    КлючKey ЗначениеValue
    ИмяName NGINX_PoolNGINX_Pool
    Монитор работоспособностиHealth Monitor HTTPSHTTPS
    Имя узлаNode Name NGINXNGINX
    АдресAddress <your NGINX private IP address>
    Порт службыService Port 443443
  11. Щелкните Готово.Select Finished. Если все настроено правильно, состояние пула будет отображаться зеленым цветом.When configured correctly, the pool status is green.

    Правая панель называется "локальный трафик >> пулы: список пулов", а только что созданный пул является единственной записью в списке.

    Теперь осталось настроить виртуальный сервер.You now need to configure the virtual server. Для этого прежде всего найдите частный IP-адрес для BIG-IP в F5.To do this, you first need to find the private IP of your F5 BIG-IP.

  12. В консоли BIG-IP перейдите в раздел Сеть > Собственный IP-адрес и запишите значение IP-адреса.From the BIG-IP console, go to Network > Self IPs and note the IP address.

    В левой области можно переходить к просмотру адресов Self.

  13. Создайте виртуальный сервер, перейдя в список виртуальных серверов локального трафика > Virtual Servers > Virtual Server List и выбрав + .Create a virtual server by going to Local Traffic > Virtual Servers > Virtual Server List and Select +. Настройте пул, используя значения из этой таблицы.Configure the pool using the values in the table. Для других полей сохраните значения по умолчанию.Leave all other fields to their defaults.

    КлючKey ЗначениеValue
    ИмяName NGINXNGINX
    Адрес назначенияDestination Address <Self IP address of the BIG-IP>
    Порт службыService Port 443443
    Профиль SSL (клиент)SSL Profile (Client) clientsslclientssl
    Преобразование сетевых адресовSource Address Translation Автоматическое сопоставлениеAuto Map

    Левая панель используется для перемещения по правой панели в область "локальный трафик >> виртуальные серверы: список виртуальных серверов >> NGINX", где указаны необходимые сведения.

    На этой странице представлена возможность ввести дополнительные сведения.

  14. Итак, вы завершили настройку BIG-IP для приложения NGINX.You have now completed the BIG-IP configuration for the NGINX application. Чтобы все проверить, откройте сайт в браузере и просмотрите статистику F5.To verify proper functionality, browse the site and verify F5 statistics.

  15. Перейдите в браузере по адресу https://<F5-public-VIP-IP> и убедитесь, что отображается стандартная страница NGINX.Open a browser to https://<F5-public-VIP-IP> and ensure it displays your NGINX default page.

    "Добро пожаловать в nginx!"

  16. Теперь в статистике виртуального сервера проверьте поток трафика, перейдя в раздел Статистика > Статистика модуля > Локальный трафик.Now check the statistics of your virtual server to verify traffic flow, by navigating to Statistics > Module Statistics > Local Traffic.

  17. В поле Тип статистики выберите значение Виртуальные серверы.Under Statistics Type, select Virtual Servers.

    На левой панели была перемещена правая панель "Статистика по модулю >> : локальный трафик >> виртуальные серверы", а в списке — виртуальный сервер NGINX и другие.

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

Дополнительные справочные материалы по использованию F5:You can find some reference articles about using F5:

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

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