@shinyaz

ECS Managed Instances のデーモンには専用の IAM ポリシーが必要

約1分

ECS Managed Daemons の検証中、デーモンタスクが一切起動せずインスタンスが REGISTERING のまま停滞する問題に遭遇した。デーモンなしならアプリタスクは正常に起動する。ログストリームも作成されず、サーキットブレーカーが ROLLBACK_SUCCESSFUL を返す状態だった。

原因の一つはインスタンスプロファイルにアタッチしたポリシーだった。従来の EC2 起動タイプで使う AmazonEC2ContainerServiceforEC2Role をアタッチしていたが、Managed Instances には専用の AmazonECSInstanceRolePolicyForManagedInstances が必要である。

Terminal
# ❌ これではデーモンが起動しない
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 経験者ほど従来のポリシーを使いがちなハマりポイントだった。

共有する

田原 慎也

田原 慎也

ソリューションアーキテクト @ AWS

AWS ソリューションアーキテクトとして金融業界のお客様を中心に技術支援をしており、クラウドアーキテクチャや AI/ML に関する学びをこのサイトで発信しています。このサイトの内容は個人の見解であり、所属企業の公式な意見や見解を代表するものではありません。