Mylić z wymogiem roli ECS


14

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?


Nie jest jasne, na czym polega problem. Czy możesz edytować swoje pytanie, aby uwzględnić szczegóły?
— EEAA

Odpowiedzi:


25

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:

  • Rola związana z usługą ECS (SLR) - Ta rola umożliwia Amazon ECS zarządzanie w Twoim imieniu różnorodnymi zasobami AWS powiązanymi z Twoją aplikacją. Podczas korzystania z usługi ta rola umożliwia Amazon ECS zarządzanie modułem równoważącym obciążenie (klasyczne moduły równoważące, moduły równoważące obciążenie aplikacji i równoważącym obciążenie sieciowe) oraz wykrywanie usługi (z trasą 53 ) związaną z usługą. Podczas korzystania z sieci zadań ta rola umożliwia Amazon ECS dołączanie i odłączanie elastycznych interfejsów sieciowych (ENI) do twoich zadań. Ta rola jest wymagana podczas korzystania z AWS Fargate .
  • Rola IAM programu planującego usługi - Przed wprowadzeniem roli ECS Service-Linked (SLR), rola ta była używana w połączeniu z usługą, aby umożliwić Amazon ECS zarządzanie modułem równoważącym obciążenie związanym z twoją usługą. Jeśli chcesz korzystać z usługi elastycznego równoważenia obciążenia (klasycznego równoważenia obciążenia, równoważenia obciążenia aplikacji lub równoważenia obciążenia sieciowego) z usługą ECS, możesz użyć tej roli. Teraz, gdy dostępna jest lustrzanka ECS, możesz używać jednej z dwóch ról, ale nadal możesz chcieć skorzystać z tej roli, jeśli chcesz ograniczyć uprawnienia przyznane Amazon ECS na pokrycie określonych zasobów modułu równoważenia obciążenia.
  • Rola automatycznego skalowania IAM - ta rola jest używana w połączeniu z usługą i umożliwia usłudze automatycznego skalowania aplikacji skalowanie żądanej liczby usług do wewnątrz lub na zewnątrz.
  • Rola zadania IAM - tej roli można używać z dowolnym zadaniem (w tym zadaniami uruchamianymi przez usługę ). Ta rola jest bardzo podobna do profilu instancji EC2 , ale pozwala powiązać uprawnienia z poszczególnymi zadaniami, a nie z bazową instancją EC2, która obsługuje te zadania. Jeśli uruchamiasz wiele różnych aplikacji w klastrze ECS z różnymi wymaganymi uprawnieniami, możesz użyć roli Zadanie IAM, aby udzielić określonych uprawnień do każdego zadania, zamiast upewniać się, że każda instancja EC2 w klastrze ma połączony zestaw uprawnień, które dowolne aplikacja będzie potrzebować.
  • Rola wykonania zadania - ta rola jest wymagana podczas korzystania z AWS Fargate i zastępuje rolę IAM wystąpienia kontenera , która jest niedostępna dla FARGATEtypu 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 .

1

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_arndla usług ECS.

Chociaż postępowałem zgodnie z instrukcjami opisanymi za linkiem Task IAM role, błąd był

Nie można przyjąć roli i sprawdzić poprawności określonego targetGroupArn. Sprawdź, czy przekazywana rola usługi ECS ma odpowiednie uprawnienia.

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.comna

"Principal": { "Service": "ecs-tasks.amazonaws.com" }

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.