🐕
LambdaからECS Taskを起動する(Node.js)
LambdaからECS Taskを起動して、Lambda では扱えない時間が掛かる処理をECS Task に行わせる。
特定の条件で必要となる処理を、Lambda で検知して、 ECS Task で実行することを想定している。
const ecs = new AWS.ECS();
const taskResult = await ecs
.runTask({
cluster: ECS_CLUSTER,
taskDefinition: ECS_TASK_DEFINITION,
launchType: 'FARGATE',
count: 1,
networkConfiguration: {
awsvpcConfiguration: {
subnets: [ECS_SUBNET],
assignPublicIp: 'ENABLED',
},
},
})
.promise();
if (taskResult.failures != null) {
console.error(taskResult.failures);
}
実行するためには、lambda に次の権限を与える。
- ecs:RunTask
- iam:PassRole
参考にした記事
参考記事ではPythonだったが、Node.jsを扱うので記事を記載した。
Discussion