Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API
Эта статья содержит сведения о ролях и функциях компонента шлюза Управления API. В ней сравниваются шлюзы, которые можно развернуть.
Дополнительные сведения.
Общие сведения о сценариях, компонентах и концепциях Управления API см. в статье Что собой представляет Управление API Azure.
Дополнительные сведения об уровнях и функциях службы управления API см. в следующей статье:
- уровни управления API
- Сравнение уровней Управление API Azure на основе функций.
Роль шлюза
Шлюз Управления API (также называемый плоскость данных или среда выполнения) — это компонент службы, отвечающий за посредничество запросов API, применение политик и сбор телеметрии.
В частности, шлюз:
- выступает в качестве фасада для задних служб, принимая вызовы API и перенаправляя их в соответствующие задние части.
- Проверяет ключи API и другие учетные данные, такие как JWTs и сертификаты , представленные запросами
- принудительно применяет квоты использования и ограничения скорости;
- при необходимости преобразует запросы и ответы, указанные в инструкциях политики;
- если настроить, кэширует ответы, чтобы повысить задержку ответа и свести к минимуму нагрузку на серверные службы;
- создает журналы, метрики и трассировки для мониторинга, создания отчетов и устранения неполадок.
Note
Все запросы к шлюзу Управление API, включая отклоненные конфигурацией политики, учитываются в соответствии с настроенными ограничениями скорости, квотами и ограничениями выставления счетов при применении на уровне служб.
Управляемые и самостоятельно размещённые
Управление API предлагает как управляемые, так и самостоятельные шлюзы.
Управляемый шлюз — это компонент шлюза по умолчанию, развернутый в Azure для каждого экземпляра Управления API на каждом уровне служб. Автономный управляемый шлюз также может быть связан с рабочей областью в экземпляре службы управления API. При использовании управляемого шлюза весь трафик API проходит через Azure независимо от того, где размещаются серверные части, реализующие API.
Note
Из-за различий в базовой архитектуре служб шлюзы, предоставляемые на разных уровнях служб Управление API, имеют некоторые различия в возможностях. Дополнительные сведения см. в разделе Сравнение функций: управляемые и локальные шлюзы.
Самостоятельно размещенный — самостоятельно размещенный шлюз является необязательной контейнеризированной версией шлюза по умолчанию, управляемого оператором, доступной в некоторых уровнях обслуживания. Это полезно для гибридных и многооблачных сценариев, когда требуется запустить шлюзы из Azure в тех же средах, где размещаются серверные серверы API. Локальный шлюз позволяет клиентам с гибридной ИТ-инфраструктурой управлять API, размещенными локально и в облаках, из единой службы управления API в Azure.
Локальный шлюз упаковывается в виде контейнера Docker на базе Linux и обычно развертывается в Kubernetes, включая Службу Azure Kubernetes и Kubernetes с поддержкой Azure Arc.
Каждый локальный шлюз связан с ресурсом шлюза в облачном экземпляре Управления API, из которого он получает обновления конфигурации и сообщает о состоянии.
Сравнение функций: управляемые и локальные шлюзы
Следующие таблицы сравнивают функции, доступные в следующих шлюзах Управление API:
- Классический — управляемый шлюз, доступный на уровнях служб "Разработчик", "Базовый", "Стандартный" и "Премиум" (раньше группировались как выделенные уровни).
- Версия 2 — управляемый шлюз, доступный на уровнях "Базовый" версии 2, "Стандартный" и "Премиум" версии 2
- Потребление — управляемый шлюз, доступный на уровне потребления
- Самостоятельно размещённый — необязательный шлюз, доступный в определённых уровнях обслуживания
- Рабочая область — управляемый шлюз, доступный в рабочей области в выборе уровней служб
Note
- Некоторые функции управляемых и локальных шлюзов поддерживаются только на определенных уровнях служб или в определенных средах развертывания для локальных шлюзов.
- Для текущих поддерживаемых функций локального шлюза убедитесь, что вы обновили до последней основной версии образа контейнера локального шлюза.
- См. также ограничения локального шлюза.
Infrastructure
Поддержка функций | Classic | V2 | Consumption | Self-hosted | Workspace |
---|---|---|---|---|---|
Личные домены | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Встроенный кэш | ✔️ | ✔️ | ❌ | ❌ | ✔️ |
Внешний кэш, совместимый с Redis | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Внедрение виртуальной сети | Разработчик, Премиум | Премиум v2 | ❌ | ✔️1,2 | ✔️ |
Входящие частные конечные точки | ✔️ | Стандартная версия 2 | ❌ | ❌ | ❌ |
Интеграция исходящей виртуальной сети | ❌ | Стандарт версии 2, Премиум версии 2 | ❌ | ❌ | ✔️ |
Зоны доступности | Premium | ❌ | ❌ | ✔️1 | ❌ |
Развертывание в нескольких регионах | Premium | ❌ | ❌ | ✔️1 | ❌ |
Корневые сертификаты ЦС для проверки сертификатов | ✔️ | ❌ | ❌ | ✔️3 | ❌ |
Сертификаты управляемого домена | ✔️ | ❌ | ✔️ | ❌ | ❌ |
Параметры TLS | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
HTTP/2 (клиент — шлюз) | ✔️4 | ✔️4 | ❌ | ✔️ | ❌ |
HTTP/2 (шлюз — бэкенд) | ❌ | ✔️5 | ❌ | ✔️5 | ❌ |
Обнаружение угроз для API при помощи Defender for APIs | ✔️ | ✔️ | ❌ | ❌ | ❌ |
1 Зависит от способа развертывания шлюза, но за него отвечает клиент.
2 Подключение к локальной конечной точке конфигурации шлюза версии 2 требует разрешения DNS имени узла конечной точки.
3 корневых сертификатов ЦС для локального шлюза управляются отдельно для каждого шлюза.
Необходимо включить протокол 4 клиента.
5. Настройте с помощью политики пересылки запросов.
Интерфейсы API серверной части
Поддержка функций | Classic | V2 | Consumption | Self-hosted | Workspace |
---|---|---|---|---|---|
Спецификация OpenAPI | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Спецификация WSDL | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Спецификация WADL | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Приложение логики | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Служба приложений | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Функциональное приложение | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Контейнерное приложение | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Service Fabric | Разработчик, Премиум | ❌ | ❌ | ❌ | ❌ |
Сквозная передача GraphQL | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Синтетический GraphQL | ✔️ | ✔️ | ✔️1 | ✔️1 | ❌ |
Прямая передача WebSocket | ✔️ | ✔️ | ❌ | ✔️ | ✔️ |
Сквозная gRPC | ❌ | ❌ | ❌ | ✔️ | ❌ |
OData | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Azure OpenAI и LLM | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Ограничитель тока в бэкэнде | ✔️ | ✔️ | ❌ | ✔️ | ✔️ |
Серверный пул с балансировкой нагрузки | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Сквозной сервер MCP (предварительная версия) | "Базовый", "Стандартный" и "Премиум" | ✔️ | ❌ | ❌ | ❌ |
Policies
Управляемые и локальные шлюзы поддерживают все доступные политики в определениях политик с приведенными ниже исключениями. Дополнительные сведения о каждой политике см. в справочнике по политике.
Поддержка функций | Classic | V2 | Consumption | Self-hosted1 | Workspace |
---|---|---|---|---|---|
Интеграция Dapr | ❌ | ❌ | ❌ | ✔️ | ❌ |
Решатели GraphQL и валидация GraphQL | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
Получение контекста авторизации | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
Проверка подлинности с помощью управляемой идентичности | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Кэширование семантических данных для Azure OpenAI и LLM | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
Квота и ограничение скорости | ✔️ | ✔️ | ✔️2 | ✔️3 | ✔️ |
1 Настроенные политики, которые не поддерживаются самостоятельно размещённым шлюзом, пропускаются во время выполнения политики.
2 Ограничения скорости по ключу, квоты по ключу и политика ограничения токенов ИИ не доступны на уровне потребления.
3 Счётчики ограничений скорости в самостоятельно размещённом шлюзе можно настроить для локальной синхронизации (между экземплярами шлюза на узлах кластера), например, через развертывание Helm chart для Kubernetes или с помощью шаблонов развертывания портала Azure. Однако количество ограничений скорости не синхронизируется с другими ресурсами шлюза, настроенными в экземпляре Управление API, включая управляемый шлюз в облаке.
Подробнее
Monitoring
Дополнительные сведения о параметрах мониторинга см. в статье Наблюдаемость в Управлении API Azure.
Поддержка функций | Classic | V2 | Consumption | Self-hosted | Workspace |
---|---|---|---|---|---|
Аналитика API | ✔️ | ✔️1 | ❌ | ❌ | ❌ |
Аналитика приложений | ✔️ | ✔️ | ✔️ | ✔️2 | ✔️ |
Запись логов через Центры событий | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Метрики в Azure Monitor | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Сборщик OpenTelemetry | ❌ | ❌ | ❌ | ✔️ | ❌ |
Запрос журналов в Azure Monitor и Log Analytics | ✔️ | ✔️ | ❌ | ❌ 3 | ❌ |
Локальные метрики и журналы | ❌ | ❌ | ❌ | ✔️ | ❌ |
Трассировка запросов | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
1 Уровни версии 2 поддерживают аналитику на основе Azure Monitor.
Шлюз 2 использует встроенный буфер памяти Azure Application Insight и не гарантирует доставку.
3 Локальный шлюз в настоящее время не отправляет журналы ресурсов (журналы диагностики) в Azure Monitor. При желании можно отправлять метрики в Azure Monitor или настраивать и сохранять журналы локально, где развернут локальный шлюз.
Проверка подлинности и авторизация
Управляемые и локальные шлюзы поддерживают все доступные параметры проверки подлинности и авторизации API со следующими исключениями.
Поддержка функций | Classic | V2 | Consumption | Self-hosted | Workspace |
---|---|---|---|---|---|
Диспетчер учетных данных | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
Пропускная способность и масштабирование шлюза
Important
Пропускная способность зависит от количества и скорости одновременных подключений клиентов, типа и количества настроенных политик, размеров полезных данных, производительности API серверной части и других факторов. Пропускная способность локального шлюза также зависит от вычислительной емкости (ЦП и памяти) узла, на котором он выполняется. Выполняйте нагрузочное тестирование шлюза с помощью ожидаемых условий производства, чтобы точно определить ожидаемую пропускную способность.
Управляемый шлюз
Сведения о предполагаемой максимальной пропускной способности шлюза на уровнях служб Управления API приведены в статье Цены на Управление API.
Important
Данные о пропускной способности представлены только для информации. На них не следует полагаться при планировании емкости и бюджета. Дополнительные сведения см. в статье Цены на Управление API.
Классические уровни
- Емкость шлюза можно масштабировать путем добавления и удаления единиц масштабирования или обновления уровня служб. (Масштабирование недоступно на уровне "Разработка".)
- В уровнях "Базовый", "Стандартный" и "Премиум" при необходимости настройте автомасштабирование Azure Monitor.
- На уровне "Премиум" при необходимости добавьте и распределите емкость шлюза между несколькими регионами.
Уровни версии 2
- Емкость шлюза можно масштабировать путем добавления и удаления единиц масштабирования или обновления уровня служб.
Уровень потребления
- Экземпляры службы "Управление API" в тарифе "Потребление" масштабируются автоматически в соответствии с объемом трафика.
Локально размещённый шлюз
- В таких средах, как Kubernetes, добавьте несколько реплик шлюза для обработки ожидаемого использования.
- При необходимости настройте автоматическое масштабирование в соответствии с требованиями трафика.
Шлюз рабочего пространства
Масштабирование емкости путем добавления и удаления единиц масштабирования в шлюзе рабочей области.
Связанный контент
Узнайте больше о:
- Управление API в гибридном и многооблачном мире
- Метрика емкости для принятия решений по масштабированию
- Возможности наблюдаемости в управлении API
- Возможности шлюза искусственного интеллекта в службе "Управление API"