Direkt zum Inhalt

Wie behebe ich eine ungültige Datenverarbeitungsumgebung in AWS Batch?

Lesedauer: 5 Minute
0

Meine Datenverarbeitungsumgebung in AWS Batch befindet sich im Status INVALID, und ich erhalte eine „CLIENT_ERROR“-Fehlermeldung.

Kurzbeschreibung

In AWS Batch erhältst du möglicherweise eine „CLIENT_ERROR“-Fehlermeldung. Wenn dies auftritt, versetzt AWS Batch deine Datenverarbeitungsumgebung in den Status INVALID.

Hinweis: Informationen zu AWS Batch auf Amazon Elastic Kubernetes Service (Amazon EKS)-Datenverarbeitungsumgebungen findest du unter Datenverarbeitungsumgebungen im INVALID-Zustand.

Lösung

Wenn sich deine Datenverarbeitungsumgebung im INVALID-zustand befindet, führe die folgenden Schritte zur Fehlerbehebung basierend auf der „CLIENT_ERROR“-Fehlermeldung durch, die du erhältst.

Fehler „CLIENT_ERROR - Not authorized to perform sts:AssumeRole“

Um den Fehler „CLIENT_ERROR - Not authorized to perform sts:AssumeRole“ zu beheben, korrigiere die Servicerolle, die ungültig ist. Gehe wie folgt vor:

  1. Öffne die AWS-Batch-Konsole.
  2. Wähle im Navigationsbereich Datenverarbeitungsumgebungen aus.
  3. Wähle die Datenverarbeitungsumgebung aus, die sich im INVALID-Zustand befindet.
    Hinweis: Falls sich deine Datenverarbeitungsumgebung im DISABLED-Zustand befindet, wähle Aktivieren aus, um die Datenverarbeitungsumgebung zu aktivieren.
  4. Wähle Bearbeiten aus.
  5. Wähle unter Servicerolle eine Servicerolle mit Berechtigungen für AWS Batch aus, um Aufrufe an andere AWS-Services zu tätigen.
    Hinweis: Deine Servicerolle verwaltet die Ressourcen, die du mit dem Service verwendest. Bevor du den Service verwendest, musst du über eine AWS Identity and Access Management (IAM)-Richtlinie und -Rolle verfügen, die die erforderlichen Berechtigungen bereitstellt. Wenn du keine IAM-Rolle mit den erforderlichen Berechtigungen hast, erstelle eine.
  6. Wähle Speichern aus.

Fehler „CLIENT_ERROR - Parameter: SpotFleetRequestConfig.IamFleetRole is invalid“

Wenn du Amazon Elastic Compute Cloud (Amazon EC2)-Spot-Flotten-Instances verwendest, erhältst du möglicherweise die Fehlermeldung „CLIENT_ERROR - Parameter: SpotFleetRequestConfig.IamFleetRole is invalid“

Erstelle für verwaltete Datenverarbeitungsumgebungen, die Spot-Flotten-Instances verwenden, eine Rolle, die die erforderlichen Berechtigungen zur Verwendung von Spot-Flotten erteilt. Füge für die allgemeine Verwendung die von AWS verwaltete Richtlinie AmazonEC2SpotFleetTaggingRole zur Rolle hinzu.

Hinweis: Verwende die neue Spot-Flottenrolle, um neue Datenverarbeitungsumgebungen zu erstellen. Die Spot-Flottenrollen bereits vorhandener Datenverarbeitungsumgebungen können nicht geändert werden. Um nicht benötigte bestehende Umgebungen zu entfernen, deaktiviere die Umgebung und lösche sie anschließend. Eine Anleitung findest du im nächsten Abschnitt.

Fehler „CLIENT_ERROR - The specified launch template...does not exist“

Wenn die Startvorlage, die du deiner Datenverarbeitungsumgebung zugeordnet hast, nicht vorhanden ist, erhältst du die folgende Fehlermeldung:

„CLIENT_ERROR - The specified launch template, with template ID [###], does not exist“

Um dieses Problem zu beheben, gehe wie folgt vor, um deine Datenverarbeitungsumgebung zu deaktivieren und zu löschen:

  1. Öffne die AWS-Batch-Konsole.
  2. Wähle im Navigationsbereich Datenverarbeitungsumgebungen aus.
  3. Wähle die Datenverarbeitungsumgebung aus, die sich im INVALID-Zustand befindet. Wähle dann Deaktivieren aus.
  4. Wähle Löschen aus.
  5. Erstelle eine neue Datenverarbeitungsumgebung.

Fehler „CLIENT_ERROR - Your compute environment has been INVALIDATED and scaled down“

Wenn AWS Batch eine Datenverarbeitungsumgebung aufskaliert, treten die Container-Instances dem Amazon Elastic Container Service (Amazon ECS)-Cluster bei. Wenn die Instances dem Cluster nicht beitreten können, markiert AWS Batch die Datenverarbeitungsumgebung als INVALID. Dies tritt auf, wenn der Amazon-ECS-Agent auf der Instance die RegisterContainerInstance-API nicht innerhalb eines festgelegten Zeitrahmens aufruft. Als Reaktion darauf beendet AWS Batch die Instance und du erhältst die folgende Fehlermeldung:

„CLIENT_ERROR - Your compute environment has been INVALIDATED and scaled down" because none of the instances joined the underlying ECS Cluster.“

Die Instances können in den folgenden Szenarien keinem Amazon-ECS-Cluster beitreten:

  • Einstellungen der Subnetzkonfiguration von Amazon Virtual Private Cloud (Amazon VPC) verhindern eine erfolgreiche Kommunikation mit Amazon ECS.
  • Eine falsche Richtlinieneinstellung für das Instance-Profil verhindert die Autorisierung bei Amazon ECS.
  • Benutzerdefinierte Amazon Machine Images (AMIs) oder Startvorlagen-Konfigurationen beeinflussen den Amazon-ECS-Agenten.

Gehe wie folgt vor, um dieses Problem zu beheben:

  1. Öffne die AWS-Batch-Konsole.
  2. Wähle im Navigationsbereich Datenverarbeitungsumgebungen aus.
  3. Wähle die Datenverarbeitungsumgebung aus, die sich im INVALID-Zustand befindet. Wähle dann Deaktivieren aus.
  4. Wähle dieselbe Datenverarbeitungsumgebung aus und wähle dann Aktivieren aus.

Die vorherigen Schritte reaktivieren die Datenverarbeitungsumgebung und veranlassen AWS Batch, die Umgebung als VALID zu markieren. Um eine Instance zu starten und eine Aufskalierung zu erzwingen, aktualisiere den Parameter minVcpus auf 1. Verwende dann die laufende Instance, um den Grund zu beheben, warum Instances dem Amazon-ECS-Cluster nicht beitreten können.

Fehler „CLIENT_ERROR - Access denied“

Um den Fehler „CLIENT_ERROR - Access denied“ zu beheben, erstelle eine Servicerolle mit den korrekten Berechtigungen. Oder wähle eine bestehende Servicerolle mit den korrekten Berechtigungen aus.

Fehler „CLIENT_ERROR - Internal error“

Um einen „CLIENT_ERROR - Internal error“-Fehler zu beheben, deaktiviere deine Datenverarbeitungsumgebung. Reaktiviere sie dann. Die Schritte findest du im Abschnitt Fehler „CLIENT_ERROR - Your compute environment has been INVALIDATED and scaled down“.

Fehler „CLIENT_ERROR - The request uses the same client token... non-identical request“

Um den Fehler „CLIENT_ERROR - The request uses the same client token as previous, but non-identical request“ zu beheben, deaktiviere deine Datenverarbeitungsumgebung und aktiviere sie anschließend. Die Schritte findest du im Abschnitt Fehler „CLIENT_ERROR - Your compute environment has been INVALIDATED and scaled down“.

Fehler „CLIENT_ERROR - You are not authorized to use launch template“

Um den Fehler „CLIENT_ERROR - You are not authorized to use launch template“ zu beheben, gehe wie folgt vor:

  • Stelle sicher, dass deine Servicerolle über die erforderlichen Berechtigungen verfügt. Führe anschließend die Schritte im Abschnitt Fehler „CLIENT_ERROR - Not authorized to perform sts:AssumeRole“ aus.
  • Überprüfe, ob das AWS-Konto Teil von AWS Organizations ist. Wenn dies der Fall ist, stelle sicher, dass Service-Kontrollrichtlinien (SCPs) den Zugriff auf deine Amazon-EC2-Berechtigungen nicht blockieren.

Informationen zur weiteren Problembehandlung bei IAM-Richtlinienproblemen findest du unter Wie kann ich Fehler beim verweigerten Zugriff oder bei unautorisierten Vorgängen bei einer IAM-Richtlinie beheben?

Ähnliche Informationen

Problembehandlung bei AWS Batch

Warum bleibt mein AWS-Batch-Auftrag im Status RUNNABLE hängen?

AWS OFFICIALAktualisiert vor einem Jahr