INVALIDDatenverarbeitungsumgebung - AWS Batch

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

INVALIDDatenverarbeitungsumgebung

Möglicherweise haben Sie eine verwaltete Computerumgebung falsch konfiguriert. Wenn Sie das getan haben, wechselt die Computerumgebung in einen INVALID Status und kann keine Stellen zur Vermittlung annehmen. In den folgenden Abschnitten werden die möglichen Ursachen und die auf der Ursache beruhende Problembehebung beschrieben.

Wichtig

AWS Batch erstellt und verwaltet mehrere AWS Ressourcen in Ihrem Namen und innerhalb Ihres Kontos, darunter Amazon EC2 Launch Templates, Amazon EC2 Auto Scaling Groups, Amazon EC2 Spot Fleets und Amazon ECS-Cluster. Diese verwalteten Ressourcen sind speziell konfiguriert, um einen optimalen AWS Batch Betrieb zu gewährleisten. Die manuelle Änderung dieser im Batch verwalteten Ressourcen kann, sofern nicht ausdrücklich in der AWS Batch Dokumentation angegeben, zu unerwartetem Verhalten führen, das zu einer INVALID Rechenumgebung, suboptimalem Instanzskalierungsverhalten, verzögerter Workload-Verarbeitung oder unerwarteten Kosten führt. Diese manuellen Änderungen können vom Service nicht deterministisch unterstützt werden. AWS Batch Verwenden Sie immer die unterstützte Batch APIs - oder Batch-Konsole, um Ihre Rechenumgebungen zu verwalten.

Falscher Rollenname oder ARN

Der häufigste Grund dafür, dass eine Rechenumgebung in einen INVALID Status wechselt, ist, dass die AWS Batch Servicerolle oder die Amazon EC2 Spot-Flottenrolle einen falschen Namen oder Amazon Resource Name (ARN) hat. Dies ist häufiger bei Rechenumgebungen der Fall, die mit AWS CLI oder dem erstellt wurden AWS SDKs. Wenn Sie eine Rechenumgebung in der erstellen AWS Management Console, AWS Batch hilft Ihnen bei der Auswahl der richtigen Service- oder Spot-Flottenrollen. Nehmen wir jedoch an, Sie geben den Namen oder den ARN manuell ein und geben sie falsch ein. Dann ist es auch die resultierende RechenumgebungINVALID.

Nehmen wir jedoch an, dass Sie den Namen oder den ARN für eine IAM-Ressource manuell in einen AWS CLI Befehl oder Ihren SDK-Code eingeben. In diesem Fall AWS Batch kann die Zeichenfolge nicht validiert werden. Stattdessen AWS Batch müssen Sie den falschen Wert akzeptieren und versuchen, die Umgebung zu erstellen. Wenn AWS Batch die Umgebung nicht erstellt werden kann, wechselt die Umgebung in einen INVALID Status, und es werden die folgenden Fehler angezeigt.

Bei einer ungültigen Servicerolle:

CLIENT_ERROR - Not authorized to perform sts:AssumeRole (Service: AWSSecurityTokenService; Status Code: 403; Error Code: AccessDenied; Request ID: dc0e2d28-2e99-11e7-b372-7fcc6fb65fe7)

Bei einer ungültigen Spot-Flottenrolle:

CLIENT_ERROR - Parameter: SpotFleetRequestConfig.IamFleetRole is invalid. (Service: AmazonEC2; Status Code: 400; Error Code: InvalidSpotFleetRequestConfig; Request ID: 331205f0-5ae3-4cea-bac4-897769639f8d) Parameter: SpotFleetRequestConfig.IamFleetRole is invalid

Eine häufige Ursache für dieses Problem ist das folgende Szenario. Sie geben nur den Namen einer IAM-Rolle an AWS SDKs, wenn Sie den AWS CLI oder den anstelle des vollständigen Amazon-Ressourcennamens (ARN) verwenden. Je nachdem, wie Sie die Rolle erstellt haben, kann der ARN ein aws-service-role Pfadpräfix enthalten. Wenn Sie die AWS Batch Servicerolle beispielsweise mithilfe der Verfahren unter manuell erstellenVerwenden Sie serviceverknüpfte Rollen für AWS Batch, könnte Ihr ARN für die Servicerolle wie folgt aussehen.

arn:aws:iam::123456789012:role/AWSBatchServiceRole

Wenn Sie die Servicerolle heute jedoch als Teil des Assistenten für die erste Ausführung der Konsole erstellt haben, könnte Ihr ARN für die Servicerolle wie folgt aussehen.

arn:aws:iam::123456789012:role/aws-service-role/AWSBatchServiceRole

Dieses Problem kann auch auftreten, wenn Sie die AWS Batch Service-Level-Richtlinie (AWSBatchServiceRole) an eine Rolle anhängen, die nichts mit dem Dienst zu tun hat. In diesem Szenario erhalten Sie beispielsweise möglicherweise eine Fehlermeldung, die der folgenden ähnelt:

CLIENT_ERROR - User: arn:aws:sts::account_number:assumed-role/batch-replacement-role/aws-batch is not authorized to perform: action on resource ...

Gehen Sie wie folgt vor, um dieses Problem zu beheben.

  • Verwenden Sie eine leere Zeichenfolge für die Servicerolle, wenn Sie die AWS Batch Rechenumgebung erstellen.

  • Geben Sie die Servicerolle im folgenden Format an:arn:aws:iam::account_number:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch.

Wenn Sie nur den Namen einer IAM-Rolle angeben, wenn Sie das AWS CLI oder das verwenden AWS SDKs, AWS Batch wird davon ausgegangen, dass Ihr ARN das aws-service-role Pfadpräfix nicht verwendet. Aus diesem Grund empfehlen wir, dass Sie bei der Erstellung von Rechenumgebungen den vollständigen ARN für Ihre IAM-Rollen angeben.

Informationen zum Reparieren einer Computerumgebung, die auf diese Weise falsch konfiguriert ist, finden Sie unter. Reparieren Sie eine INVALID Computerumgebung

Reparieren Sie eine INVALID Computerumgebung

Wenn sich eine Rechenumgebung in einem INVALID Zustand befindet, aktualisieren Sie sie, um den ungültigen Parameter zu reparieren. Aktualisieren Sie in einem Falscher Rollenname oder ARN Fall die Rechenumgebung mit der richtigen Servicerolle.

So Reparieren Sie eine falsch konfigurierte Datenverarbeitungsumgebung
  1. Öffnen Sie die AWS Batch Konsole unter https://console.aws.amazon.com/batch/.

  2. Wählen Sie in der Navigationsleiste die aus, die Sie verwenden AWS-Region möchten.

  3. Wählen Sie im Navigationsbereich Datenverarbeitungs-Umgebungen aus.

  4. Wählen Sie auf der Seite Datenverarbeitungs-Umgebungen das Optionsfeld neben der zu bearbeitenden Datenverarbeitungsumgebung und dann Bearbeiten aus.

  5. Wählen Sie auf der Seite Rechenumgebung aktualisieren unter Servicerolle die IAM-Rolle aus, die Sie mit Ihrer Rechenumgebung verwenden möchten. Die AWS Batch -Konsole zeigt nur mit der richtigen Vertrauensstellung für Datenverarbeitungsumgebungen an.

  6. Wählen Sie Speichern aus, um Ihre Datenverarbeitungsumgebung zu aktualisieren.