web-dev-qa-db-ja.com

AWS Elastic Container Service(ECS)実行ロールとタスクロールの違い

私はAWSのCloudFormationを使用していますが、最近、ポリシーを作成してアタッチしたロールがECSタスクからメッセージをSimple Queue Service(SQS)キューに送信できなかった理由を解明するためにかなりの時間を費やしました。

ポリシーをExecution Roleにアタッチする必要があったときに、SQS許可ポリシーをTask Roleに誤ってアタッチしていたことに気付きました。 2つの役割の違いを説明する適切なドキュメントが見つかりません。それらの2つのCloudFormationのドキュメントは次のとおりです。 ExecutionRole および TaskRole

25
johnklawlor

ドキュメント を参照すると、実行ロールが、イメージのプルやクラウドウォッチでのアプリケーションログの保存などのECSアクションを実行するIAMロールであることがわかります。

TaskRoleは、タスク自体が使用するIAMロールです。たとえば、コンテナがS3、SQSなどの他のAWSサービスを呼び出す場合、これらのアクセス許可はTaskRoleでカバーする必要があります。

ポイントをホームに戻すために、TaskRoleの代わりにコンテナインスタンスの構成ファイルでアクセスキーを使用できます。

29
mehtunguh