Открыть сервис

Amazon API Gateway

Amazon API Gateway — это полностью управляемый сервис облачной платформы Amazon Web Services (AWS), предназначенный для создания, публикации, мониторинга и защиты API (программных интерфейсов приложений) любого масштаба. Сервис выступает в роли «входных ворот» для серверных приложений, сервисов и данных, позволяя разработчикам определять RESTful и WebSocket API, а также обрабатывать HTTP-запросы, управлять трафиком, авторизацией и контролем доступа, не управляя инфраструктурой веб-серверов.

История и развитие

Сервис был анонсирован компанией Amazon в июле 2015 года на конференции AWS re:Invent и запущен в коммерческую эксплуатацию в декабре того же года. Появление Amazon API Gateway стало ответом на растущую потребность в бессерверной (serverless) архитектуре, где разработчики могли бы сосредоточиться на логике приложения, а не на настройке прокси-серверов или балансировщиков нагрузки.

Первоначально сервис поддерживал только REST API. В декабре 2018 года была добавлена поддержка WebSocket API, что позволило реализовывать двустороннюю связь в реальном времени (например, для чатов, стриминга данных или игр). С тех пор функциональность постоянно расширялась: появилась интеграция с AWS WAF (Web Application Firewall), поддержка приватных API (Private API Gateway), улучшенные механизмы кэширования и версионирования.

Ключевые возможности и архитектура

Amazon API Gateway работает как управляемый прокси-сервер, который принимает входящие HTTP/HTTPS запросы, выполняет заданные преобразования и перенаправляет их к целевому бэкенду. Архитектурно сервис состоит из нескольких ключевых компонентов:

Типы создаваемых API

Сервис позволяет создавать три основных типа API:

Интеграция с бэкендами

API Gateway может маршрутизировать запросы к различным типам бэкендов:

Основные компоненты и настройка

Ресурсы и методы

API определяется набором ресурсов (URL-путей) и HTTP-методов для каждого ресурса. Например, для ресурса /users можно определить методы GET (получить список пользователей) и POST (создать нового пользователя). Для каждого метода настраивается:

Этапы развёртывания

API Gateway поддерживает концепцию этапов (stages), которые представляют собой отдельные среды развёртывания (например, dev, test, prod). Для каждого этапа можно настроить:

Аутентификация и авторизация

Сервис предоставляет несколько механизмов защиты API:

Трансформация запросов и ответов

С помощью шаблонов Apache Velocity Template Language (VTL) можно изменять структуру входящего запроса перед отправкой к бэкенду и исходящего ответа перед возвратом клиенту. Это позволяет, например, скрыть внутреннюю структуру данных, добавить заголовки или преобразовать формат (XML в JSON).

Производительность и масштабирование

Amazon API Gateway автоматически масштабируется для обработки миллионов параллельных запросов. Сервис поддерживает:

Ценообразование

Стоимость использования Amazon API Gateway зависит от количества вызовов API и объёма переданных данных. Модель ценообразования включает:

Для HTTP API стоимость значительно ниже (около 1 доллара за миллион запросов), что делает их привлекательными для простых сценариев.

Применение и типовые сценарии

Amazon API Gateway широко используется в следующих архитектурных паттернах:

Ограничения и критика

Несмотря на широкие возможности, сервис имеет ряд ограничений:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →