Ich versuche, ein ECS einzurichten, aber bisher habe ich ein paar Berechtigungsprobleme festgestellt, für die ich in diesem Forum bereits einige Fragen erstellt habe.
Ich glaube, ich stecke bisher fest, weil ich ehrlich gesagt nicht alle diese Rollenanforderungen an einem Ort genau herausfinden kann.
Es scheint, als müsste ich mindestens zwei Rollen definieren:
1) ECS-Container http://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html
2) ECS-Task http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#enable_task_iam_roles
Ist es richtig?
Habe ich etwas verpasst? Gibt es spezielle IAM-Anforderungen?
amazon-iam
amazon-ecs
Anthony Kong
quelle
quelle
Antworten:
Die einzige erforderliche Rolle ist die Containerinstanz-IAM-Rolle . Mit dieser Rolle kann der ECS-Agent (der auf Ihrer EC2-Instanz ausgeführt wird) mit Amazon ECS kommunizieren.
Es gibt fünf weitere Rollen, die Sie für verschiedene Zwecke ebenfalls nützlich finden können:
FARGATE
. Mit dieser Rolle kann AWS Fargate Ihre Container-Bilder aus Amazon ECR abrufen und Ihre Protokolle an Amazon CloudWatch Logs weiterleiten . Diese Rolle wird auch verwendet (bei den Starttypen Fargate und EC2), um die Authentifizierung und Geheimnisse der privaten Registrierung für AWS Secrets Manager und AWS Systems Manager Parameter Store zu aktivieren .quelle
Zusätzlich zu dieser sehr guten Erklärung von @ samuel-karp stieß ich heute auf ein Problem bei der Migration von der klassischen ELB zur ALB in Kombination mit benutzerdefinierten
task_role_arn
ECS-Diensten.Obwohl ich die hinter dem Link beschriebenen Anweisungen befolgt habe
Task IAM role
, war der FehlerDie Sache ist, dass sich der Dienst anscheinend beim Load Balancer registriert. Es hat nur geklappt, als ich den Auftraggeber von
ecs.amazonaws.com
nach getauscht habe"Principal": { "Service": "ecs-tasks.amazonaws.com" }
quelle