Amazon Elastic Container Service
開発者ガイド (API バージョン 2014-11-13)

CloudWatch イベント IAM ロール

Amazon ECS のスケジュールされたタスクを CloudWatch イベント のルールとターゲットで使用するには、CloudWatch イベント サービスに、Amazon ECS タスクを実行するアクセス権限が必要です。これらのアクセス権限は、CloudWatch イベント IAM ロール (ecsEventsRole) によって付与されます。

CloudWatch イベント ロールは、スケジュールされたタスクを設定すると AWS マネジメントコンソールで自動的に作成されます。詳細については、「タスクのスケジューリング (cron)」を参照してください。

AmazonEC2ContainerServiceEventsRole のポリシーを次に示します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:RunTask" ], "Resource": [ "*" ] } ] }

スケジュールされたタスクでタスク実行ロールの使用またはタスクロール上書きが必要な場合、各タスク実行ロールまたは CloudWatch IAM ロールに対するタスクロール上書きに iam:PassRole アクセス許可を追加する必要があります。タスクの実行ロールの詳細については、「Amazon ECS タスク実行 IAM ロール」を参照してください。

注記

タスク実行ロールまたはタスクロール上書きの完全 ARN を指定します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_name>" ] } ] }

以下の手順を使用して、アカウントにすでに CloudWatch イベント IAM ロールがあることを確認し、必要に応じて手動で作成します。

IAM コンソールで CloudWatch イベント IAM を確認するには

  1. https://console.aws.amazon.com/iam/ にある IAM コンソールを開きます。

  2. ナビゲーションペインで [Roles (ロール) ] を選択します。

  3. ロールのリストで ecsEventsRole を検索します。ロールが見つからない場合、次の手順を使用してロールを作成します。ロールが存在する場合は、そのロールを選択して、アタッチされているポリシーを表示します。

  4. [Permissions] を選択します。

  5. [管理ポリシー] セクションで、[AmazonEC2ContainerServiceEventsRole] 管理ポリシーがロールにアタッチされていることを確認します。ポリシーがアタッチされている場合、Amazon ECS サービスのロールが適切に構成されています。そうでない場合、次のサブステップに従ってポリシーをアタッチします。

    1. [Attach Policy] を選択します。

    2. [Filter] で、AmazonEC2ContainerServiceEventsRole と入力し、アタッチする利用可能なポリシーを絞り込みます。

    3. [AmazonEC2ContainerServiceEventsRole] ポリシーの左にあるチェックボックスをオンにし、[ポリシーのアタッチ] を選択します。

  6. [Trust Relationship]、[Edit Trust Relationship] を選択します。

  7. 信頼関係に以下のポリシーが含まれていることを確認します。信頼関係が以下のポリシーと一致する場合、[Cancel] を選択します。信頼関係が一致しない場合、ポリシーを [Policy Document] ウィンドウにコピーし、[Update Trust Policy] を選択します。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

CloudWatch イベント 用に IAM ロールを作成するには

  1. https://console.aws.amazon.com/iam/ にある IAM コンソールを開きます。

  2. ナビゲーションペインで [Roles] を選択した後、[Create role] を選択します。

  3. [信頼されたエンティティの種類を選択] セクションで、[Elastic Container Service] を選択します。[ユースケースの選択]、[Elastic Container Service タスク] を選択します。[Next: Permissions] を選択します。

  4. [アクセス権限ポリシーをアタッチする] セクションで、[AmazonEC2ContainerServiceEventsRole] ポリシー、[Next: Review (次の手順: 確認)] の順に選択します。

  5. [ロール名] で、ecsEventsRole と入力してロールに名前を付け、オプションで説明を入力してから、[ロールの作成] を選択します。

  6. ロール情報を確認し、[ロールの作成] を選択します。

タスク実行ロールのアクセス許可を CloudWatch イベント IAM ロールに追加するには

  1. https://console.aws.amazon.com/iam/ にある IAM コンソールを開きます。

  2. ナビゲーションペインで、[Policies]、[Create policy] の順に選択します。

  3. [JSON] を選択し、次のポリシーを貼り付けて、[ポリシーの確認] を選択します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_name>" ] } ] }
  4. [名前] に AmazonECSEventsTaskExecutionRole と入力し、オプションで説明を入力してから、[ポリシーの作成] を選択します。

  5. ナビゲーションペインで [Roles (ロール) ] を選択します。

  6. ロールの一覧で ecsEventsRole を検索し、ロールを選択してアタッチされたポリシーを表示します。

  7. [Attach policy] を選択します。

  8. [ポリシーのアタッチ] セクションで、[AmazonECSEventsTaskExecutionRole] ポリシーを選択し、[ポリシーのアタッチ] を選択します。