Confuso dal requisito di ruolo di ECS


13

Sto cercando di impostare un ECS ma finora ho riscontrato alcuni problemi di autorizzazione per i quali ho già creato alcune domande su questo forum.

Penso di essere rimasto bloccato finora perché onestamente non riesco a scoprire tutti questi requisiti di ruolo in un posto conciso.

Sembra che debba definire almeno due ruoli:

1) Contenitore ECS http://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html

2) Compito ECS http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#enable_task_iam_roles

È corretto?

Mi sono perso qualcosa? Esistono requisiti IAM speciali?


Non è chiaro quale sia il problema. Puoi modificare la tua domanda per includere dettagli?
SEE

Risposte:


24

L'unico ruolo necessario è il ruolo IAM dell'istanza del contenitore . Questo ruolo consente all'agente ECS (in esecuzione sull'istanza EC2) di comunicare con Amazon ECS.

Esistono altri cinque ruoli che potresti trovare utili per diversi scopi:

  • Ruolo collegato al servizio ECS (SLR) : questo ruolo consente ad Amazon ECS di gestire una varietà di risorse AWS associate alla tua applicazione per tuo conto. Quando si utilizza un servizio , questo ruolo consente ad Amazon ECS di gestire il bilanciamento del carico (Bilanciatori di carico classici, Bilanciatori di carico di applicazioni e Bilanciatori di carico di rete) e l'individuazione del servizio (con Route 53 ) associati al proprio servizio. Quando si utilizza la rete di attività , questo ruolo consente ad Amazon ECS di collegare e scollegare le interfacce di rete elastica (ENI) alle attività. Questo ruolo è richiesto quando si utilizza AWS Fargate .
  • Ruolo IAM di Service Scheduler - Prima dell'introduzione del ruolo ECS Service-Linked (SLR), questo ruolo veniva utilizzato insieme a un servizio per consentire ad Amazon ECS di gestire il bilanciamento del carico associato al servizio. Se si desidera utilizzare un bilanciamento del carico elastico (sia un bilanciamento del carico classico, un bilanciamento del carico dell'applicazione o un bilanciamento del carico di rete) con il proprio servizio ECS, è possibile utilizzare questo ruolo. Ora che la SLR ECS è disponibile, puoi utilizzare uno dei due ruoli, ma potresti comunque voler utilizzare questo ruolo se desideri limitare le autorizzazioni concesse ad Amazon ECS per coprire specifiche risorse di bilanciamento del carico.
  • Ruolo IAM con ridimensionamento automatico : questo ruolo viene utilizzato insieme a un servizio e consente al servizio di ridimensionamento automatico delle applicazioni di aumentare o ridurre il conteggio desiderato del servizio.
  • Ruolo IAM attività : questo ruolo può essere utilizzato con qualsiasi attività (incluse le attività avviate da un servizio ). Questo ruolo è molto simile al profilo di un'istanza EC2 , ma consente di associare le autorizzazioni a singole attività anziché all'istanza EC2 sottostante che ospita tali attività. Se si esegue una serie di applicazioni diverse nel cluster ECS con diverse autorizzazioni richieste, è possibile utilizzare il ruolo Task IAM per concedere autorizzazioni specifiche per ciascuna attività anziché garantire che ogni istanza EC2 nel cluster disponga di un insieme combinato di autorizzazioni che qualsiasi l'applicazione avrebbe bisogno.
  • Ruolo di esecuzione dell'attività : questo ruolo è richiesto quando si utilizza AWS Fargate e sostituisce il ruolo IAM dell'istanza del contenitore , che non è disponibile per il FARGATEtipo di avvio. Questo ruolo consente ad AWS Fargate di estrarre le immagini del contenitore da Amazon ECR e di inoltrare i registri ai registri Amazon CloudWatch . Questo ruolo viene anche utilizzato (sia sul tipo di avvio Fargate che su quello EC2) per abilitare l'autenticazione del registro privato e i segreti di AWS Secrets Manager e AWS Systems Manager Parameter Store .

1

Oltre a questa ottima spiegazione di @ samuel-karp, oggi ho riscontrato un problema durante la migrazione dal classico ELB all'ALB in combinazione con il servizio personalizzato task_role_arnper i servizi ECS.

Anche se ho seguito le istruzioni descritte dietro il link Task IAM role, l'errore era

Impossibile assumere il ruolo e convalidare targetGroupArn specificato. Verificare che il ruolo del servizio ECS che viene passato disponga delle autorizzazioni appropriate.

Il fatto è che il servizio sembra registrarsi al bilanciamento del carico. Ha funzionato solo quando ho scambiato il preside da ecs.amazonaws.coma

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.