Beim Erstellen der Fargate-Aufgabe wird die Meldung „Fargate erfordert eine Aufgabendefinition, um eine Ausführungsrollen-ARN zu haben, um ECR-Bilder zu unterstützen“ angezeigt, obwohl die Rolle definiert ist

Beim Erstellen der Fargate-Aufgabe wird die Meldung „Fargate erfordert eine Aufgabendefinition, um eine Ausführungsrollen-ARN zu haben, um ECR-Bilder zu unterstützen“ angezeigt, obwohl die Rolle definiert ist

Ich versuche, eine sehr einfache Webanwendung auf AWS Fargate bereitzustellen.

Ich habe ein Docker-Image des Backends der Anwendung an ECR gesendet und versuche, eine Fargate-Aufgabendefinition für den Container einzurichten. Ich habe alle Eigenschaften der Aufgabe definiert, die Einrichtung ist ziemlich einfach, aber die Aufgabe wird nicht erstellt und ich erhalte immer den Fehler:

Ungültige Anforderung angegeben: TaskDefinition erstellen: Fargate erfordert, dass die Taskdefinition über eine Ausführungsrollen-ARN verfügt, um ECR-Bilder zu unterstützen. (Dienst: AmazonECS; Statuscode: 400; Fehlercode: ClientException; Anforderungs-ID: ; Proxy: null)" (RequestToken: , HandlerErrorCode: InvalidRequest)

Ich weiß, dass ich ein ECR-Image habe, und ich habe die von Fargate gewünschte IAM-Rolle erstellt und ausgewählt (mitdiese Dokumentation), aber es beschwert sich immer noch.

Ich hatte die Aufgabe ursprünglich mit dem Starttyp EC2 erstellt und es gab keine Probleme, entschied mich jedoch aus Kosten- und Einfachheitsgründen für den Starttyp Fargate.

Was muss ich noch tun?

Antwort1

Ich bin gerade auf dieses Problem gestoßen und konnte es mit AWS lösen. Anscheinend gibt es einen Fehler beim Hinzufügen der mit der IAM-Rolle verknüpften Berechtigungen, wenn die GUI für Aufgabendefinitionen verwendet wird.

Um dieses Problem zu beheben, können Sie zur Cloud-Formation gehen und dort die Konfigurationsdatei angeben. Dort sollten Sie Ihre fehlgeschlagenen Aufgabendefinitionen sehen. Klicken Sie auf den Stapel, der Ihrer Aufgabendefinition zugeordnet ist, und wählen SieAktualisieren/Vorlage im Designer bearbeiten.

Bearbeiten Sie das JSON und fügen Sie dies unter"TaskRoleArn": "your task role"

{
  […]
  "executionRoleArn" : "the-same-string-that-taskRoleArn-is-set-to"
  […]
}

Das sollte Ihr Problem lösen

Antwort2

Dies scheint ein Fehler in der neuen ECS-Benutzeroberfläche zu sein.

Wechseln Sie zurück zur alten Benutzeroberfläche, indem Sie die Option „Neue ECS-Erfahrung“ in der linken Seitenleiste deaktivieren, und es sollte funktionieren.

Antwort3

Die Schaltfläche „Aktualisieren“ ist bei mir deaktiviert. Irgendwelche Ideen, wie man sie aktivieren kann oder einen anderen Workaround? Ich konnte erst vor ein paar Tagen Fargate-Dienstdefinitionen erstellen, also habe ich Vorlagen von Cloud Formation

verwandte Informationen