运行 一个 AWS ECS 任务

Run an AWS ECS task

我在 aws 中定义了一个 ECS fargate 任务。我想 运行 根据需要偶尔使用它。

有没有简单的方法来做到这一点?

我有 terraform 代码将其定义为已禁用的计划任务。每当我想运行它的时候,我的程序是:

  1. 修改 terraform 文件以启用任务并将计划执行时间设置为从现在开始五分钟。
  2. 部署 terraform 并等待任务 运行。
  3. 撤消 Terraform 更改并重新部署。

这个过程可以,但是很不方便。 运行 一次性任务肯定有更好的方法吗?我试过通过 aws 网络控制台,但情况更糟。

您可以尝试使用 Lambda。有一个项目,我使用 boto3 编写了 Python 代码以 运行 AWS 中的许多不同任务,我很确定 Lambda 可以解决您的问题。

如果你想坚持使用调度程序来 运行 任务,那么像你当前的进程这样的东西是实现它的唯一方法。然而,听起来您根本不想 运行 按既定时间表执行任务,而是只想在需要时 运行 它。

触发 ECS 任务到 运行 的最直接方法是通过 RunTask API, which you can trigger from the AWS CLI (which you could wrap in a shell script), or one of the AWS SDKs