Wie behebe ich Probleme im Zusammenhang mit AWS-Secrets-Manager-Secrets in Amazon ECS?
Wenn ich versuche, eine Aufgabe, die AWS-Secrets-Manager-Secrets verwendet, in Amazon Elastic Container Services (Amazon ECS) zu platzieren, erhalte ich eine Fehlermeldung.
Kurzbeschreibung
Wenn du in Amazon ECS keine Aufgabe mit einem Secrets-Manager-Secret platzierst, erhältst du möglicherweise eine der folgenden Fehlermeldungen:
„ResourceInitializationError error on AWS Fargate AccessDenied error on Amazon Elastic Compute Cloud (Amazon EC2)“
„The task is unable to retrieve secrets from Secrets Manager and fails.“
„ResourceInitializationError: unable to pull secrets or registry auth: execution resource retrieval failed: unable to retrieve secret from asm: service call has been retried 1 time(s): failed to fetch secret“
„AccessDeniedException: User: arn:aws:sts::XXXXXXXX:assumed-role/test-ecs-execution-role-no-secrets/XXXXXXXXXXX is not authorized to perform:“
Diese Fehlermeldungen treten aus einem der folgenden Gründe auf:
- Die Amazon-ECS-Aufgabenausführungsrolle verfügt nicht über die erforderlichen Berechtigungen für den Zugriff auf Secrets-Manager-Secrets.
- Secrets Manager kann das angegebene Secret nicht finden.
- Der Name des Secrets endet mit einem Bindestrich, gefolgt von sechs Zeichen, und du verwendest einen Teil des Amazon-Ressourcennamens (ARN), um nach einem Secret zu suchen.
- Es bestehen Probleme mit der Amazon Virtual Private Cloud (Amazon VPC)-Netzwerkkonfiguration.
Verwende das AWSSupport-TroubleshootECSTaskFailedToStart-Runbook, um Fehler bei Amazon-ECS-Aufgaben zu beheben, die nicht gestartet werden können. Lies dann die entsprechenden Schritte zur Behandlung des Problems.
Lösung
Voraussetzung: Stelle sicher, dass dein(e) AWS Identity and Access Management (IAM)-Benutzer:in oder deine IAM-Rolle über die erforderlichen Berechtigungen verfügt, um das Runbook zu verwenden. Weitere Informationen findest du im Abschnitt Erforderliche IAM-Berechtigungen von AWSSupport-TroubleshootECSTaskFailedToStart.
Verwende das AWSSupport-TroubleshootECSTaskFailedToStart-Runbook in derselben AWS-Region, in der sich auch deine Amazon-ECS-Cluster-Ressourcen befinden.
Verwende die zuletzt fehlgeschlagene Aufgaben-ID. Wenn die fehlgeschlagene Aufgabe Teil eines Amazon-ECS-Service ist, verwende die zuletzt fehlgeschlagene Aufgabe im Service. Die fehlgeschlagene Aufgabe muss während der Automatisierungsausführung in ECS:DescribeTasks sichtbar sein. Standardmäßig sind gestoppte Amazon-ECS-Aufgaben 1 Stunde lang sichtbar, nachdem sie den Status Angehalten erreicht haben.
Das AWS-Systems-Manager-Runbook ausführen
Gehe wie folgt vor:
- Öffne die Systems-Manager-Konsole.
- Wähle im Navigationsbereich Dokumente aus.
- Gib in der Suchleiste TroubleshootECSTaskFailedToStart ein.
- Wähle das Dokument AWSSupport-TroubleshootECSTaskFailedToStart aus.
- Wähle Automatisierung ausführen aus.
- Wähle Ausführen.
- Überprüfe nach Abschluss der Automatisierung die detaillierten Ergebnisse im Abschnitt Ausgaben und führe dann einen der folgenden manuellen Schritte zur Problembehandlung aus.
Die Berechtigungen für die Amazon-ECS-Aufgabenausführungsrolle überprüfen
Gehe wie folgt vor:
- Öffne die IAM-Konsole.
- Wähle im Navigationsbereich Rollen aus.
- Suche in der Rollenliste nach der Rolle zur Aufgabenausführung, die die Amazon-ECS-Aufgaben verwenden.
- Vergewissere dich, dass du der Aufgabenausführungsrolle die erforderlichen Berechtigungen für den Zugriff auf die Secrets-Manager-Ressource erteilt hast.
Überprüfen, ob das Secrets-Manager-Secret existiert
Gehe wie folgt vor:
- Öffne die Secrets-Manager-Konsole.
- Wähle im Navigationsbereich Secrets aus und wähle dann das Secret aus, das die Amazon-ECS-Aufgaben verwenden.
- Stelle sicher, dass die Amazon-ECS-Aufgabendefinition diese spezifischen Secret-Namen enthält. Wenn du zusätzliche Parameter im Secret angegeben hast, stelle sicher, dass die Aufgabendefinition die im Secret angegebene json-key/version-stage/version-id enthält.
Den Namen und den ARN des Secrets-Manager-Secrets überprüfen
Überprüfe, ob dein Secret-Name mit einem Bindestrich gefolgt von sechs Zeichen endet. Zum Beispiel myappsecret-xxxxxx. Secrets Manager fügt nach dem Secret-Namen am Ende des ARN automatisch einen Bindestrich und sechs zufällige Zeichen hinzu. Es empfiehlt sich, den Secret-Namen nicht mit einem Bindestrich gefolgt von sechs Zeichen zu beenden.
Um dieses Problem zu lösen, verwende die vollständigen ARNs der Secrets des Secrets Managers, einschließlich des zusätzlichen Bindestrichs und der sechs Zeichen.
Deine Amazon-VPC-Netzwerkkonfiguration überprüfen
Erstelle die Amazon-Schnittstellen-VPC-Endpunkte für Secrets Manager, wenn die folgenden Bedingungen zutreffen:
- Du verwendest eine Aufgabendefinition, die auf die Secrets-Manager-Secrets verweist, um sensible Daten für deine Container abzurufen.
- Du verwendest die Amazon-Schnittstellen-VPC-Endpunkte.
Stelle außerdem sicher, dass die Sicherheitsgruppen für deine Amazon-VPC-Endpunkte es der Amazon-ECS-Infrastruktur erlauben, diese Endpunkte zu verwenden.
Gehe wie folgt vor, um zu überprüfen, ob der Amazon-VPC-Endpunkt für Secrets Manager vorhanden ist:
- Öffne die Amazon-VPC-Konsole.
- Wähle im Navigationsbereich Endpunkte aus.
- Stelle sicher, dass du den Amazon-VPC-Endpunkt com.amazonaws.example-region.secretsmanager für Secrets Manager angibst.
- Wähle den Endpunkt aus und wähle dann die Registerkarte Subnetze aus. Stelle sicher, dass die Subnetze für diesen Endpunkt die Endpunkte enthalten, die deine Amazon-ECS-Aufgabe verwendet.
Hinweis: Wenn keine Subnetze vorhanden sind, wähle Subnetze verwalten. Wähle das Subnetz auf der Grundlage seiner Availability Zone und anschließend Subnetze ändern aus.
Gehe wie folgt vor, um zu überprüfen, ob die an den Endpunkt com.amazonaws.example-region.secretsmanager angefügte Sicherheitsgruppe eingehende Verbindungen auf Port 443 von den Amazon-ECS-Aufgaben aus zulässt:
- Öffne die Amazon-VPC-Konsole.
- Wähle im Navigationsbereich Endpunkte aus.
- Wähle den Endpunkt aus.
- Wähle die Registerkarte Sicherheitsgruppen.
- Wähle die Gruppen-ID für die Sicherheitsgruppe aus, die du überprüfen möchtest.
- Wähle die Registerkarte Regeln für eingehenden Datenverkehr aus.
- Stelle sicher, dass die Liste der Regeln für eingehenden Datenverkehr eine Regel enthält, die 443-Verbindungen von Amazon-ECS-Aufgaben aus zulässt.
Ähnliche Informationen
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 5 Jahren
AWS OFFICIALAktualisiert vor 2 Jahren
AWS OFFICIALAktualisiert vor 2 Jahren