Назад | Перейти на главную страницу

AWS API Gateway для Fargate, плата взимается только при выполнении запроса

По следующей ссылке кажется возможным вызвать задачу Fargate из шлюза API: https://aws.amazon.com/blogs/compute/introduction-amazon-api-gateway-private-endpoints/

Но должна ли задача выполняться круглосуточно, чтобы это работало? Возможно ли, чтобы задача запускалась только при достижении конечной точки? У меня есть несколько важных, но редко используемых сервисов, и я хотел бы сделать их как можно дешевле.

Я считаю, что нечто подобное возможно с Gateway + Lambda: https://serverless.com/blog/flask-python-rest-api-serverless-lambda-dynamodb/

Но мне нравится гибкость и простота использования, которые дает использование Docker и Fargate.

Короткий ответ: нет, это невозможно.

  • Когда ни одна задача Fargate не запущена, API GW некуда отправить запрос и возвращает ошибку.

  • Однако может быть способ вызвать лямбду из API GW, когда ни одна задача не запущена, и запустить ее, однако ...

  • Контейнеру Fargate требуется время для запуска - минимум десятки секунд, иногда больше минуты. Было бы плохо для пользователя, если бы их первоначальный запрос возвращался через минуту.

Также проверьте это: Сервис AWS Fargate: масштабирование до нуля?

Использовать лямбда, это правильный способ делать то, что вы хотите.

Надеюсь, это поможет :)