tl;dr;
ECS のタスクスケジューリングで
FailedInvocations
が発生するのは、CloudWatch eventsでの実行ロールに権限が足りないから。その対処方法をまとめる。
IAM ロール
I AM ロールを作成する。
今回は ecsEventsRole
という名前にした。
作成したロールの信頼関係を編集。
cloudwatch events から実行できるよう権限を付与。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
以下の通り貼り付ける。
作成したroleに`AmazonEC2ContainerServiceEventsRole` ポリシーをアタッチする。
ECS task scheduleで作成したロールをアタッチ
今回作成した ecsEventsRole を割り当てる。
動作確認
CloudWatch メトリクスを確認すると、
FailedInvocations が解消し Invocations になった。