Amazon ECS タスクに Amazon ECR イメージリポジトリからイメージを取得することを許可する方法を教えてください。

最終更新日: 2019 年 7 月 24 日

Amazon Elastic Container Service (Amazon ECS) タスクに、Amazon Elastic Container Registry (Amazon ECR) イメージリポジトリからイメージを取得させる方法を教えてください。

簡単な説明

起動タイプで Amazon ECR イメージリポジトリにアクセスするには、次のいずれかのオプションを選択してください。

  • Amazon Elastic Compute Cloud (Amazon EC2) 起動タイプの場合、コンテナインスタンスに関連付けられたインスタンスプロファイルへのアクセス許可を付与する必要があります。
  • AWS Fargate 起動タイプの場合、Amazon ECR イメージリポジトリにアクセスするための Amazon ECS タスク実行ロールアクセス許可を付与する必要があります。

解決方法

EC2 起動タイプの場合

  1. AWS Identity and Access Management (IAM) コンソールを開きます。
  2. ナビゲーションペインで、[ロール]、[ロールの作成] を順に選択します。
  3. [AWS のサービス] ロールタイプを選択してから、[Elastic Container Service] を選択します。
  4. [ユースケースの選択] セクションで、[Elastic Container Service の EC2 ロール] を選択してから [次へ: アクセス許可] を選択します。
  5. デフォルトの AmazonEC2ContainerServiceforEC2Role 管理ポリシーを選択してから、[次へ: タグ] を選択します。
    注: AmazonEC2ContainerServiceforEC2Role ポリシー を使用すると、ECS クラスターにコンテナインスタンスを登録し、Amazon CloudWatch でログストリームを有効にすることもできます。
  6. 必要に応じてポリシーにタグを追加してから、[次へ: 確認] を選択します。
  7. [ロール名] に固有の名前 (ECSRoleforEC2 など) を入力してから、[ロールの作成] を選択します。
  8. 最新の Amazon ECS に最適化された Amazon Linux AMI を使用して、新しいコンテナインスタンスを起動します。
  9. 作成したロールを新しいコンテナインスタンスにアタッチします
  10. タスク定義を作成します
    重要: タスク定義の [containerDefinitions] セクションで、ECR イメージ aws_account_id.dkr.ecr.region.amazonaws.com/repository:tag を画像プロパティとして指定します。
  11. 手順 10 で作成したタスク定義を使用してタスクまたはサービスを実行します。

Fargate 起動タイプの場合

Amazon ECS タスク実行ロールは、Amazon ECS コンソールの初回実行時に自動的に作成されます。ロールが見つからないかロールが削除されている場合は、以下の手順を実行してください。

  1. [IAM コンソール] を開きます。
  2. ナビゲーションペインで、[ロール]、[ロールの作成] を順に選択します。
  3. [信頼できるエンティティの種類の選択] セクションで、[Elastic Container Service] を選択します。
  4. [ユースケースの選択] では、[Elastic Container Service タスク] を選択してから [次へ: アクセス許可] を選択します。
  5. [アクセス許可ポリシーのアタッチ] セクションで AmazonECSTaskExecutionRolePolicy を検索し、そのポリシーを選択してから [次へ: 確認] を選択します。
    注: このポリシーは、awslogs ログドライバー を使用するための許可も提供します。
  6. [ロール名] に [ecsTaskExecutionRole] と入力してから、[ロールの作成] を選択します。
  7. タスク定義を作成します
    重要: タスク定義の [containerDefinitions] セクションで、ECR イメージ aws_account_id.dkr.ecr.region.amazonaws.com/repository:tag を画像プロパティとして指定します。
  8. 手順 7 で作成したタスク定義を使用してタスクやサービスを実行します。

これでタスクやサービスは、Amazon ECR イメージリポジトリからイメージを取得できるようになりました。


この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合