如何强制仅从 AWS Lambda 启动 Fargate 服务
How to force fargate service to be launched only from AWS Lambda
我创建了一个打印 hello world 的简单任务。我创建了一个 ECR 映像,docker 撰写和 ecs-params.yml.
我得到了打印的 cloudwatch 日志,但任务每分钟都在启动,我猜这是由于 REPLICA 服务类型。
我怎样才能阻止这种情况发生,我只想从 lambda 启动这个 Fargate 任务,当它完成时我不想重新启动它。
提前致谢
如果您希望 ECS 启动一次性/一次性/独立任务并让它 运行 直到它完成,您不会使用 ECS 服务定义,而只是一个任务。
您可以 运行 单独执行任务,而无需打包为 ECS 服务。
参见:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_run_task.html
如果您使用的是 ECS CLI,那么还有 ecs-cli compose create
。因此,您将使用 that 调用,而 not 调用也会同时创建 ECS 服务。
然后您可以使用 AWS Lambda 并将 ecs:RunTask
AWS API 调用发送到 invoke/start ECS 任务。
我创建了一个打印 hello world 的简单任务。我创建了一个 ECR 映像,docker 撰写和 ecs-params.yml.
我得到了打印的 cloudwatch 日志,但任务每分钟都在启动,我猜这是由于 REPLICA 服务类型。
我怎样才能阻止这种情况发生,我只想从 lambda 启动这个 Fargate 任务,当它完成时我不想重新启动它。
提前致谢
如果您希望 ECS 启动一次性/一次性/独立任务并让它 运行 直到它完成,您不会使用 ECS 服务定义,而只是一个任务。 您可以 运行 单独执行任务,而无需打包为 ECS 服务。
参见:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_run_task.html
如果您使用的是 ECS CLI,那么还有 ecs-cli compose create
。因此,您将使用 that 调用,而 not 调用也会同时创建 ECS 服务。
然后您可以使用 AWS Lambda 并将 ecs:RunTask
AWS API 调用发送到 invoke/start ECS 任务。