Рубрики
Uncategorized

Azure нагрузка балансировки демистифицированных

Вы когда-нибудь были запутаны всеми вариантами балансировки нагрузки, доступные в Azure? Что такое различие … Помечено с лазурным лазурным лазуром.

Вы когда-нибудь были запутаны всеми вариантами балансировки нагрузки, доступные в Azure? В чем разница между региональной и глобальной балансировкой нагрузки? Почему так много услуг балансировки нагрузки? И … Как вы настроили балансировщик нагрузки Azure полностью с нуля?

Это видео было создано, чтобы ответить на эти вопросы.

Если вы преследуете Microsoft Azure на основе ролей сертификатов, эта концепция будет продолжаться снова и снова, поэтому приятно понимать основы.

Полная стенограмма:

Mike Pfeiffer: сеть, безусловно, является одной из самых больших задач для любого преследующего Azure Certification. Большинство экзаменов включают некоторые уровень сети. Когда дело доходит до того, что делают такие вещи, как балансировка нагрузки, которые могут быть действительно запутанными, потому что есть несколько типов балансировщиков нагрузки, есть глобальная и региональная балансировка нагрузки. И это как: «Когда я выберу один над другим?» В этом видео я собираюсь сломать различия, и я собираюсь показать вам, как реализовать балансировщик нагрузки для загрузки пары баланса VMS Ubuntu на зонах доступности в Azure.

Майк Пфайффер: Что все готово. Это Mike Pfeiffer, Microsoft Azure MVP и хозяин Podcast CloudSkills.fm. Это видео на самом деле от обучения, которую мы сделали, сертификация AZ-104, которую мы сделали с Тимом Warner и мной пару недель назад. В этом видео я провожу почти час, принимая вас через балансировку нагрузки в Azure. Как я уже сказал, я собираюсь сломать различия между региональными и глобальными балансировкой нагрузки, все такими вещами.

Mike Pfeiffer: На самом деле я шагаю по ступенью, поступаю через реализацию балансировщика Azure Load, чтобы в основном баланс нагрузки пару различных виртуальных машин, работающих в двух разных зонах доступности в зоне азума. Если вы изучаете для сертификации Azure, или вы просто пытаетесь придумать, в любом случае, я думаю, что этот контент действительно поможет вам. Так что без какой-либо дальнейшей задержки давайте начнем обучение.

Mike Pfeiffer: Обзор вариантов балансировки нагрузки в Azure. Просто хотел бы указать это реально быстро. Номер один, глобальный по сравнению с региональным. Это фундаментальное, что вы хотите знать от своей головы. Это не сложно. Глобальные услуги балансировки нагрузки распределяют трафик по региональным резам, а региональные балансировщики нагрузки, по сути, просто работают в одном регионе. Глобал будет, «Эй, хочу маршрутизировать или загружать баланс на запад США и на восток США. «Региональный был бы:« Эй, я хочу загрузить баланс через зоны доступности. «Я поговорю о услугах здесь.

Майк Пфефер: Но придумать, у нас есть HTTPS по сравнению с веб-рабочие нагрузки, поэтому есть балансировка нагрузки на нагрузку. Так что слой семь нагрузки балансировки, а также слой четыре. Итак, никто, кто не является сетевым человеком, модель OSI, а разные слои сетевого стека, вот что мы имеем в виду, чтобы говорить о слое четыре, слой семь.

Mike Pfeiffer: по сути, слой семь, на самом верхней части модели OSI — это уровень приложений. Это слой, в котором мы можем видеть вещи о приложении. Поэтому, если мы хотели, чтобы баланс нагрузки рабочая нагрузка и сможет увидеть путь в URL-адресе, который пользователь пытается добраться до, на уровне семи нагрузки, мы можем видеть это, и мы можем сделать такие вещи, как маршруты на основе PATH. На чем-то, что не HTTPS, оптимизация слоя четырех нагрузки раствор балансировки на самом деле действительно смотрит на порты, протоколы, источника и адреса назначения.

Майк Пфефер: Хорошо. Глядя на эту таблицу здесь, это приятный просто, чтобы знать со своей головы. Входная дверь Azure — это глобальная служба, а рекомендуемый трафик является веб-трафиком. Таким образом, Azure Front Door — это глобальная … Вы можете подумать об этом как об этом в качестве услуг балансировки нагрузки DNS. Это немного более сложное, чем это, потому что он действует как слой семи нагрузки нагрузки, и вы можете в основном иметь один баланс нагрузки на конечную точку на двух разных регионах, что действительно интересно.

Mike Pfeiffer: Есть также другие типы бэкэнд, которые поддерживаются как внешние конечные точки. Таким образом, вы можете загрузить баланс между премией в Azure. В принципе, имеют одну конечную точку для ваших веб-приложений. Итак, входная дверь — более новая услуга. До того, как у нас была входная дверь, все, что мы имели для глобального балансировщика нагрузки, был менеджером движения. Менеджер движения — это просто Anycast для раствора балансировки нагрузки DNS. Итак, нет слоя семи возможностей с этим.

Mike Pfeiffer: входная дверь, вы могли бы сделать такие вещи, как SSL-завершение, сродство на основе cookie, чтобы держать людей, связанные с той же конечной точкой для полной их сеанса, такие вещи. Балансировка только DNS Manager Manager. Итак, вы полностью зависят от возможности клиента, чтобы зарегистрироваться с менеджером движения, запрос, получить ответ на правильную конечную точку. Для обоих из них есть политика маршрутизации и всевозможные прохладные вещи, которые мы могли бы сделать. Но то, что нам нужно действительно увеличить на сегодняшний день, а для этой сертификации региональные балансировщики нагрузки.

Mike Pfeiffer: Когда вы идете на уровень архитектора, они ударили вас на этих других глобальных для этого уровня. Уровень администратора, нам нужно понимать приложение Gateway и балансировщик нагрузки Azure. Приложение Gateway — это слой семи регионального балансировщика нагрузки. Поэтому, если я хотел загрузить баланс через зоны доступности, и у меня есть веб-рабочая нагрузка, и я хочу иметь возможность делать такие вещи, как фильтрация веб-приложения, и я хочу иметь возможность сделать сродство на основе cookie, поэтому за сохранение на основе cookie Отказ Если вы хотите сделать какие-либо из этих ниппи, приложение Gateway будет способ пойти.

Mike Pfeiffer: Azure Load Balancer — это слой четыре регионального балансировщика нагрузки. Хорошая вещь об этом, есть свободный уровень. Есть SKU, который бесплатный, но он не работает через зоны доступности. Если вы хотите загрузить баланс на зонах доступности, с любым из этих региональных вариантов ворот или нагрузки или нагрузки или параметры, вы платите за эту инфраструктуру. Так что это основные различия.

Майк Пфефер: Итак, когда вы попадаете в работу с Azure Load Balancer и Gateway Application, много конструкций очень похожи. Есть конфигурация передней части, есть бэкэнд пул. Вещи я покажу вам сегодня, будет специфичным для Azure Boad Balancer, но будет много параллелей. И я также покажу вам процесс развертывания для шлюза приложений. Но демонстрация, которую я собираюсь показать, вам будет основываться на балансировке нагрузки Azure.

Mike Pfeiffer: Как я уже сказал, балансировщик нагрузки Azure работает на уровне четырех. Он полагается на зонды здоровья, чтобы определить статус Backend. И вы видите, что в концепции со всеми решениями балансировки нагрузки. Мы должны убедиться, что везде, где мы отправляем соединения, эти бэкэндские системы здоровы. Оттуда, до тех пор, пока бэкэнс здоровы, мы направляем трафик тем, которые основаны на правилах балансировки нагрузки, которые мы настраиваем. Отлично. Так очень просто так далеко.

Майк Pfeiffer: Говоря о шлюзе приложений, шаг дальше, мы уже упоминали об этом. Опять же, это работает так же. Снаружи тот факт, что этот слой семи нагрузки на нагрузку решение, он все еще нуждается в зондах, он все еще нуждается в Backeng Pool. И поэтому, как только вы понимаете балансировщик Azure Load, вы поймете архитектуру высокого уровня для шлюза приложений. Вот визуальный на небольшом разнице с воротами приложения. Сама архитектура, имеющая балансировщик нагрузки между пользователями в Backend Pool, такой же концепции, независимо от. Но уведомление здесь у нас есть несколько бэкэнд-пулов с воротами приложения.

Mike Pfeiffer: Приятная вещь в этом, мы можем сделать такие вещи, как маршрутизация на основе PATH, с помощью семи нагрузки нагрузки, как шлюз приложения. Это обычно делается, особенно в мире микросервисов. Обратите внимание, что у нас есть какие-то пути, путь косой изображения. Таким образом, под доменом ontOso.com доменные изображения подняты пользователю к другому набору серверов. Если мы перейдем к contoso.com/video, который доставит нас в другое набор в целом. Таким образом, будучи способным направлять разные пути к разным группам серверов, очень часто делаются в мире микросервисов.

Mike Pfeiffer: Кстати, вчера, когда по умолчанию по умолчанию по умолчанию по умолчанию использовали кластер Aks, мы использовали балансировщик нагрузки Azure, но вы также можете использовать шлюз приложений. Поэтому, как вы вступаете в свою реализацию Kubernetes, может быть приятно иметь возможность использовать приложение Gateway в этой модели, поскольку маршрутизация на основе пути может отправлять людей в разные услуги. Хорошо. Итак, давайте будем двигаться вперед, и я покажу вам просто пара других диаграмм, некоторые архитектурные компоненты, а затем мы начнем строить эти вещи.

Mike Pfeiffer: Когда вы думаете об этом, независимо от ворот приложений или балансировщика нагрузки на нагрузку на Azure, вы можете развернуть эти балансировщики нагрузки, либо в Интернете или во внутренней основе. Тим показал пару эталонных архитектур, где мы видели это, публичный балансировщик нагрузки для веб-сайта, а затем на внутренние сети, такие как балансировки нагрузки для … Или внутренний VNET, я должен сказать, нагружать балансировщики для таких вещей, как база данных, а также такие вещи. Не в целом к этому. У вас есть общедоступный интерфейс на балансировке нагрузки.

Майк Пфефер: Крутая часть — это вам не нужно ставить публичные адреса на всех машинах позади нее. Когда вы идете в портал Azure, я думаю, что мы все видели, что он просто ведет вас по пути, когда вы создаете виртуальную машину, просто надевая публичный адрес на каждом виртуальной машине. Очевидно, мы не хотим делать это в реальной жизни. Так что с чем-то подобным, у нас может быть балансировщик общественного нагрузки. У нас могут быть машины за ним в Backend Pool. И эти машины могут просто иметь частные адреса, и мы можем добраться до них, пройдя через общедоступный интерфейс на балансировке нагрузки.

Mike Pfeiffer: внутренняя схема напротив. Это хорошая диаграмма внизу прямо там, показывая веб-уровень, подключение к внутренней балансировке нагрузки, возьмите его в базу данных уровня. Если вам когда-нибудь пришлось попасть в ситуацию SQL Server всегда на группах доступности в Backend Pool, как они показывают здесь, я бы не рекомендовал его. Это много работы. Но если ваш DBA нужен корневой доступ к системам, то вы должны сделать это.

Mike Pfeiffer: я поклонник Azure SQL, если честно, но когда вы делаете такие кластеры SQL, и всегда находятся в группах доступности, лучшая практика — фактически использовать балансировку нагрузки Azure. Окна, конечно, машины — это виртуальные машины Azure. Итак, мы загрузим баланс группы доступности, IP-адреса слушателя с балансировщиком Lazure Load. Но у вас могут быть другие рабочие нагрузки. А поскольку слой нагрузки Azure Load Balancer вы можете загрузить баланс любой трафик TCP или UDP. Итак, это не просто ограничено веб-рабочими нагрузками. И вот схема, когда вы развертываете эти решения, когда вы его предоставите, вы можете сказать общедоступную или внутреннюю.

Майк Пфефер: Хорошо. Последнее здесь И тогда мы прыгнув в портал. Есть два лыжа, публики … Ой, извини. На балансировке нагрузки Azure, два лыжа, базовые и стандартные. Основной это бесплатная версия и работает очень хорошо. Но если вы хотите проводить зоны доступности для максимальной высокой доступности, лучшая региональная высокая доступность, которую вы можете получить, пойти со стандартным SKU. Вам платят за это. Но тогда вы можете в основном нацелить любую виртуальную машину и любую зону доступности. Отлично?

Mike Pfeiffer: Давайте прыгнем в портал, и мы построим это с нуля. Давайте прыгнем здесь. Я убрал свою среду, поэтому я собираюсь выйти через это вручную, одну вещь за раз. Давайте сначала построим VNET. Итак, мы скажем виртуальную сеть, а затем получить эту новую вещь. Мы назовем эту группу ресурсов WebFarm. Причина, по которой я строю это руководство, просто так вы, ребята, могли видеть, как все это пьесы. Таким образом, мы увидим WebFarm Vnet, и мы поставим это на запад США два, потому что я знаю, что West US двое имеют несколько зон доступности.

Mike Pfeiffer: приехать на следующий экран здесь, Тим упомянул это. Я тоже люблю дизайн VNETS, используя Slash 16, потому что это дает вам возможность иметь много места для нескольких подсетей. Так что это хороший дизайн. Я просто собирался пойти с по умолчанию. Таким образом, сеть 10.0 для всего адресного пространства VNET, а затем просто Slash 24 для подсети по умолчанию. Так что мы просто пойдем с этим. Выглядит хорошо. Как мы вдаем в это, я думаю, что Тим коснулся этого. Мы получили защиту DDOS на уровне сети.

Mike Pfeiffer: Базовый уровень по умолчанию по умолчанию, поэтому вы просто получаете это бесплатно. Вы можете перейти в стандартную версию для защиты DDOS, и это зажечь все виды классных элементов управления, а некоторые различные предложения, такие как включают адаптивную настройку, уведомления и такие вещи. Но вы получаете это, несмотря ни на что. А затем также лазурный брандмауэр в основном является управляемым сетевым виртуальным прибором.

Mike Pfeiffer: когда Тим показал архитектурную диаграмму имеющих виртуальной машины в специальной подсети, которая была маршрутизации всего трафика в середине мира, в середине бэкэндских систем в Azure, заставляя загрузку трафика к этому Сетевой виртуальный прибор, вы делаете то же самое с Azure Firewall. Так что мы вернемся к этому. Давайте построим VNET. Тогда то, что мы собираемся сделать, мы собираемся создать сетевую группу безопасности, и мы собираемся прикрепить эту группу сетевой безопасности в подсеть VNet, так же, как Тим говорил.

Mike Pfeiffer: Итак, давайте создадим сетевую группу безопасности и бросьте это в WebFarm Vnet. Мы назовем это Web-NSG и поместите его на запад 2, а какую проверку и создаем это. Я мог бы сказать вам, ребята, из своего собственного опыта на бета-версии AZ-104, что я забил вопросы о NSGS. Так что это хорошая работа для вас, чтобы сделать с какой-то двойной обязанностью здесь и увидеть его снова. Вот регламентируются правила по умолчанию Тим.

Майк Пфефер: В конце концов, то, что я собираюсь захотеть иметь возможность сделать, это у меня балансировщик нагрузки установить соединение с бассейном Backend. Таким образом, мы собираемся выбрасывать этот NSG, подключенный к подсети, который будет включен в систему. Поэтому мы отправимся в поднеты, мы связываем об этом с vetebarm vnet, подсеть по умолчанию. И сейчас все у нас есть правила по умолчанию. Так что связь, я должен был подумать об этом. Поэтому, если я смотрю правила по умолчанию, позволяют VNet входящие и такие вещи. Это одна из тех вещей, о которых мы должны думать.

Майк Пфефер: Так что это говорит о разрешении балансировщика нагрузки Azure, любой источник. Позволь мне немного уменьшить. Источник любой или исходный балансировщик нагрузки, пункт назначения, любой разрешение. Но нам придется проверить и проверить это. Итак, давайте посмотрим, как это происходит, потому что, поскольку мы создаем балансировщик нагрузки Azure и создайте правила балансировки нагрузки, которые фактически откроют порт 80 на внешней стороне балансировщика нагрузки. Но как насчет внутренней сети? Поэтому мы вернемся к этому, хорошо, потому что я хочу, чтобы вы, ребята, посмотреть, что здесь происходит.

Майк Пфефер: Но сейчас этот NSG подключен к подсети. Итак, давайте разверним некоторые серверы в подсеть, хорошо? Так что мы перейдем. И что мы собираемся сделать здесь, я собираюсь использовать Ubuntu, чтобы он быстро раскрутился. Мы поставим эту группу ресурсов WebFarm. Это будет web1. Положите это на запад США два. Тогда для резервирования инфраструктуры, опять же, Тим показал это вчера, когда мы говорим о HA и так, как это так. Мы собираемся выбрать зону доступности, модель доступности зоны, и мы собираемся поставить веб-одно и доступность зоны два. Хорошо?

Майк Пфефер: Тогда мы просто будем использовать Ubuntu. Мне не нужна так много огневой мощи для этого парня, поэтому мы просто сделаем один процессор, два концерта оперативной памяти, а затем мы собираемся сделать пароль. Отлично. Так что здесь, это интересная часть. Как только вы начнете проходить через портал, начнется сборка. Начинает руководство, вы по дороге делаете вещи, где вы можете этого не захотеть. В этой конфигурации здесь, если я позволю ему открыть порты, если я настрою это, это настроить NSG на NIC. я не собираюсь этого делать Так что я не буду говорить никто. Я собираюсь контролировать все свои правила брандмауэра с NSG.

Майк Пфефер: Так что мы ударим дальше здесь. Диск по умолчанию Config — это хорошо. Обратите внимание, что на экране сети мы собираемся в WebFarm Vnet. Это просто выберите это по умолчанию. Знает правильную подсеть. Я не собираюсь поставить публичный IP здесь, потому что это будет сидеть за балансировщиком нагрузки. Поэтому я не собираюсь сказать нет публичного IP, и я покажу вам, как мы добираемся до этого немного, хорошо? Нет группы безопасности на этом ниде. Ничего. Далее я собираюсь здесь. Я не собираюсь включить диагностику загрузки для тех. Просто отключите это и давайте пойдем вперед и просмотрите и создам первую виртуальную машину. Так что это в зоне доступности один.

Mike Pfeiffer: Тогда вторая виртуальная машина, мы поставим в зону доступности два. Отлично. Итак, давайте просто, пока что бегут, давайте перепрыгнум, пойти в Ubuntu, поставь этого парня вторым в этой группе ресурсов. Мы скажем, на запад США 2, избыточность инфраструктуры, зона доступности. Поместите этого парня в зону доступности 2, то же изображение виртуальной машины. И, конечно же, как вы можете подозревать, я хотел бы думать о том, как я могу получить свой код приложения на этом сервере? Это часть изображения? Это часть сценария нагрузки, например, настраиваемое расширение сценария? Все такие вещи.

Mike Pfeiffer: Я собираюсь установить веб-сервер вручную, и я собираюсь показать вам, как мы это делаем здесь через минуту. Итак, давайте убедитесь, что вы получите те же учетные данные. Я собираюсь сделать то же самое, что и раньше, нет входящей конфигурации порта. Мы собираемся полагаться на NSG на подсети. На сетевой странице мы собираемся отключить публичный IP-адрес. Затем здесь мы скажем: «Нет загрузочной диагностики», чтобы соответствовать другому, обзор и созданию.

Майк Пфефер: Хорошо. Поэтому у меня есть две системы, подходящие прямо сейчас. Пойдем и построим балансировщик нагрузки. Так что, если мы придем здесь, нагрузка балансировщик. Кстати, на рынке есть так много изображений от других поставщиков, Cisco и F5 и тонн … Kemp Balancers. Есть тонны вещей, которые запускаются на VMS, если вы заинтересованы. Итак, давайте поставьте балансировщик нагрузки в группу ресурсов WebFarm. Я покажу вам процесс для ворот приложений здесь немного. Мы скажем, это наш балансировщик вебсайта. Это будет на западном нам.

Майк Пфефер: Итак, вот тип. Это будет публично в Интернете или будет ли он внутренний балансировщик нагрузки? Что ж, в нашем сценарии, это будет пару веб-серверов, которые мы бьем в Интернете. Мы сделаем это публичным. Для SKU, помните, базовая версия бесплатна. И если мы хотим зональную избыточную конфигурацию, мы хотим стандартно. Итак, обратите внимание, что здесь говорит, когда мы выберем это. Когда вы выбираете стандарт, это как, «Эй, стандартный балансировщик нагрузки безопасен по умолчанию. » Это означает, что сетевые группы безопасности явно используются для разрешения и пробега разрешенного трафиком.

Майк Пфефер: Тогда это важная сноска. Если у вас нет NSG на подсети или NIC от вашего ресурса VM, трафик не допускается до достижения этого. Таким образом, ничего не останавливает вас от создания VNET и VM без NSGS. И если вы это сделаете, то, что они говорят, это не будет работать. У нас уже есть это, поэтому мы хороши. Сейчас спустив списки, нам нужно получить публичный IP-адрес имени. Таким образом, это похоже на наш публичный IP-адрес Webebarm, если у меня есть конвенция именования.

Mike Pfeiffer: Теперь здесь интересная часть, какая зона доступности вы хотите поставить балансировщик нагрузки? Один, два или три? Ну, мы хотим загрузить баланс через один и два. Таким образом, мы собираемся настроить это, чтобы быть избыточником зоны. Вы, вероятно, думаете: «Ну, как черт возьми, может ли это быть в нескольких зонах доступности, если это на самом деле разные центры обработки данных?» Ну, эта вещь получила немного магии за ним. У него есть интерфейсы и эти разные …

Майк Пфефер: Это управляемая услуга. Итак, Microsoft делает некоторые вещи для абстракции, что для вас. Итак, давайте пойдем вперед и создадим балансировщик нагрузки, и мы сделаем более простое количество работы, чтобы сделать все еще. Нам нужно настроить бэкэнд пул. Вам необходимо настроить зонды, чтобы убедиться, что приложение будет здоровым, которое не будет работать изначально, потому что серверы не имеют ни одного кода на них. Итак, мы подумаем это тоже. Отлично. Другая вещь, которая сбивает с толку Azure BALANCER BALANCER, который все еще приходит на этот экзамен, потенциально, и это было вокруг навсегда, является эта концепция правил NAT.

Mike Pfeiffer: позвольте мне просто объяснить это реально, я собираюсь показать это тебе жить. Это была не тема, которую я искал. Но в основном существует эта концепция экспедирования портов или правил NAT на балансировке нагрузки Azure. Это не для применения трафика. Это больше учебника. Это для попадания в отдельный ресурс. Была статья, которую я использовал, чтобы найти на первой странице Google, но сейчас она не появляется, о правилах Nat, но я собираюсь показать вам это на практике. В любом случае, позвольте мне просто проверить эту последнюю вещь. Не отображается здесь.

Майк Пфефер: В любом случае, я покажу вам в портале. Отлично. Назначение завершено. Отпусти меня здесь. То, что я получал, есть правила балансировки нагрузки, как вы видите здесь, в настройках, а затем есть эти входящие правила NAT. Правила балансировки нагрузки, конечно, предназначены для вашего прикладного трафика. Я хочу загрузить баланс 80 в 443 для моей веб-рабочей нагрузки по всему моим виртуальным вирциям в бассейне Backend. Прохладный. Входящие правила NAT — это способ для вас в основном ткать отверстие в балансировке нагрузки. Таким образом, вы, как администратор, можете пройти через балансировщик нагрузки и нацелиться на бэкэнда в индивидуальном экземпляре BackeND. Таким образом, вы можете напрямую RDP или SSH непосредственно через балансировщик нагрузки на экземпляр BackeND.

Mike Pfeiffer: этот шаблон был рядом с первые дни Azure. И на самом деле, когда Azure Virtual Machines First Gad Backend вроде 2013 года, я думаю, что это было. Конфигурация по умолчанию было, когда вы вращаете виртуальную машину, он сидел за балансировщиком нагрузки. Нам пришлось настроить правила NAT, чтобы мы могли взорвать и делать вещи. Итак, эта конструкция все еще окрестночет по сей день. Но нам нужно создать бэкэнд-бассейн. Вам нужно создать зонд здоровья. Нам нужно настроить правила балансировки нагрузки. А потом, наконец, мне нужно будет настроить настройку правила NAT, поэтому я могу SSH In и устанавливаю веб-сервер, потому что у меня не было предварительно обработки автоматизации. Делать все, что научит нам основы для этого материала.

Mike Pfeiffer: давайте пойдем в Backend Pools. Нажмите на Add. Также обратите внимание, основываясь на разговорах вчера, набор виртуальных машин, если вы масштабируете горизонтально, набор шкалы VM автоматически прикрепляет ваши экземпляры для вашего балансировщика нагрузки. Поэтому я делаю это вручную здесь, регистрируя эти экземпляры с бассейном Backend, но если вы делаете набор масштаба, это может быть динамичным. Вложения и отключение ваших виртуальных виртуальных машин в масштабе и масштабирования, не должны быть вам микромеринами. Итак, мы назовем этот веб-файл WebFarm. Виртуальная сеть — наша Vett. И мы можем просто выбрать наши виртуальные машины из списка.

Mike Pfeiffer: Web One, обратите внимание, что у нас есть опция конфигурации IP. Также как Tim говорит о том, мы можем сделать несколько Nics или VMS, которые имеют несколько NIC. Эти Nics также могут иметь несколько конфигураций IP. Так что так же, как на машине, вы можете иметь основной и вторичный IP. Так что есть разные конфигурации, к которым вы можете подключиться. Эти серверы довольно ваниль, верно? Легко установить это. Поэтому я просто выбираю единственный ник, который там там. Тогда обратите внимание, что эта вещь работает с наборами масштаба. Так что давайте пойдем вперед и добавим это.

Майк Pfeiffer: одно я скажу о воротах приложений, а также причина, по которой я не вращал эту демонстрацию, это займет некоторое время. Это не так медленно, как раньше, но это определенно не так быстро, как предоставление балансировщика нагрузки. Поэтому я покажу вам процесс сборки для ворот приложений, но это займет немного времени. Поэтому я не собираюсь проходить через строить его с нуля.

Mike Pfeiffer: другое, что нужно помнить, это в любое время, когда вы настраиваете балансировщик нагрузки Azure, когда я добавляю что-то в бэкэнд-пул, я не могу ничего сделать. Несмотря на то, что это асинхронный процесс, идущий в другое меню и пытается сделать что-то еще, пока эта вещь работает, обычно не работает с этим конкретным устройством. Но это должно быть сделано вторым. Я надеюсь, что Bardger не делает лжеца из меня. Казалось, что он бежит немного медленнее вчера днем. Посмотрим, что произойдет здесь.

Майк Пфефер: Тем временем, пока я жду этого, чтобы бежать, просто пара других вещей. Как только мы публикуем все слайды и прочее, как я уже сказал, я бы прошел через эти дни, ведущие к вашему тесту, дни и недели, и всего лишь некоторые сноски здесь о вашем бассейне Backend и лыжах на этом балансировке нагрузки Azure. Когда вы находитесь в стандарте, это до тысячи Azure VMS в том же VNT, включая наборы доступности, наборы масштаба или через AZS. И основной уровень всего сотня VMS. Это что-то, чтобы иметь в виду.

Майк Pfeiffer: Давайте посмотрим здесь. У меня есть лучшая картина о правилах Nat? Я не. Несколько передних концов также являются опцией, поэтому вы можете иметь несколько конфигураций IP-адресов передней части. У вас могут быть разные общественные IPS на балансировке нагрузки. С воротом приложения, это также то, что обычно настроено, также несколько имен хостов. Все в порядке круто. Итак, у нас наконец-то наш бэкэнд-пул. Давайте сделаем обновление прямо здесь. Это выглядит страшно. У нас есть две машины в бассейне Backend.

Mike Pfeiffer: Давайте пойдем в зонды здоровья, а затем мы нажмем на добавление. Нам нужно убедиться, что эти экземпляры Backend полезны, прежде чем мы когда-нибудь отправим там какое-либо трафик. Посмотрите здесь, мы можем сказать Azure, «эй, каждые пять секунд, выходите и убедитесь, что вы можете добраться до порта 80 на каждом сервере в пуле Backeng. И если это не работает два раза, если есть два последовательных сбоя, давайте возьмем эту присоску вне сервиса, и мы проверяем еще раз, пока не будет здоровым, прежде чем мы добавим его обратно ».

Mike Pfeiffer: Теперь, вот большая разница на этом экране. Обратите внимание, когда он на TCP, вы просто делаете порт Ping. Если вы выберете что-то вроде http или https, вы действительно можете проверить путь на веб-сервере. И это довольно полезно в мире разработки программного обеспечения и наращивания приложений, где вы хотите, чтобы проверить глубокий здоровье от зонда, и очень распространено … Ну, чтобы реализовать глубокий характер проверки здоровья. Это не Microsoft. Например, вроде этого, вы могли бы сказать HotelceCheck.aspx. Таким образом, вы можете иметь страницу бокового сервера, возможно, это .NET приложение. Вы можете иметь скрипт бокового сервера, который прививки зонд и разработчики могут контролировать ответ.

Майк Пфефер: Таким образом, зонд здоровья, который означает балансировщики нагрузки, будь то приложение Gateway или балансировщик нагрузки Azure, ожидает, что ответ HTTP 200 ACLE на зонд. Если вы являетесь разработчиком, желающим иметь возможность контролировать, возьмите сервере вне сервиса без необходимости испортить конфигурацию Azure или не входите и попробуйте вырвать сервер из пула Backend, в конфигурации приложения они могут просто Скажем, когда мы запрашиваем эту страницу на определенном сервере, мы отправляем 500 ошибок, а затем эффективно возьму систему из бэкэнд-пула, и вы будете приятно идти прямо до [неразборчиво 00:26:58] этот конфиг.

Майк Пфефер: Так что в любом случае, я просто собираюсь сделать порт TCP, который пинг здесь для этого зонда, потому что у меня пока нет ничего установленного. Давайте позвольте этому построить, и это сделано. Отлично. Таким образом, следующий шаг, правила балансировки нагрузки. Когда люди попадают на публичный IP-адрес и балансировщик нагрузки, что произойдет? Давайте нажмем на Add, и мы назовем это правило http. Мы просто придерживаемся IP версии четверо здесь. Обратите внимание на нашу конфигурацию передней части уже определены, потому что когда мы создали балансировщик нагрузки, мы сказали, что мы хотели публичного IP. Так что это установлено для нас.

Mike Pfeiffer: В этой конфигурации мы собираемся слушать порта 80 на внешнем и целевом порте 80 80. Таким образом, вы могли бы сделать разные отображения портов здесь. Это будет работать просто хорошо. Если вы сделали, если вы решили сделать 443, это круто. Вы просто должны иметь сертификат на серверах Backend. На этом слое нет SSL-завершения для балансировщика нагрузки. Но в любом случае, снаружи и внутри он собирается соответствовать. Если мы тоже делаем 443, и у нас есть сертификат, но мы также хотели порта 80, нам просто нужно будет загружать балансирующие правила.

Майк Пфефер: Хорошо. И так, приступив к этому правилу, для порта 80, у нас настроен наш бассейн настроен. Это использует зонд здравоохранения, который мы создали. Затем здесь, настойчивость сеанса, является вариантом. Это может быть сложно, потому что … На самом деле, у меня есть слайд на это. Да, сессия настойчивость. С помощью балансировщика нагрузки Azure и этот слой четыре возможности, настойчивость сеанса не … Вы должны быть очень осторожны с этим, потому что посмотрите на диаграмму вниз внизу. Когда мы говорим о сохранении сеанса в мире балансировки нагрузки, мы говорим о том, чтобы держать пользователя с тем же бэкэндом, который они начинают с всей жизни их сеанса.

Майк Пфефер: Таким образом, если клиент слева от того, что на ноутбуке на ноутбуке ударяет балансировщик нагрузки и подключается к VM1, если мы хотели, чтобы они всегда были на VM1 для этого сеанса, ну тогда мы можем попытаться выполнить настойчивость сеанса или липких сессий. Но в слое четырех мир, действительно единственное, что мы можем сделать, что основано, является IP-адрес клиента или IP-адрес клиента и комбинацию протокола вместе с этим. Это не доказательство пули, потому что мы все знаем, что Nat — это вещь. А также Если за той же интернет сидит сто человек, или они говорят …

Майк Пфефер: Перейти к корпорации. Все люди сидят на одной локальной сети. И когда они ходят в интернет, они видели на внешнем мире как тот же клиентский IP-адрес. Ну, тогда у вас сейчас есть гигантские группы людей, которые сохраняются в экземпляре бэкэнда, потому что мы не можем их однозначно идентифицировать их. Настойчивость сеанса в слое четырех мир на самом деле не на 100% практична в каждом сценарии, и вы должны следить за этому. Лучшая альтернатива — это просто рассказать разработчикам построить приложения без природы, поэтому, где я могу, так как пользователь проходит через балансировщик нагрузки и просто подпрыгивает вокруг любого Backend Server, а приложение просто работает.

Mike Pfeiffer: Поскольку нативные вычисления облака продолжают зрелые, сеанс или приложения без гражданства становятся все более чаще. Таким образом, вы можете оттолкнуть это. Если вам нужна лучшая настойчивость сеанса, шлюз приложений может дать пользователю cookie. Если вы выполняете веб-приложение, вы можете использовать этот слой семь, управлять балансировщиком нагрузки, а затем намного проще иметь дело, потому что каждый пользователь может получить уникальное Cookie Cookie для них. Я знаю, что я проповедую к хору для многих моих друзей, которые находятся в мире обмен, которые присоединились к нам, которые сделали много балансировки нагрузки за эти годы.

Майк Пфефер: Так что в любом случае, я собираюсь оставить настойчивость сеанса ни к ним. Балансировщик нагрузки использует протокол маршрутизации или 5-кортежный хеш-агоритм, который они показывают здесь, чтобы решить, как подключить пользователь к этим экземплярам Backend. Так что это не похоже на круглый робин. Это комбинация источника, IP, порта источника, порта назначения, протокола, протокола, все такое прочее. Отлично. Итак, настойчивость сеанса никому не сразу. Тогда у вас есть этот вариант для плавающего IP, возврат прямых серверов. И я не собираюсь попасть в сорняки этого, но по сути, вы повернули это, когда вы делаете всегда на группах доступности, и ваша нагрузка балансируют кластеры SQL Server. Это скорее типика нюанса тривиала.

Майк Пфефер: Итак, мы собираемся пойти с по умолчанию, правило балансировки нагрузки. Это в основном приведет к тому, где мы можем добраться до тех серверов, если веб-сервер вверх и работает, но еще нет. Таким образом, большой вопрос, как мы собираемся получить Apache, установленные на этих серверах Linux? И так, вот где вступит правила Nat. Позже сегодня мы поговорим о VPN и такие вещи. Мы могли бы VPN в VNet, а затем просто SSH по поводу частной сети для этих парней и установить веб-сервис. Но если вам нужно пройти через балансировщик нагрузки, и хорошо понимать этот шаблон, особенно если вы можете получить вопрос о тесте, вы можете создать эти правила NAT.

Mike Pfeiffer: Я могу создать один, где я уже могу … или извините, SSH на публичный адрес на балансировке нагрузки на одном порту для веб-одного и альтернативного порта для другого сервера. Я покажу вам через секунду, и это будет иметь больше смысла, когда я вытянул его. Но думая об этом таким образом, будет только один публичный IP-адрес в этом сценарии снаружи. И я не могу слушать порта 22 снаружи для обоих моих машин. Поэтому у меня будет один IP, два разных порта снаружи, что я могу в конечном итоге добраться до SSH на этих бэкэнд-серверах, если это когда-либо обновляются.

Mike Pfeiffer: другое, что может быть медленно обновлять, и если вы когда-либо возились, вы могли бы заметить, NSGS. Иногда вы можете добавить правило NSG, чтобы открыть какой-то доступ. Это может занять минуту, прежде чем увидишь его. Поэтому можно посоветовать, что если вы возитесь с NSGS, и вы создали правило, чтобы открыть что-то, если вы сразу же пойдете и проверяете его, это может не работать. Возможно, вам придется позволить ему сжечь на минуту или два. Похоже, это уже должно было уйти. Дайте-ка подумать. Сделайте жесткое обновление здесь. Да, там мы идем.

Майк Пфефер: Хорошо. Итак, давайте создадим правило NAT. Это будет для первого сервера. Так для веб-одного. На улице, на этом публичном IP-адресе, мы собираемся в основном настроить пользовательскую услугу. А что я буду делать здесь, я просто использую 5000, что вы видите в документации. На этом публичном адресе на порту 5000 мы собираемся отобразить эти подключения к веб-адресу на этом IP-адресе. Тогда по умолчанию не будет то, что мы хотим. Мы хотим отображать в этом порту 22 на бэкэнде. Я хочу SSH портировать 5000, получите 22 на веб-сервере один за балансировщик нагрузки. Надеюсь, что имеет смысл. Итак, мы сделаем это для этого. Это займет секунду. Затем мы создадим один для второго сервера.

Mike Pfeiffer: Тогда после того, как мы получили это правило, мы должны быть в состоянии SSH In, установите веб-сервер, а затем пойти и посмотрите и посмотреть, работает ли он через балансировку нагрузки. Итак, давайте установим этот порт 5,001 на этот публичный адрес. Затем мы рассмотрим это по виртуальной машине два, его частным IP-адресу. Затем целевой порт на бэкэнде, если вы играете на дому, который будет тем, что? 22. Идеально. Теперь мы должны добраться до правил экспедирования порта, в основном. И это забавно, потому что вы думаете, что никто из этого не будет работать, потому что зонд здоровья будет терпеть неудачу и все такое прочее.

Майк Пфефер: Это правда для приложенного трафика, но Правила Nat не заботится. Мы можем просто пройти через балансировщик нагрузки, потому что они не проверяют здоровье. Если серверы не работают, или мы не можем добраться до серверов, это проблема. Но они должны работать. Мы можем пойти на публичный адрес этой вещи. Выглядит здесь, мы видим публичный адрес. Вы можете даже перемещаться по адресу, и вы можете переместить это на другой ресурс позже, если вам нужно. Давайте скопируем адрес, а затем посмотрим.

Майк Pfeiffer: Теперь это может не работать, поэтому мы должны проверить нас. Поэтому я собираюсь в SSH Sysadmin @ parectyipaddress. Теперь мне нужно сделать это на альтернативном порту. Так минус p 5000. Когда я ударил ввод, вот вещь. Это брызги курсор. Это было хорошо для административного рода вещей. Мы всегда говорим, что это DNS, когда мы устраняем проблемы с устранением неисправностей. Во-вторых, как правило, NSGS в мире Azure. Так что, если это не работает, что вы думаете, что рассказывает нам о NSG?

Mike Pfeiffer: давайте посмотрим на NSG. Таким образом, Web NSG подключен к подсети. На Nics нет NSGS. Мы знаем это. Но мы можем определенно увидеть, что это не работает. Итак, давайте контролируем Сиэтл этого. Так что в теории, похоже, нам нужен правило порта 22, если бы мы могли заставить эту вещь загрузки. Давайте перейдем к входящим правилам и давайте добавимся, скажем, источник, любой, пункт назначения, любой, потому что любой пункт назначения внутри диапазона порта назначения подсети, 22 TCP. Пойдем и добавим это правило порта.

Майк Pfeiffer: Как будто я сказал минуту назад, иногда, когда вы добавляете их, это может занять минуту. Это может занять секунду. Несмотря на то, что здесь написано зеленое, созданное правило безопасности, иногда вы обнаружите, что вы выходите, вы тестируете его, и оно все еще не работает. Вы даете ему еще одну минуту или два, то он начинает работать. Так что это что-то осмотреть. Давайте посмотрим здесь. Давайте очистим экран. Давайте попробуем это снова. Отлично. Теперь мы подсказаны. Это хороший знак. Тип Да. Пароль. Отлично.

Майк Пфефер: И так, теперь мы находимся на Интернете. Итак, мы сделаем Судо Су, Судо. Мы сделаем APT, Get Install, Apache 2, минус y, не просите меня подтвердить. Так же, как когда вы устанавливаете, находится в поле Windows, это делает это, страница Splash по умолчанию. Вот что мы здесь делаем. Поэтому, в то время как это готовить, давайте откроем новую вкладку здесь, и мы сделаем SSH Sysadmin @ PooldiPaddress на порту 5,001. Это собирается пойти в сеть два. Так что да да. Хорошо, круто.

Майк Пфефер: Кроме того, на ноте Linux я не знаю, вы, ребята, слышали об этом, но кто-то излучает статистику пару месяцев назад от Microsoft, где они похожи, «Да, более 60% наших виртуальных машин Linux на данный момент. » И кстати, MVP Summit в прошлом году я сидел в сеансе SQL прямо рядом с Тимом Warner, и команда SQL говорила о том, как они больше ничего не делают на Windows Server. Все их инновации отсюда находятся на SQL. Так я думал, что это было интересно. APT, Установите, Apache2 минус Y.

Майк Пфефер: Да. И так, если вы думаете, теперь будет хорошее время, чтобы начать изучать немного Linux, вы определенно правы. Отлично. На первом сервере установлен Apache. Итак, давайте сделаем это. Давайте сделаем нано на var, www/html/index.html. Что я собираюсь сделать здесь, я собираюсь поставить имя сервера. Я собираюсь нарушить правила веб-разработки и поместите тег заголовка на самую вершину страницы, потому что я хочу увидеть, какой сервер я ударю, когда я прохожу через балансировщик нагрузки. Мы сохраним это, и тогда мы сделаем то же самое. Этот чувак, он почти закончил.

Майк Пфефер: Хорошо. Очистить экран. Мы сделаем Nano, var, www/html … К сожалению, HTML/индекс. То же самое снова. Это в Интернете два. Я думаю, что сделал в последний раз. Контроль X. да. Отлично. Давайте просто проверим это. Это не правильный. Извиняюсь. Я потерялся. У меня слишком много вкладок открываются здесь. Позвольте мне сделать еще один нано. Хорошо. Я сказал веб-один там. Отлично. Так что все круто. У меня сейчас веб-сервер работает на каждом сервере сейчас. И тогда у нас есть публичный IP-адрес в буфере обмена. Поэтому, если мы сделаем HTTP, публичный IP-адрес, отправляйтесь там, и он не работает. Так что это говорит нам? Что-то блокирует входящий трафик, не на сам балансировщик нагрузки, а в подсеть.

Mike Pfeiffer: Итак, давайте отменим это. Давайте вернемся. Давайте добавим правило NSG. Источник, любой, пункт назначения, любой. Что-нибудь в подсети в этом случае, основанном на том, как это имеет место. Я собираюсь сказать порт 80. И снова, добавляя это и быть достаточно большим, чтобы знать, все в порядке, это может занять минуту, чтобы сжечь. Итак, давайте позвольте этому запуску. Но в реальном мире эти виртуальные машины, у меня есть комбинация пользовательского изображения и сценария загрузки или просто сценарий нагрузки. Мы можем сделать сценарий загрузки нагрузки облака, который вчера показал Тим.

Mike Pfeiffer: Вы можете сделать пользовательский расширение скрипта. Эти виртуальные машины могут быть в группе автоматической масштабировки, которая может быть нацелена на какой-то другой вид системы CI/CD. Но в другом масштабировании, как правило, встроен довольно много автоматизации. Там много раз настраиваемые изображения, связанные с ними и такими. И это на самом деле становится тем, что я заметил, это люди делают все меньше и менее виртуальные группы машин, группы автоматического масштабирования, наборы масштаба виртуальной машины, и они получают больше управляемых услуг.

Майк Пфефер: Но в любом случае, это не сохранило свой IP-адрес. Так что давайте попробуем это снова. Отлично. Там мы идем. Дайте это попробовать, вы, ребята. Позволь мне бросить это в чате. Когда вы ударили этот URL, я мог бы скопировать его здесь. Вы, ребята, все должны получить различные … Некоторые люди должны получить веб-один, некоторые люди должны получить в Интернете два. И на ударе освежиться снова и снова и снова, и я просто получаю веб-один, потому что это не обязательно круглый Робин, это то, что 5-TUPLE HASH на балансировке нагрузки Azure.

Майк Пфефер: Хорошо. Это большая идея. Я вижу, хорошо, в порядке, некоторые другие люди получают двое в Интернете, поэтому мы знаем балансирование этой вещи, и это хорошо. Так что давайте скажем, что я, для меня, это просто застрял на веб-сайте. Теперь я хочу видеть, что это терпит неудачу. Так что поставьте шляпу своего архитектора и администратора на секунду. Подумайте обо всех вещах, которые вы узнали за последние два с половиной дня или что-то еще. Как я могу сломать веб-один, чтобы заставить его выйти сюда, чтобы в Интернете два? Так что, если я ударю обновление, я собираюсь увидеть сеть два.

Майк Пфефер: Есть несколько вещей, которые мы могли бы сделать. Вы знаете на данный момент, ну, вы могли бы пойти в ник и поставить NSG на NIC и не открывать [неразборчиво 00:42:25]. Это сломало бы это. Вы можете закрыть машину. Вы можете прекратить его. Вы можете перейти в машину и выключить веб-сервис и убить веб-сервер Apache. Чем больше способов вы можете подумать о нарушении материала, тем больше вы сможете устранить неполадки позже, потому что вы сможете обратить вспять инженер. Так что я всегда думаю о том, как я мог сломать эту присоску?

Майк Пфефер: Хорошо. Но в любом случае, если я хочу убедиться, что он скажет Web Two, я могу убить Web One, просто перееду на сессию на одну сессию SSH, которая является этого парня, верно? Да. На порту 5000. И мы могли бы сделать услугу, Apache 2 остановка. Таким образом, сервис мертв. Приходите здесь, удар барабана, нажмите обновление. Веб два. Вид антиклимактической демонстрации, но там вы идете. Итак, давайте посмотрим на это. Если мы вернемся к порталу, создайте ресурс, а затем перейдем к … Давайте просто посмотрим на ворот приложений. Вы, вероятно, могли найти его на сети там.

Mike Pfeiffer: пара вещей, чтобы указать об этом. Теперь, когда вы видели балансировщик нагрузки Azure, высокий уровень механики, по большей части, вы понимаете. Когда вы делаете шлюз приложений, это очень, очень похоже. Вы входите, вы развертываете его, вы даете ему имя, вы выбираете регион, все это забавные вещи. Есть эти разные ярусы. Таким образом, есть стандартный стандарт V2, WAF, WAF V2. Таким образом, фильтрация веб-приложения безумно интересна, когда вы выполняете веб-приложения, такие вещи, как SQL-инъекции и скрипты на сайт и все эти странные вредоносные узоры.

Mike Pfeiffer: Если вы выполняете версию WAF, вы получаете эту возможность. Пара различных рабочих уровней или ценовых ярусов здесь, чтобы подумать. Также есть концепция автоматического масштабирования в этих масштабах, в основном приложений шлюз и даже балансировщик нагрузки на Azure, за кулисами, очевидно, это управляемое обслуживание, но он построен с использованием инфраструктуры виртуальной машины и пользовательских сетей Microsoft.

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

Mike Pfeiffer: Я знаю, что у нас есть несколько AWS людей в доме, которые задавали вопросы. Таким образом, балансировщик нагрузки Azure и шлюз приложений очень похожи на упругую службу балансировки нагрузки. И если вам когда-нибудь приходилось работать с упругим балансировщиком нагрузки и предварительно отправьте балансировщик нагрузки в день, вы должны были открыть билет и заставить их сделать это для вас. И это была ручная вещь.

Майк Пфефер: Так что теперь с этими системами, а теперь в Azure, в частности, когда вы работаете с возобновлением приложений, вы можете настроить это. Вы можете настроить резервирование зоны. Вы можете иметь эту концепцию масштабных единиц, и вы можете включить шлюз приложений для очень большого, очень оживленного веб-приложения. Отлично. Но я не собираюсь пройти через остальные настройки этого, потому что у меня есть только пять минут. Но, как я уже сказал, вы должны получить архитектурную идею высокого уровня на основе того, что я сделал с балансировщиком Azure Load.

Майк Пфефер: Классная вещь с этим, как только я построю его, я могу загрузить сертификат на эту вещь, чтобы сделать SSL-завершение и маршрутизацию на основе пути, иметь несколько бэкэндов, все такое забавное. Хорошо, вы, ребята, вот и все. Надеюсь, вам понравилось это видео. Как я уже сказал, это контент из нашей мастерской AZ-104, что мы только что сделали пару недель назад. Вы можете наблюдать за воспроизведением, поехав на наш веб-сайт, CloudShills.io/az104. И если вам понравилось это видео, пожалуйста, сделайте мне одолжение, нажмите кнопку «Нравится», подпишитесь на наш канал здесь, и увидимся на следующем видео на YouTube.

Оригинал: «https://dev.to/cloudskills/azure-load-balancing-demystified-44mh»