ECS Managed Instances のデーモンには専用の IAM ポリシーが必要
ECS Managed Daemons の検証中、デーモンタスクが一切起動せずインスタンスが REGISTERING のまま停滞する問題に遭遇した。デーモンなしならアプリタスクは正常に起動する。ログストリームも作成されず、サーキットブレーカーが ROLLBACK_SUCCESSFUL を返す状態だった。
原因の一つはインスタンスプロファイルにアタッチしたポリシーだった。従来の EC2 起動タイプで使う AmazonEC2ContainerServiceforEC2Role をアタッチしていたが、Managed Instances には専用の AmazonECSInstanceRolePolicyForManagedInstances が必要である。
# ❌ これではデーモンが起動しない
aws iam attach-role-policy --role-name ecsInstanceRole \
--policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role
# ✅ Managed Instances 専用ポリシー
aws iam attach-role-policy --role-name ecsInstanceRole \
--policy-arn arn:aws:iam::aws:policy/AmazonECSInstanceRolePolicyForManagedInstances公式ドキュメントにも明記されているが、既存の ECS 経験者ほど従来のポリシーを使いがちなハマりポイントだった。
