Pregunta:
Estoy intentando configurar un ECS, pero hasta ahora me he encontrado con algunos problemas de permisos para los que ya he creado algunas preguntas en este foro.
Creo que estoy estancado hasta ahora porque, honestamente, no puedo encontrar todos estos requisitos de roles en un solo lugar de manera concisa.
Parece que necesito definir al menos dos roles:
1) Contenedor de ECS http://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html
2) Tarea de ECS http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#enable_task_iam_roles
¿Es correcto?
¿Me perdí algo? ¿Existe algún requisito especial de IAM?
Respuesta:
El único rol necesario es el rol de IAM de instancia de contenedor . Esta función permite que el agente de ECS (que se ejecuta en su instancia EC2) se comunique con Amazon ECS.
Hay otros cinco roles que también pueden resultarle útiles, para diferentes propósitos:
- Rol de ECS vinculado al servicio (SLR) : este rol permite que Amazon ECS administre una variedad de recursos de AWS asociados con su aplicación en su nombre. Cuando se usa un servicio , esta función permite a Amazon ECS administrar el balanceador de carga (Classic Load Balancers, Application Load Balancers y Network Load Balancers) y el descubrimiento de servicios (con Route 53 ) asociados con su servicio. Al utilizar redes de tareas , esta función permite a Amazon ECS conectar y desconectar interfaces de red elásticas (ENI) a sus tareas. Esta función es necesaria cuando se utiliza AWS Fargate .
- Rol de IAM del programador de servicios : antes de la introducción del rol vinculado al servicio (SLR) de ECS, este rol se usaba junto con un servicio para permitir que Amazon ECS administrara el equilibrador de carga asociado con su servicio. Si desea utilizar un Elastic Load Balancer (ya sea un Classic Load Balancer, un Application Load Balancer o un Network Load Balancer) con su servicio ECS, puede usar este rol. Ahora que la SLR de ECS está disponible, puede usar cualquiera de los dos roles, pero es posible que aún desee usar este rol si desea restringir los permisos que se otorgan a Amazon ECS para cubrir recursos específicos del equilibrador de carga.
- Función de IAM de Auto Scaling : esta función se utiliza junto con un servicio y permite que el servicio de Auto Scaling de aplicaciones escale el recuento deseado de su servicio hacia adentro o hacia afuera.
- Función de IAM de tareas : esta función se puede utilizar con cualquier tarea (incluidas las tareas iniciadas por un servicio ). Esta función es muy similar a un perfil de instancia EC2 , pero le permite asociar permisos con Tareas individuales en lugar de con la instancia EC2 subyacente que aloja esas Tareas. Si está ejecutando una cantidad de aplicaciones diferentes en su clúster de ECS con diferentes permisos requeridos, puede usar el rol de IAM de tareas para otorgar permisos específicos a cada tarea en lugar de asegurarse de que cada instancia de EC2 en su clúster tenga el conjunto combinado de permisos que cualquier la aplicación necesitaría.
- Función de ejecución de tareas : esta función es necesaria cuando se utiliza AWS Fargate y reemplaza la función de IAM de instancia de contenedor , que no está disponible para el tipo de lanzamiento de
FARGATE
. Esta función permite a AWS Fargate extraer las imágenes de su contenedor de Amazon ECR y reenviar sus registros a Amazon CloudWatch Logs . Esta función también se utiliza (en los tipos de lanzamiento Fargate y EC2) para habilitar la autenticación de registros privados y los secretos de AWS Secrets Manager y AWS Systems Manager Parameter Store .