Поиск по сайту:

Как настроить маршрутизацию на основе пути в AWS Application Load Balancer


На этой странице

  1. Обзор этого руководства
  2. Настройка экземпляров EC2
  3. Настройка целевой группы
  4. Регистрация экземпляров EC2 в целевых группах
  5. Создание балансировщика нагрузки приложений
  6. Добавление правил переадресации на основе пути
  7. Проверка настроек…
  8. Заключение

В AWS, ELB и Elastic Load Balancing существует концепция, при которой серверы могут быть добавлены или освобождены в соответствии с требованиями нашего приложения, а входящий трафик из приложения распределяется между несколькими целями. Этими целями могут быть экземпляры EC2, контейнеры и IP-адреса в одной или нескольких зонах доступности. Поддерживаемые типы балансировщиков эластичной нагрузки AWS: балансировщики нагрузки приложений (ALB), балансировщики сетевой нагрузки (NLB), балансировщики нагрузки шлюза (недавно запущенные) и классические балансировщики нагрузки. Эти балансировщики нагрузки имеют разные конфигурации, например,

1. Балансировщик нагрузки приложений. Он работает путем автоматического распределения входящего трафика приложений между двумя или более экземплярами EC2. Мы можем определить правила маршрутизации в соответствии с содержанием запроса (маршрутизация на основе содержимого). Это балансировщик нагрузки уровня 7.

2. Балансировщики сетевой нагрузки: NLB использует данные IP-протокола (TCP и UDP) для маршрутизации подключений к ресурсам AWS, таким как EC2, микросервисы и контейнеры. Это балансировщик нагрузки уровня 4.

3. Балансировщик нагрузки шлюза: используется со сторонними виртуальными устройствами, такими как брандмауэры NextGen (NGFW), IPS, IDS и т. д., работающими на экземплярах EC2. Он работает, размещая единый шлюз для трафика от нескольких виртуальных устройств, и эти несколько виртуальных устройств можно увеличивать или уменьшать в зависимости от спроса. Это хорошо для стабильности сети. Это балансировщик нагрузки уровня 3 (шлюз) и уровня 4 (балансировка нагрузки).

4. Классический балансировщик нагрузки: CLB — это устаревший балансировщик нагрузки AWS, который используется для балансировки нагрузки между несколькими экземплярами EC2. Рекомендуется для приложений, разработанных в сети EC2-Classic. Это балансировщик нагрузки уровня 4/7. AWS рекомендует избегать этого балансировщика нагрузки.

Обзор этого руководства

В этом руководстве мы настроим маршрутизацию на основе пути для балансировщика нагрузки приложений на AWS. Для этой задачи мы будем использовать учетную запись пользователя IAM. У нас есть следующие ресурсы для этой установки:

1. Две зоны доступности, каждая из которых содержит как минимум один экземпляр EC2.

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

3. Установите веб-сервер на каждом экземпляре и разрешите доступ к порту 80 на этих экземплярах с помощью группы безопасности.

Конфигурация экземпляров EC2

Для этого руководства мы настроили два экземпляра Amazon Linux EC2 с установленным на них веб-сервером Apache Httpd. На одном сервере у нас есть каталог «signin», содержащий файл index.html с содержимым: «Добро пожаловать, пользователь? Войдите, чтобы продолжить...»

На другом сервере у нас есть каталог signup, содержащий файл index.html с содержимым: \Новый пользователь? Сначала зарегистрируйтесь...

Каталоги signin и signup находятся внутри корневого каталога(/var/www/html)

Настройка целевой группы

Шаг 1. Для маршрутизации запроса мы сначала создадим две целевые группы, по одной для каждого сервера. Откройте консоль EC2 и на левой боковой панели найдите и выберите «Целевые группы» (она находится в разделе «Балансировка нагрузки»).

Шаг 2. На новой странице нажмите кнопку «Создать целевую группу»:

Шаг 3. Теперь мы находимся на странице «Указать детали группы». В базовой конфигурации выполните следующие действия:

  1. Выберите тип цели. Выберите здесь «Экземпляры».
  2. Имя целевой группы: дайте подходящее имя целевой группе (в нашем случае «Войти в систему»).
  3. Протокол: HTTP
  4. Порт: 80
  5. VPC: выберите здесь имя VPC.
  6. Версия протокола: оставьте выбранной версию по умолчанию (HTTP1).

В настройках «Проверки работоспособности»:

  1. Протокол проверки работоспособности: HTTP
  2. Путь проверки работоспособности: «Путь, который вы хотите использовать» («/signin» в нашем случае)
  3. Оставьте «Расширенные настройки проверки работоспособности» по умолчанию. Добавьте теги, если они вам нужны (необязательно). Нажмите «Далее», чтобы продолжить.

Регистрация инстансов EC2 в целевых группах

Шаг 1. Теперь добавьте один из экземпляров EC2 в указанные выше целевые группы. Выберите экземпляр, а затем нажмите кнопку «Включить как ожидающие ниже».

Шаг 2. Выбранный выше экземпляр появится в разделе «Обзор целей». Теперь нажмите «Создать целевую группу».

Создание балансировщика нагрузки приложений

Шаг 1. В консоли EC2 перейдите в раздел «Балансировщики нагрузки» и нажмите кнопку «Создать балансировщик нагрузки», а затем выберите «Балансировщик нагрузки приложений», показанный на новой странице:

Добавление правил переадресации на основе пути

Шаг 1. Как только статус ALB изменится на Active, мы приступим к правилам переадресации. Нажмите на имя Load Balancer и перейдите на вкладку Listeners.

Шаг 2. Нажмите «Просмотр/редактирование правил» в столбце «Правила», а затем нажмите символ «+», а затем «Вставить правило»:

Шаг 3. В столбце «ЕСЛИ (все совпадения)» щелкните стрелку раскрывающегося списка «+ Добавить условие», выберите «Путь» в качестве типа правила и введите «/signin*» в текстовое поле, соответствующее метке «есть». .

Шаг 4. В столбце «Затем» нажмите стрелку раскрывающегося списка «+ Добавить действие» и выберите «Переслать» в качестве действия. Здесь выберите целевую группу «Вход».

Повторите шаги 2 и 3 выше для целевой группы «SignUp» с путем «/signup*». После сохранения правил у нас будет два правила:

Проверка установки…

Чтобы проверить, все ли работает должным образом, откройте веб-браузер, вставьте DNS балансировщика нагрузки и добавьте к нему:

1) Путь целевой группы «Регистрация»: /signup

2) Путь целевой группы «Вход»: /signin

Заключение

Поздравляем, мы наконец-то настроили рабочий сценарий для маршрутизации на основе путей в балансировщике нагрузки приложений AWS.