Comment autoriser les tâches Amazon ECS à extraire des images d'un référentiel d'images Amazon ECR ?

Lecture de 4 minute(s)
0

Comment autoriser des tâches Amazon Elastic Container Service (Amazon ECS) à extraire des images d'un référentiel d'images Amazon Elastic Container Registry (Amazon ECR) ?

Brève description

Choisissez l'une des options suivantes pour accéder au référentiel d'images Amazon ECR avec votre type de lancement :

  • Pour les types de lancements Amazon Elastic Compute Cloud (Amazon EC2), vous devez fournir des autorisations d'accès à ecsTaskExecutionRole ou au profil d'instance associé à l'instance de conteneur. Cependant, il est toujours recommandé de fournir des autorisations Amazon ECR à ecsTaskExecutionRole. Si des autorisations sont accordées à la fois à l'instance et au rôle, ecsTaskExecutionRole aura la priorité.
  • Pour les types de lancements AWS Fargate, vous devez autoriser votre rôle d'exécution de tâches Amazon ECS à accéder au référentiel d'images Amazon ECR.

Solution

Pour les types de lancements EC2

  1. Ouvrez la console AWS Identity and Access Management (IAM).
  2. Dans le volet de navigation, choisissez Roles (Rôles), puis Create role (Créer un rôle).
  3. Choisissez le type de fonction du service AWS.
  4. Dans la section Use Case (Cas d'utilisation), sélectionnez EC2. Ensuite, sélectionnez Next (Suivant).
  5. Choisissez la stratégie gérée AmazonEC2ContainerServiceforEC2Role par défaut, puis Next (Suivant).
    Remarque : la stratégie AmazonEC2ContainerServiceforEC2Role permet également d'enregistrer des instances de conteneur dans votre cluster ECS et d'activer les flux de journaux dans Amazon CloudWatch.
  6. Ajoutez des balises à votre stratégie, si vous le souhaitez, puis cliquez surNext (Suivant)
  7. Pour Role name (Nom du rôle), saisissez un nom unique (par exemple ECSRoleforEC2), puis choisissez Create role (Créer un rôle).
  8. Lancez une nouvelle instance de conteneur en utilisant l'image AMI Amazon Linux optimisée pour Amazon ECS la plus récente.
  9. Associez le rôle que vous avez créé à la nouvelle instance de conteneur.
  10. Créez une définition de tâche.
    Important : dans la section containerDefinitions de votre définition de tâche, spécifiez l'image ECR aws_account_id.dkr.ecr.region.amazonaws.com/repository:tag comme propriété d'image.
  11. Exécutez une tâche ou un service en utilisant la définition de tâche que vous avez créée à l'étape 10.
  12. (Facultatif) Si vous ne souhaitez pas accorder d'autorisations à un profil d'instance, accordez des autorisations au rôle d'exécution des tâches ECS. Exécutez ensuite une tâche ou un service en utilisant la définition de tâche que vous avez créée à l'étape 10.

Pour les types de lancements Fargate

Un rôle d'exécution de tâches Amazon ECS est automatiquement créé lors de la première exécution de la console Amazon ECS. Si vous ne trouvez pas le rôle ou que ce dernier a été supprimé, procédez comme suit :

  1. Ouvrez la console IAM.
  2. Dans le volet de navigation, choisissez Roles (Rôles), puis Create role (Créer un rôle).
  3. Dans la section Select type of trusted entity (Sélectionner le type d'entité de confiance), choisissez Elastic Container Service.
  4. Pour Select your use case (Sélectionner votre cas d'utilisation), choisissez Elastic Container Service Task (Tâche Elastic Container Service), puis Next (Suivant).
  5. Dans la section Attach permissions policy (Associer une stratégie d'autorisations), recherchez AmazonECSTaskExecutionRolePolicy, sélectionnez la stratégie, puis choisissez Next (Suivant).
    Remarque : cette stratégie fournit également les autorisations nécessaires pour utiliser le pilote de journal awslogs.
  6. Pour Role Name (Nom du rôle) saisissez ecsTaskExecutionRole, puis choisissez Create role (Créer un rôle).
  7. Créez une définition de tâche.
    Important : dans la section containerDefinitions de votre définition de tâche, spécifiez l'image ECR aws_account_id.dkr.ecr.region.amazonaws.com/repository:tag comme propriété d'image. Sélectionnez le rôle IAM créé à l’étape 6.
  8. Exécutez une tâche ou un service en utilisant la définition de tâche que vous avez créée à l'étape 7.

Votre tâche ou service peut désormais extraire des images du référentiel d'images Amazon ECR.


Informations connexes

Utilisation des images Amazon ECR avec Amazon ECS

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an