Как использовать API-шлюз AWS в качестве интерфейса для лямбда-функций – CloudSavvy IT
API Gateway – это полностью управляемый сервис для создания, тестирования и размещения производственных API. Вместо того, чтобы арендовать сервер EC2 и самостоятельно управлять своим сервером API, API Gateway может помочь вам в этом и оптимизировать весь процесс.
Что такое API-шлюз?
API Gateway – это, по сути, обратный прокси-сервер, который извлекает данные из других служб и возвращает их структурированным образом. Однако вместо того, чтобы запускать его самостоятельно, бремя обработки трафика и инфраструктуры переходит на AWS, который может сделать это гораздо дешевле.
Это в основном позволяет API Gateway выступать в роли «входной двери» для многих других сервисов AWS. Например, подключив его к AWS Lambda, вы можете создать серверную часть микросервисов без использования серверов EC2. Лямбда-функция может быть настроена для подключения.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
API Gateway отлично работает в качестве основного интерфейса для API-интерфейсов общего назначения HTTP, но он также очень полезен для управления общей структурой и схемой API-интерфейсов REST. При создании API-интерфейсов REST вы можете точно определить все маршруты и методы и подключить их к любой службе AWS, которую вы пожелаете.
API GateWay также можно использовать для управления API-интерфейсами WebSocket, которые используются для быстрой связи в режиме реального времени путем открытия прямого соединения с сервера на клиент.
Сколько стоит API Gateway?
Для универсальных HTTP API API Gateway просто стоит $ 1,00 за миллион запросов после того, как вы превысите первый миллион, приходящийся на уровень бесплатного пользования.
Для API REST цена выше, $ 3,50 за миллион запросов. При желании вы также можете включить кэширование для своего REST API, что повысит производительность за счет почасовая оплата в зависимости от размера вашего кеша,
Для API WebSocket цены немного отличаются. Поскольку они предназначены для коротких сообщений от сервера к клиенту, вы платите только 1 доллар за миллиард запросов, 1000 дешево за запрос, как два других. Тем не менее, вы ограничены 128 КБ полезных нагрузок, и вы также платите $ 0,25 за миллион минут соединения. Если у вас постоянно есть много клиентов, подключенных к API WebSocket, вы будете платить за каждого из них.
Однако следует отметить, что, хотя за передачу данных не взимается определенная плата, API-интерфейсы HTTP измеряются с шагом 512 КБ. Например, один запрос API, который возвратил ответ 1,5 МБ, будет выставлен как три запроса API. API-интерфейсы WebSocket тарифицируются с шагом 32 КБ. Это может легко удвоить ваши затраты на API-шлюз, если ваши полезные нагрузки особенно велики.
Конечно, если вы подключаетесь к другой службе AWS, вам придется оплатить все расходы, связанные с этими услугами (например, сборы за вызовы функций Lambda), а также сборы за передачу данных за перенос данных из AWS.
Настройка HTTP API для подключения к Lambda
Хотя API-интерфейсы REST предлагают больше организационных инструментов для управления самим API, они намного сложнее и стоят гораздо дороже при загрузке. Вместо этого мы будем использовать базовые HTTP API, которые проще создавать и подключать к Lambda.
Выберите «HTTP API» для создания из меню создания. Первое, что вам нужно настроить, это ваши интеграции; HTTP API поддерживают конечные точки HTTP и функции Lambda. Вы можете добавить несколько интеграций, которые могут быть полезны, если вы хотите, чтобы отдельная лямбда-функция обрабатывала каждый маршрут вашего API.
Далее вы настроите маршруты для API. Они могут быть размещены на суб-URL, как /users
и будет вызывать различные цели интеграции в зависимости от метода, с которым соединяется клиент. Например, GET /messages
может вернуть список сообщений, но POST /messages
может загрузить новое сообщение.
Вы, вероятно, захотите отличить API-интерфейсы разработки и производства. Вы можете создать несколько сред в виде «этапов», которые будут служить этой цели. По умолчанию $default
Среда автоматически обновляется при любых изменениях и служит этапом разработки. Возможно, вы захотите создать этап «Производство», который вы сможете использовать для $default
к.
После этого ваш API должен быть настроен и готов к использованию. В разделе «Этапы» вы найдете URL-адрес вызова для вашего API. Это связано с самой стадией развертывания API и будет оставаться статичным. Это должно выглядеть примерно так:
https://api_id.execute-api.us-east-1.amazonaws.com
Если вы хотите использовать это с настраиваемым доменным именем, вам нужно будет сгенерировать сертификат ACM, чтобы безопасно связать API-шлюз с вашим доменом, и отредактировать конфигурацию DNS так, чтобы она указывала на сам шлюз. Если вы используете Route 53, этот процесс довольно упрощен.
На вкладке «Авторизация» вы найдете настройки для настройки вашего API с аутентификацией JWT. В настоящее время это единственный метод, поддерживаемый HTTP API.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)