AWS Load Balancer · 5 min read · Dec 10, 2025
Как настроить маршрутизацию на основе пути в AWS Application Load Balancer

В AWS существует концепция ELB и Elastic Load Balancing, где серверы могут добавляться или удаляться в зависимости от потребностей нашего приложения, а входящий трафик распределяется между несколькими целями. Эти цели могут быть экземплярами EC2, контейнерами и IP-адресами в одной или нескольких зонах доступности. Поддерживаемые типы AWS Elastic Load Balancers: Application Load Balancers (ALB), Network Load Balancers (NLB), Gateway Load Balancers (недавно запущенные) и Classic Load Balancers. Эти балансировщики нагрузки имеют разные конфигурации, например:
Application Load Balancer: Он работает, автоматически распределяя входящий трафик приложения между двумя или более экземплярами EC2. Мы можем определить правила маршрутизации в зависимости от содержимого запроса (маршрутизация на основе содержимого). Это балансировщик нагрузки уровня 7.
Network Load Balancers: NLB использует данные протокола IP (TCP и UDP) для маршрутизации соединений к ресурсам AWS, таким как EC2, микросервисы и контейнеры. Это балансировщик нагрузки уровня 4.
Gateway Load Balancer: Эти балансировщики используются с виртуальными устройствами третьих сторон, такими как межсетевые экраны следующего поколения (NGFW), IPS, IDS и т. д., работающими на экземплярах EC2. Он работает, устанавливая один шлюз для трафика от нескольких виртуальных устройств, и эти несколько виртуальных устройств могут быть масштабированы вверх или вниз в зависимости от потребностей. Это хорошо для стабильности сети. Это балансировщик нагрузки уровня 3 (шлюз) плюс уровень 4 (балансировка нагрузки).
Classic Load Balancer: CLB — это устаревший балансировщик нагрузки AWS, который используется для балансировки нагрузки между несколькими экземплярами EC2. Он рекомендуется для приложений, разработанных в сети EC2-Classic. Это балансировщик нагрузки уровня 4/7. AWS рекомендует избегать этого балансировщика нагрузки.
Обзор этого руководства
В этом учебном пособии мы настроим маршрутизацию на основе пути для Application Load Balancer в AWS. Мы собираемся использовать учетную запись IAM для этой задачи. У нас есть следующие ресурсы для этой настройки:
Две зоны доступности, каждая из которых содержит как минимум один экземпляр EC2.
VPC с минимум одной публичной подсетью в каждой из вышеуказанных двух зон доступности. Эта публичная подсеть будет использоваться для настройки балансировщика нагрузки.
Установите веб-сервер на каждом экземпляре и разрешите доступ к порту 80 на этих экземплярах с помощью группы безопасности.
Настройка экземпляров EC2
Для этого руководства мы настроили два экземпляра Amazon Linux EC2 с установленным веб-сервером Apache Httpd на обоих. На одном сервере у нас есть каталог ‘signin’, содержащий файл index.html с содержимым: “Добро пожаловать, пользователь? Войдите, чтобы продолжить…”.
На другом сервере у нас есть каталог ‘signup’, содержащий файл index.html с содержимым: “Новый пользователь? Сначала зарегистрируйтесь…”.
Оба каталога ‘signin’ и ‘signup’ находятся внутри корневого каталога (/var/www/html)
Настройка группы целей
Шаг 1. Для маршрутизации запроса мы сначала создадим две группы целей, по одной для каждого сервера. Откройте консоль EC2 и в левой панели найдите и выберите ‘Target Groups’ (это под балансировкой нагрузки).
Шаг 2. На новой странице нажмите кнопку ‘Создать группу целей’:
Шаг 3. Мы находимся на странице ‘Укажите детали группы’. В разделе базовой конфигурации выполните следующее:
- Выберите тип цели: выберите ‘Экземпляры’.
- Имя группы целей: дайте подходящее имя группе целей (‘Sign-In’ в нашем случае).
- Протокол: HTTP
- Порт: 80
- VPC: выберите здесь имя вашего VPC.
- Версия протокола: оставьте выбранный по умолчанию (HTTP1)
В разделе ‘Настройки проверки работоспособности’:
- Протокол проверки работоспособности: HTTP
- Путь проверки работоспособности: ‘Путь, который вы хотите использовать’ (‘/signin’ в нашем случае)
- Оставьте ‘Расширенные настройки проверки работоспособности’ по умолчанию. Добавьте теги, если они вам нужны (необязательно). Нажмите ‘Далее’, чтобы продолжить.
Регистрация экземпляров EC2 в группах целей
Шаг 1. Теперь добавьте один из экземпляров EC2 в вышеуказанные группы целей. Выберите экземпляр, а затем нажмите кнопку ‘Включить как ожидающий ниже’.

Шаг 2. Выбранный экземпляр появится в разделе ‘Просмотр целей’. Теперь нажмите ‘Создать группу целей’.

Шаг 3. На следующем окне снова нажмите ‘Продолжить’. Теперь повторите ту же процедуру для другой группы целей и назовите ее ‘Sign-Up’. Используйте другой экземпляр (в другой зоне доступности) с этой группой целей и используйте другой путь проверки работоспособности (‘/signup’ в нашем случае):

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

Шаг 2. Дайте подходящее имя (здесь ‘My_Path_ALB’) вашему балансировщику нагрузки. Оставьте схему по умолчанию (‘Интернет-ориентированный’), выберите тип IP-адреса как IPv4.

Шаг 3. В разделе Сопоставление сети выберите целевой VPC, а в разделе Сопоставления выберите две зоны доступности, содержащие ваши цели, к которым балансировщик нагрузки будет маршрутизировать трафик.

Шаг 4. Настройте группы безопасности для балансировщика нагрузки и разрешите вашему целевому порту (порт 80 в нашем случае) прослушивать:

Шаг 5. Выберите слушатель (HTTP в нашем случае) и введите порт для прослушивания или выберите оставить порт 80 по умолчанию для HTTP-запросов. В разделе Действие по умолчанию выберите цель ‘Sign-in’ для столбца ‘перенаправить на’:

Шаг 6. Необязательные шаги можно пропустить. Теперь просмотрите сводку и нажмите кнопку ‘Создать балансировщик нагрузки’:

Шаг 7. Теперь снова перейдите на страницу ‘Балансировщики нагрузки’ и найдите ваш целевой балансировщик нагрузки здесь:
Добавление правил перенаправления на основе пути
Шаг 1. Как только статус ALB изменится на Активный, мы продолжим с правилами перенаправления. Нажмите на имя балансировщика нагрузки, а затем перейдите на вкладку Слушатели.
Шаг 2. Нажмите на ‘Просмотреть/Изменить правила’ в столбце ‘Правила’, а затем нажмите на символ ‘+’, затем ‘Вставить правило’:

Шаг 3. В столбце ‘ЕСЛИ (все совпадают)’, нажмите на стрелку вниз ‘+ Добавить условие’ и выберите ‘Путь’ в качестве типа правила и введите ‘/signin*’ в текстовом поле, соответствующем метке ‘является’.
Шаг 4. В столбце ‘Затем’ нажмите на стрелку вниз ‘+ Добавить действие’ и выберите ‘Перенаправить на’ в качестве действия. Здесь выберите группу целей ‘Sign-In’.
Повторите шаги 2 и 3 выше для группы целей ‘SignUp’ с путем ‘/signup*’. После сохранения правил у нас будет два правила:
Проверка настройки…
Чтобы проверить, работает ли все как ожидалось, откройте веб-браузер и вставьте DNS балансировщика нагрузки и добавьте к нему:
- Путь группы целей ‘Sign-Up’: ‘/signup’
- Путь группы целей ‘Sign-In’: ‘/signin’
Заключение
Поздравляем, мы наконец настроили рабочий сценарий для маршрутизации на основе пути на AWS Application Load Balancer.
Get new posts in your inbox
No spam. Unsubscribe anytime.