ほたてメモ

日々学んだことをメモメモ

Amazon EventBridge Scheduler ユニバーサルターゲットの設定

TerraformでEventBridge Schedulerを利用してECSを操作しようと思ったときに困ったのでメモ。

targetのarnについて

ユニバーサルターゲットの場合、targetのarnはService ARNにする必要がある。

ドキュメントにも書いてあったが、最初ECS Serviceのarnを設定していて間違えた。

registry.terraform.io

Service ARNについて

Service ARNの一覧は下記に記載がある。

docs.aws.amazon.com

ECSの場合は

arn:aws:scheduler:::aws-sdk:ecs:[apiAction]

となっている。

apiActionのフォーマットが不明だったが、例えば UpdateService の場合は、updateService と最初を小文字にする必要があった。

今回は

arn:aws:scheduler:::aws-sdk:ecs:updateService

で良かった。

inputに渡すjson

jsonは、最初 aws ecs update-service --generate-cli-skeleton で生成したjsonを加工して設定してみたが、この場合キーの先頭は小文字になる。

{
  "cluster" : xxxx,
  "service" : xxxx,
  "desiredCount" : 0
}

これではダメで、実際には下記のように先頭を大文字にする必要があった。

{
  "Cluster" : xxxx,
  "Service" : xxxx,
  "DesiredCount" : 0
}