如何强制仅从 AWS Lambda 启动 Fargate 服务

时间:2021-01-27 12:00:32

标签: amazon-ecs aws-fargate

我创建了一个简单的任务来打印 hello world。我已经创建了一个 ECR 镜像、docker compose 和 ecs-params.yml。

我得到了打印的 cloudwatch 日志,但任务每分钟都在启动,我猜这是由于 REPLICA 服务类型。

我怎样才能阻止这种情况发生,我只想从 lambda 启动这个 Fargate 任务,当它完成时我不想重新启动它。

提前致谢

1 个答案:

答案 0 :(得分:1)

如果您希望 ECS 启动一次性/一次性/独立任务并让它运行直到完成,您将不会使用 ECS 服务定义,而只是使用任务。 您可以独立运行任务,无需打包为 ECS 服务。

见:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_run_task.html

如果您使用的是 ECS CLI,则还有 ecs-cli compose create。因此,您将使用那个调用,而不是同时创建一个 ECS 服务。

然后您可以使用 AWS Lambda 并发送 ecs:RunTask AWS API 调用来调用/启动 ECS 任务。