EBS ボリュームを使用している ECS タスクを停止する際に DEPROVISIONING 状態でスタックする理由を教えてください
困っていた内容
EBS ボリュームを使用している ECS タスクを停止しましたが、タスクが DEPROVISIONING 状態でスタックして削除されていません。
EBS ボリュームを使用している ECS タスクを停止する際に DEPROVISIONING 状態でスタックする理由を教えてください。
どう対応すればいいの?
ECS インフラストラクチャロールが削除されている、または権限が不足していることが原因であると思われます。
Amazon ECS インフラストラクチャ IAM ロール - Amazon Elastic Container Service
Amazon ECS がタスクにアタッチされた Amazon EBS ボリュームを管理するために ECS インフラストラクチャロールを使用している場合は、Amazon EBS ボリュームを使用するタスクを停止する前に、次の点を確認してください。
- ロールが削除されていません。
- ロールの信頼ポリシーは、Amazon ECS アクセス (ecs.amazonaws.com) を削除するように変更されていません。
- マネージドポリシー AmazonECSInfrastructureRolePolicyForVolumes は削除されていません。ロールのアクセス許可を変更する必要がある場合は、ボリュームを削除するために、少なくとも ec2:DetachVolume、ec2:DeleteVolume、ec2:DescribeVolumes を残してください。
Amazon EBS ボリュームがアタッチされたタスクを停止する前にロールを削除または変更すると、タスクが DEPROVISIONING で停止し、関連する Amazon EBS ボリュームは削除されません。Amazon ECS は、必要なアクセス許可が回復するまで、定期的に自動的に再試行してタスクを停止し、ボリュームを削除します。DescribeTasks API を使用して、タスクのボリュームアタッチ状態と関連するステータス理由を表示できます。
上記ドキュメントに記載の通り、ECS インフラストラクチャロールが削除されている場合や、必要な権限が付与されていない場合にはタスクが DEPROVISIONING でスタックします。
ECS インフラストラクチャロールを削除している場合には同名、同ポリシーでロールを再作成する方法をお試しください。
また、権限が不足している場合には上記ドキュメントに記載されている権限を付与する方法をお試しください。