从以下链接,似乎可以从 API 网关调用 Fargate 任务: https ://aws.amazon.com/blogs/compute/introducing-amazon-api-gateway-private-endpoints/
但是,该任务是否必须 24/7 全天候运行才能正常工作?是否可以仅在命中端点时才运行任务?我有一些关键但很少使用的服务,我想让它们尽可能便宜。
我相信 Gateway + Lambda 也有类似的可能: https ://serverless.com/blog/flask-python-rest-api-serverless-lambda-dynamodb/
但是,我喜欢使用 Docker 和 Fargate 带来的灵活性和易用性。
简短的回答:不,这是不可能的。
当没有 Fargate 任务正在运行时,API GW 无处发送请求并返回错误。
当没有任务正在运行并启动一个任务时,可能有一种方法可以从 API GW 触发 lambda,但是......
Fargate 容器需要时间来启动 - 至少几十秒,有时超过一分钟。如果他们最初的请求需要一分钟才能返回,那将是一个糟糕的用户体验。
另请查看:AWS Fargate 服务:缩放到零?
使用 Lambda,这是做你想做的事情的正确方法。
希望有帮助:)