Próbuję skonfigurować ECS, ale do tej pory napotkałem kilka problemów z uprawnieniami, dla których już utworzyłem kilka pytań na tym forum.
Myślę, że do tej pory utknąłem, ponieważ szczerze mówiąc, nie jestem w stanie zwięźle znaleźć wszystkich wymagań dotyczących roli w jednym miejscu.
Wygląda na to, że muszę zdefiniować co najmniej dwie role:
1) Kontener ECS http://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html
2) Zadanie ECS http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#enable_task_iam_roles
Czy to jest poprawne?
Czy coś przegapiłem? Czy są jakieś specjalne wymagania dotyczące IAM?
amazon-iam
amazon-ecs
Anthony Kong
źródło
źródło
Odpowiedzi:
Jedyną niezbędną rolą jest rola IAM wystąpienia kontenera . Ta rola pozwala agentowi ECS (działającemu na instancji EC2) komunikować się z Amazon ECS.
Istnieje pięć innych ról, które mogą być również przydatne do różnych celów:
FARGATE
typu uruchamiania. Ta rola umożliwia AWS Fargate pobieranie obrazów kontenerów z Amazon ECR i przekazywanie dzienników do dzienników Amazon CloudWatch . Rola ta jest również stosowana (zarówno na Fargate i typami nośnych EC2), aby umożliwić prywatnym uwierzytelnienia rejestru i tajemnice z AWS Secrets Manager i AWS Systems Menedżer parametrów Store .źródło
Oprócz tego bardzo dobrego wyjaśnienia @ samuel-karp, dzisiaj napotkałem problem podczas migracji z klasycznego ELB do ALB w połączeniu z niestandardowymi
task_role_arn
dla usług ECS.Chociaż postępowałem zgodnie z instrukcjami opisanymi za linkiem
Task IAM role
, błąd byłChodzi o to, że usługa rejestruje się w module równoważenia obciążenia. Działało to tylko wtedy, gdy wymieniłem dyrektora z
ecs.amazonaws.com
na"Principal": { "Service": "ecs-tasks.amazonaws.com" }
źródło