При развертывании генеративных ИИ-агентов на Amazon Bedrock AgentCore в production возникает задача защиты API-эндпоинтов от веб-угроз. AWS WAF — стандартный инструмент для фильтрации трафика, но его интеграция с AgentCore осложняется требованиями аутентификации и особенностями health check'ов. В официальном руководстве AWS описаны два архитектурных паттерна, которые решают эту проблему, используя internet-facing Application Load Balancer (ALB) в качестве точки подключения WAF.
Оба паттерна включают общую инфраструктуру: клиент отправляет аутентифицированный запрос (SigV4 или OAuth Bearer token) на ALB, AWS WAF проверяет его, после чего трафик направляется к VPC Interface Endpoint (com.amazonaws.<region>.bedrock-agentcore) для доступа к AgentCore Runtime. Основное различие — в слое между ALB и VPC Endpoint. Паттерн 1 размещает Lambda-функцию в качестве прокси, что дает возможность трансформировать запросы, добавлять кастомное логирование или переводить аутентификацию между методами. Паттерн 2 направляет трафик напрямую на приватные IP-адреса ENI VPC Endpoint, исключая дополнительный компонент и снижая задержку.
| Параметр | Паттерн 1 (с Lambda) | Паттерн 2 (без Lambda) |
|---|---|---|
| Задержка | Выше из-за дополнительного Lambda-вызова | Ниже, прямой маршрут к ENI |
| Сложность настройки | Выше, требует разработки Lambda-функции | Ниже, конфигурация только ALB и целевой группы |
| Обработка health check'ов | В коде Lambda, можно вернуть 200 | Через фиксированный ответ целевой группы |
| Дополнительные возможности | Трансформация запросов, кастомное логирование, перевод аутентификации | Отсутствуют, только проксирование |
Выбор паттерна зависит от потребностей: если нужна гибкость в обработке запросов (например, преобразование формата аутентификации), стоит начать с паттерна с Lambda. Если приоритет — минимальная сложность и задержка, подойдет прямой маршрут. В обоих случаях требуется решить проблему health check'ов: ALB отправляет неаутентифицированные запросы, а AgentCore ожидает SigV4 или OAuth. Паттерн с Lambda обрабатывает health check'и в коде функции, а паттерн без Lambda использует специальную настройку целевой группы с фиксированным ответом. Документация AWS предоставляет полные инструкции по настройке и закрытию прямого доступа через политику ресурсов, чтобы весь трафик проходил через AWS WAF.
Стандартные health checks ALB не работают с AgentCore, так как требуют аутентификации SigV4 или OAuth.



