По следующей ссылке кажется возможным вызвать задачу 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: масштабирование до нуля?
Использовать лямбда, это правильный способ делать то, что вы хотите.
Надеюсь, это поможет :)