Je souhaite autoriser les 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
Pour accéder au référentiel d’images Amazon ECR avec votre type de lancement, choisissez l’une des options suivantes :
- Types de lancement Amazon Elastic Compute Cloud (Amazon EC2) : accordez des autorisations au rôle ecsTaskExecutionRole ou au profil d'instance associé à l'instance de conteneur. Il est recommandé d’accorder des autorisations Amazon ECR à ecsTaskExecutionRole. Si vous accordez des autorisations à la fois à l’instance et au rôle, ecsTaskExecutionRole est prioritaire.
- Types de lancement AWS Fargate : accordez à votre rôle d'exécution de tâche Amazon ECS les autorisations nécessaires pour accéder au référentiel d'images Amazon ECR.
Résolution
Types de lancement EC2
Pour accéder au référentiel d'images Amazon ECR pour les types de lancement EC2, procédez comme suit :
- Ouvrez la console Gestion des identités et des accès AWS (AWS IAM).
- Dans le volet de navigation, choisissez Rôles, puis Créer un rôle.
- Choisissez le type de rôle Service AWS.
- Dans la section Cas d'utilisation, choisissez EC2. Choisissez ensuite Suivant.
- Sélectionnez la politique gérée par défaut AmazonEC2ContainerServiceforEC2Role, puis Suivant.
Remarque : la politique AmazonEC2ContainerServiceforEC2Role vous permet également d’enregistrer des instances de conteneurs dans votre cluster ECS et d’activer les flux de journaux dans Amazon CloudWatch.
- (Facultatif) Ajoutez des balises à votre politique, puis sélectionnez Suivant.
- Dans Nom du rôle, saisissez un nom unique, comme ECSRoleforEC2, puis cliquez sur Créer un rôle.
- Utilisez la dernière Amazon Linux Amazon Machine Image (AMI) optimisée pour Amazon ECS pour lancer une nouvelle instance de conteneur.
- Attachez le rôle à la nouvelle instance de conteneur.
- Créez une définition de tâche.
**Important :**Dans la section Conteneur de votre définition de tâche, pour l'URI de l'image, spécifiez l'image ECR aws_account_id.dkr.ecr.region.amazonaws.com/repository:tag.
- Utilisez votre définition de tâche pour exécuter une tâche ou un service.
- (Facultatif) Si vous ne souhaitez pas accorder des autorisations à un profil d’instance, vous pouvez accorder des autorisations au rôle d’exécution des tâches ECS. Spécifiez ensuite ecsTaskExecutionRole dans votre définition de tâche et utilisez cette définition de tâche pour exécuter une tâche ou un service.
Types de lancement Fargate
Un rôle d’exécution de tâche Amazon ECS est automatiquement créé dans l’expérience de première exécution de la console Amazon ECS. Si vous ne trouvez pas le rôle ou s'il est supprimé, procédez comme suit :
- Ouvrez la console IAM.
- Dans le volet de navigation, choisissez Rôles, puis Créer un rôle.
- Dans la section Sélectionner le type d’entité de confiance, choisissez Elastic Container Service.
- Dans Sélectionner votre cas d’utilisation, choisissez Tâche Elastic Container Service, puis cliquez sur Suivant.
- Dans la section Attacher la stratégie d’autorisations, recherchez AmazonECSTaskExecutionRolePolicy. Sélectionnez la stratégie, puis cliquez sur Suivant.
Remarque : cette stratégie fournit également des autorisations pour utiliser le pilote de journal awslogs.
- Pour Nom de rôle, saisissez ecsTaskExecutionRole, puis cliquez sur Créer un rôle.
- Créez une définition de tâche.
**Important :**Dans la section Conteneur de votre définition de tâche, pour l'URI de l'image, spécifiez l'image ECR aws_account_id.dkr.ecr.region.amazonaws.com/repository:tag. Spécifiez également le rôle IAM que vous avez créé.
- Utilisez votre définition de tâche pour exécuter une tâche ou un service.
Informations connexes
Utilisation d’images Amazon ECR avec Amazon ECS