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

Date de la dernière mise à jour : 24/07/2019

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 au profil d'instance associé à l'instance de conteneur.
  • Pour les types de lancements Fargate AWS, 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 rôle service AWS puis Elastic Container Service.
  4. Dans la section Select your use case (Sélectionner votre cas d'utilisation), sélectionnez EC2 Role for Elastic Container Service (Rôle EC2 pour Elastic Container Service), puis Next : Permissions (Étape suivante : autorisations).
  5. Choisissez la stratégie gérée AmazonEC2ContainerServiceforEC2Role par défaut, puis Next: Tags (Étape suivante : balises).
    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 choisissez Next : Review (Étape suivante : vérification).
  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.

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 : Permissions (Étape suivante : autorisations).
  5. Dans la section Attach permissions policy (Associer une stratégie d'autorisations), recherchez AmazonECSTaskExecutionRolePolicy, sélectionnez la stratégie, puis choisissez Next : Review (Étapes suivante : vérification).
    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.
  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.


Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?