Поделиться через


Шлюз API в службе "Управление API Azure"

ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API

Эта статья содержит сведения о ролях и функциях компонента шлюза Управления API. В ней сравниваются шлюзы, которые можно развернуть.

Дополнительные сведения.

Роль шлюза

Шлюз Управления API (также называемый плоскость данных или среда выполнения) — это компонент службы, отвечающий за посредничество запросов API, применение политик и сбор телеметрии.

В частности, шлюз:

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" в тарифе "Потребление" масштабируются автоматически в соответствии с объемом трафика.

Локально размещённый шлюз

Шлюз рабочего пространства

Масштабирование емкости путем добавления и удаления единиц масштабирования в шлюзе рабочей области.

Узнайте больше о: