Quiero permitir que las tareas de Amazon Elastic Container Service (Amazon ECS) extraigan imágenes de un repositorio de imágenes de Amazon Elastic Container Registry (Amazon ECR).
Descripción corta
Para acceder al repositorio de imágenes de Amazon ECR con tu tipo de inicio, elige una de las siguientes opciones:
- Tipos de inicio de Amazon Elastic Compute Cloud (Amazon EC2): Proporciona permisos al ecsTaskExecutionRole o al perfil de instancia asociado a la instancia de contenedor. Se recomienda conceder permisos de Amazon ECR a ecsTaskExecutionRole. Si proporcionas permisos tanto a la instancia como al rol, ecsTaskExecutionRole tiene prioridad.
- Tipos de inicio de AWS Fargate: Proporciona los permisos de tu rol de ejecución de tareas de Amazon ECS para acceder al repositorio de imágenes de Amazon ECR.
Resolución
Tipos de inicio de EC2
Para acceder al repositorio de imágenes de Amazon ECR para los tipos de inicio de EC2, sigue estos pasos:
- Abre la consola de AWS Identity and Access Management (IAM).
- En el panel de navegación, elige Roles y, a continuación, Crear rol.
- Selecciona el tipo de rol Servicio de AWS.
- En la sección Caso de uso, elige EC2. Después, selecciona Siguiente.
- Selecciona la política administrada AmazonEC2ContainerServiceforEC2Role predeterminada y, a continuación, selecciona Siguiente.
Nota: La política AmazonEC2ContainerServiceforEC2Role también te permite registrar instancias de contenedor en tu clúster de ECS y activar las secuencias de registro en Amazon CloudWatch.
- (Opcional) Agrega etiquetas a la política y, a continuación, elige Siguiente.
- En Nombre del rol, introduce un nombre único (como ECSRoleforEC2) y, a continuación, elige Crear rol.
- Utiliza la imagen de máquina de Amazon (AMI) más reciente de Amazon Linux optimizada para Amazon ECS para iniciar una nueva instancia de contenedor.
- Adjunta el rol a la nueva instancia de contenedor.
- Crea una definición de tarea.
Importante: En la sección Contenedor de la definición de la tarea, en URI de imagen, especifica la imagen ECR aws_account_id.dkr.ecr.region.amazonaws.com/repository:tag.
- Utiliza tu definición de tarea para ejecutar una tarea o un servicio.
- (Opcional) Si no quieres conceder permisos a un perfil de instancia, concede permisos al rol de ejecución de tareas de ECS. A continuación, especifica ecsTaskExecutionRole en la definición de la tarea y utiliza esta definición de tarea para ejecutar una tarea o un servicio.
Tipos de inicio de Fargate
Un rol de ejecución de tareas de Amazon ECS se crea automáticamente en la experiencia de primera ejecución de la consola de Amazon ECS. Si no puedes encontrar el rol o este se ha eliminado, sigue estos pasos:
- Abre la consola de IAM.
- En el panel de navegación, elige Roles y, a continuación, Crear rol.
- En el apartado Seleccionar el tipo de entidad de confianza, selecciona Elastic Container Service.
- En Seleccione tu caso de uso, elige Tarea de servicio de Elastic Container y, a continuación, elige Siguiente.
- En la sección Asociar la política de permisos, busca AmazonECSTaskExecutionRolePolicy. Selecciona la política y, a continuación, elige Siguiente.
Nota: Esta política también proporciona permisos para usar el controlador de registro awslogs.
- Para el Nombre de rol, ingresa ecsTaskExecutionRole y, a continuación, elige Crear rol.
- Crea una definición de tarea.
Importante: En la sección Contenedor de la definición de la tarea, en URI de imagen, especifica la imagen ECR aws_account_id.dkr.ecr.region.amazonaws.com/repository:tag. Además, especifica el rol de IAM que has creado.
- Utiliza tu definición de tarea para ejecutar una tarea o un servicio.
Información relacionada
Uso de imágenes de Amazon ECR con Amazon ECS