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


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

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

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

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

Роль шлюза

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

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

Примечание.

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

Управляемые и локальные шлюзы

Управления API предлагает как управляемые, так и локальные шлюзы.

  • Управляемый шлюз — это компонент шлюза по умолчанию, развернутый в Azure для каждого экземпляра Управления API на каждом уровне служб. Автономный управляемый шлюз также может быть связан с рабочей областью в Управление API экземпляре. При использовании управляемого шлюза весь трафик API проходит через Azure независимо от того, где размещаются серверные части, реализующие API.

    Примечание.

    Из-за различий в базовой архитектуре служб шлюзы, предоставляемые на разных уровнях служб Управление API, имеют некоторые различия в возможностях. Дополнительные сведения см. в разделе Сравнение функций: управляемые и локальные шлюзы.

  • Локальное размещениелокальный шлюз является необязательной контейнерной версией управляемого шлюза по умолчанию, доступной на выборе уровней служб. Это полезно для гибридных и многооблачных сценариев, когда требуется запустить шлюзы из Azure в тех же средах, где размещаются серверные серверы API. Локальный шлюз позволяет клиентам с гибридной ИТ-инфраструктурой управлять API, размещенными локально и в облаках, из единой службы управления API в Azure.

    • Локальный шлюз упаковывается в виде контейнера Docker на базе Linux и обычно развертывается в Kubernetes, включая Службу Azure Kubernetes и Kubernetes с поддержкой Azure Arc.

    • Каждый локальный шлюз связан с ресурсом шлюза в облачном экземпляре Управления API, из которого он получает обновления конфигурации и сообщает о состоянии.

Сравнение функций: управляемые и локальные шлюзы

Следующие таблицы сравнивают функции, доступные в следующих шлюзах Управление API:

  • Классический — управляемый шлюз, доступный на уровнях служб "Разработчик", "Базовый", "Стандартный" и "Премиум" (прежнее название — выделенные уровни).
  • Версия 2 — управляемый шлюз, доступный на уровнях "Базовый" версии 2 и "Стандартный" версии 2
  • Потребление — управляемый шлюз, доступный на уровне потребления
  • Локальное размещение — необязательный локальный шлюз, доступный на выборе уровней служб
  • Рабочая область — управляемый шлюз, доступный в рабочей области в выборе уровней служб

Примечание.

Инфраструктура

Поддерживаемые компоненты Классическое V2 Потребление Самостоятельное размещение Рабочая область
Личные домены ✔️ ✔️ ✔️ ✔️
Встроенный кэш ✔️ ✔️ ✔️
Внешний кэш, совместимый с Redis ✔️ ✔️ ✔️ ✔️
Внедрение виртуальной сети Разработчик, Премиум ✔️1,2 ✔️
Входящие частные конечные точки Developer, Basic, Standard, Premium
Интеграция исходящей виртуальной сети Стандартный, версия 2 ✔️
Зоны доступности Premium ✔️3 ✔️1 ✔️3
Развертывание в нескольких регионах Premium ✔️1
Корневые сертификаты ЦС для проверки сертификатов ✔️ ✔️ ✔️4
Сертификаты управляемого домена Developer, Basic, Standard, Premium ✔️
Параметры TLS ✔️ ✔️ ✔️ ✔️
HTTP/2 (клиент — шлюз) ✔️5 ✔️5 ✔️
HTTP/2 (шлюз — серверная часть) ✔️
Обнаружение угроз API с помощью Defender для API ✔️ ✔️

1 Зависит от способа развертывания шлюза, но за него отвечает клиент.
2 Подключение к локальной конечной точке конфигурации шлюза версии 2 требует разрешения DNS имени узла конечной точки.
3 Две зоны включены по умолчанию; не настраиваются.
4 корневого сертификата ЦС для локального шлюза управляются отдельно для каждого шлюза.
Необходимо включить 5 клиентских протоколов.

Интерфейсы API серверной части

Поддерживаемые компоненты Классическое V2 Потребление Самостоятельное размещение Рабочая область
Спецификация OpenAPI ✔️ ✔️ ✔️ ✔️ ✔️
Спецификация WSDL ✔️ ✔️ ✔️ ✔️ ✔️
Спецификация WADL ✔️ ✔️ ✔️ ✔️ ✔️
Приложение логики ✔️ ✔️ ✔️ ✔️ ✔️
Служба приложений ✔️ ✔️ ✔️ ✔️ ✔️
Приложение-функция ✔️ ✔️ ✔️ ✔️ ✔️
Приложение-контейнер ✔️ ✔️ ✔️ ✔️ ✔️
Service Fabric Разработчик, Премиум
Сквозная передача GraphQL ✔️ ✔️ ✔️ ✔️ ✔️
Синтетический GraphQL ✔️ ✔️ ✔️1 ✔️1
Сквозная передача WebSocket ✔️ ✔️ ✔️
Сквозная gRPC ✔️
OData ✔️ ✔️ ✔️ ✔️ ✔️
Azure OpenAI ✔️ ✔️ ✔️ ✔️ ✔️
Средство разбиения цепи в серверной части ✔️ ✔️ ✔️ ✔️
Серверный пул с балансировкой нагрузки ✔️ ✔️ ✔️ ✔️ ✔️

1 Подписки GraphQL (предварительная версия) не поддерживаются.

Политики

Управляемые и локальные шлюзы поддерживают все доступные политики в определениях политик с приведенными ниже исключениями.

Поддерживаемые компоненты Классическое V2 Потребление Локальноеразмещение 1 Рабочая область
Интеграция Dapr ✔️
Сопоставители GraphQL и проверка GraphQL ✔️ ✔️ ✔️
Получение контекста авторизации ✔️ ✔️ ✔️
Квота и ограничение скорости ✔️ ✔️2 ✔️3 ✔️4 ✔️

1 Настроенные политики, которые не поддерживаются локальным шлюзом, пропускаются во время выполнения политики.
2 Квота по политике ключей недоступна на уровнях версии 2.
3 Ограничение скорости по ключу, квоте по ключу и политикам ограничения маркеров OpenAI Azure недоступны на уровне потребления.
4 Ограничения скорости в локальном шлюзе можно настроить для синхронизации локально (среди экземпляров шлюза между узлами кластера), например с помощью развертывания диаграмм Helm для Kubernetes или использования шаблонов развертывания портал Azure. Однако количество ограничений скорости не синхронизируется с другими ресурсами шлюза, настроенными в экземпляре Управление API, включая управляемый шлюз в облаке. Подробнее

Наблюдение

Дополнительные сведения о параметрах мониторинга см. в статье Наблюдаемость в Управлении API Azure.

Поддерживаемые компоненты Классическое V2 Потребление Самостоятельное размещение Рабочая область
Аналитика API ✔️ ✔️1
Application Insights ✔️ ✔️ ✔️ ✔️2 ✔️
Ведение журнала через Центры событий ✔️ ✔️ ✔️ ✔️ ✔️
Метрики в Azure Monitor ✔️ ✔️ ✔️ ✔️
Сборщик OpenTelemetry ✔️
Запрос журналов в Azure Monitor и Log Analytics ✔️ ✔️ 3
Локальные метрики и журналы ✔️
Трассировка запросов ✔️ ✔️ ✔️ ✔️ ✔️

1 Уровни версии 2 поддерживают аналитику на основе Azure Monitor.
Шлюз 2 использует встроенный буфер памяти приложение Azure Insights и не предоставляет гарантии доставки.
3 Локальный шлюз в настоящее время не отправляет журналы ресурсов (журналы диагностики) в Azure Monitor. При желании можно отправлять метрики в Azure Monitor или настраивать и сохранять журналы локально, где развернут локальный шлюз.

Проверка подлинности и авторизация

Управляемые и локальные шлюзы поддерживают все доступные параметры проверки подлинности и авторизации API со следующими исключениями.

Поддерживаемые компоненты Классическое V2 Потребление Самостоятельное размещение Рабочая область
Диспетчер учетных данных ✔️ ✔️ ✔️

Пропускная способность и масштабирование шлюза

Внимание

Пропускная способность зависит от количества и скорости одновременных подключений клиентов, типа и количества настроенных политик, размеров полезных данных, производительности API серверной части и других факторов. Пропускная способность локального шлюза также зависит от вычислительной емкости (ЦП и памяти) узла, на котором он выполняется. Выполняйте нагрузочное тестирование шлюза с помощью ожидаемых условий производства, чтобы точно определить ожидаемую пропускную способность.

Управляемый шлюз

Сведения о предполагаемой максимальной пропускной способности шлюза на уровнях служб Управления API приведены в статье Цены на Управление API.

Внимание

Данные о пропускной способности представлены только для информации. На них не следует полагаться при планировании емкости и бюджета. Дополнительные сведения см. в статье Цены на Управление API.

  • Классические уровни

    • Емкость шлюза можно масштабировать путем добавления и удаления единиц масштабирования или обновления уровня служб. (Масштабирование недоступно на уровне "Разработка".)
    • В уровнях "Базовый", "Стандартный" и "Премиум" при необходимости настройте автомасштабирование Azure Monitor.
    • На уровне "Премиум" при необходимости добавьте и распределите емкость шлюза между несколькими регионами.
  • Уровни версии 2

    • Емкость шлюза можно масштабировать путем добавления и удаления единиц масштабирования или обновления уровня служб.
  • Уровень "Потребление"

    • Экземпляры службы "Управление API" на уровне "Потребление" масштабируется автоматически в соответствии с объемом трафика.

Независимый шлюз

Шлюз рабочей области

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

Lear подробнее о: