Wie behebe ich Änderungssatzfehler in CloudFormation?

Lesedauer: 5 Minute
0

Ich erhalte eine Fehlermeldung, wenn ich versuche, Ressourcen in einen AWS CloudFormation-Stack zu importieren.

Behebung

Führen Sie je nach Fehlertyp die Schritte im entsprechenden Abschnitt aus, um den Fehler zu beheben.

**Hinweis:**Wenn bei der Ausführung von AWS Command Line Interface (AWS CLI)-Befehlen Fehler auftreten, finden Sie weitere Informationen unter Troubleshoot AWS CLI errors. Stellen Sie außerdem sicher, dass Sie die neueste Version von AWS CLI verwenden.

Fehler beim Ändern des Satzes

Fehler: „There was an error creating this change set. As part of the import operation, you cannot modify or add [Outputs]“

Dieser Fehler tritt auf, wenn Sie eine Ressource in einen Stapel importieren. Es tritt auch auf, wenn ein neuer Stack mit einer Ressourcenimportvorlage erstellt wird, die Ausgaben über die CloudFormation-Konsole enthält. Gehen Sie wie folgt vor, um den Fehler zu beheben:

  • Vergleichen Sie den Abschnitt Ausgänge der neuesten CloudFormation-Vorlage mit der Vorlage, die Ihr Stack derzeit verwendet. Die Abschnitt Ausgänge in beiden Vorlagen müssen identisch sein. Wenn die Werte nicht identisch sind, aktualisieren Sie die neueste Vorlage, sodass sie mit den Werten und Ausgänge im Abschnitt Ausgänge der aktuellen Vorlage übereinstimmt.
    **Wichtig:**Der Importvorgang darf keine Ergänzungen und Änderungen an den Eigenschaften Logical ID, Beschreibung, Wert, Export und anderen Eigenschaften in Ausgänge enthalten.
  • Nachdem der Importvorgang abgeschlossen ist, aktualisieren Sie den Stack mit den gewünschten Änderungen in der Ausgänge Konfiguration.

Validierungsfehler bei Stack-Attributen

Fehler: „An error occurred (ValidationError) when calling the CreateChangeSet operation: As part of the import operation, you cannot modify or add [Tags]“

Dieser Fehler tritt auf, wenn Sie die AWS-CLI oder das AWS-SDK verwenden, um einen IMPORT-Typänderungssatz zu erstellen, der geänderte oder hinzugefügte Stack-Attribute enthält.

  • Vergewissern Sie sich, dass die Stack-Attribute, die für den Vorgang zur Erstellung des Änderungssatzes enthalten sind, mit den aktuellen Attributwerten des Stacks synchronisiert sind.
    **Wichtig:**Aktualisieren oder fügen Sie keine neuen Attributwerte hinzu.
  • Nachdem Sie Ihre Ressourcen importiert haben, aktualisieren Sie Ihre Attribute in einem separaten Aktualisierungsvorgang.

Fehler bei geänderter Ressource

Fehler: „There was an error creating this change set. You have modified resources [ResourceName] in your template that are not being imported. Update, create or delete operations cannot be executed during import operations.“

Dieser Fehler tritt auf, wenn Sie eine vorhandene Ressource während eines Ressourcenimportvorgangs ändern. Während eines Importvorgangs können Sie eine Ressource nicht erstellen, aktualisieren und löschen. Gehen Sie wie folgt vor, um den Fehler zu beheben:

  • Erstellen Sie einen UPDATE-Typänderungssatz anstelle eines IMPORT-Typänderungssatzes. Dies zeigt Ihnen die Quelle der Änderung in der Ressource.
  • Verwenden Sie dieselbe Ress-Spezifikation für die vorhandenen Ressourcen und fügen Sie der Vorlage nur die entsprechenden Ressourcen für den Import hinzu.

Fehler beim Importieren der Liste der Ressourcen

Die folgenden Fehler treten häufig auf, wenn Sie die AWS-CLI oder das AWS-SDK verwenden, um einen IMPORT-Typänderungssatz zu erstellen.

Fehler: „An error occurred (ValidationError) when calling the CreateChangeSet operation: Resources [<ResourceName>] is missing from ResourceToImport list“

Stellen Sie in Ihrer CloudFormation-Vorlage sicher, dass Sie für alle Ressourcen, die Sie in den Stack importieren möchten, eine physische ID an die ResourceToImport-Eigenschaft übergeben.

Fehler: „An error occurred (ValidationError) when calling the CreateChangeSet operation: Must Provide at least one resource to import“

Stellen Sie sicher, dass Sie --resources-to-import in Ihren AWS-CLI-Befehl oder ResourceToImport in Ihren API-Aufruf einbeziehen. Stellen Sie außerdem sicher, dass Sie alle zu importierenden Ressourcen auflisten.
Wichtig: Um zu importieren, müssen Sie allen neuen Ressourcen eine physische ID übergeben.

Fehler aufgrund von IAM-Funktionen

„Error: Failed to create changeset for the stack: <StackName>, ex: Waiter ChangeSetCreateComplete failed: Waiter encountered a terminal failure state: For expression "Status" we matched expected path: "FAILED" Status: FAILED. Reason: Requires capabilities: [CAPABILITY_NAMED_IAM]“

Gehen Sie wie folgt vor, um den Fehler zu beheben:

  1. Öffnen Sie die AWS CloudFormation-Konsole.
  2. Wählen Sie auf der Seite Überprüfen der Assistenten „Stack erstellen“ oder „Stack aktualisieren“ die Option Ich bestätige, dass diese Vorlage möglicherweise IAM-Ressourcen erstellt.
  3. Wenn Sie in der AWS-CLI die Befehle create-stack und update-stack verwenden, geben Sie den Wert CAPABILITY\ _IAM oder CAPABILITY\ _NAMED\ _IAM für den Parameter --capabilities an.
    Hinweis: Wenn Ihre Vorlage AWS Identity and Access Management (IAM)-Ressourcen enthält, können Sie beide Funktionen angeben. Wenn Ihre Vorlage benutzerdefinierte Namen für IAM-Ressourcen enthält, müssen Sie CAPABILITY\ _NAMED\ _IAM angeben.

Fehler aufgrund von „Keine Änderungen übermittelt“ während des Aktualisierungsstapels

Fehler: „The submitted information didn't contain changes. Submit different information to create a change set“ oder „An error occurred (ValidationError) when calling the UpdateStack operation: No updates are to be performed.“

Dieser Fehler tritt auf, wenn Sie während des Stack-Aktualisierungsvorgangs dieselbe Stack-Vorlage verwenden. Oder es tritt auf, wenn Sie die Ressourcen-Eigenschaften nicht ändern und nur versuchen, die Parameterwerteoder die Stack-Beschreibung zu ändern. CloudFormation betrachtet dies nicht als Änderung und die Erstellung des Änderungssatzes schlägt fehl.

ExecuteChangeSet-API-Aufruffehler

Fehler: „Either DisableRollback or OnStackFailure can be specified, but not both. Validation error as OnStackFailure parameter was specified during CreateChangeSet.“

Sie können entweder OnFailure oder DisableRollback angeben, aber nicht beides. Um dieses Problem zu beheben, erstellen Sie einen neuen Änderungssatz, indem Sie die Eigenschaft onStackFailure im Befehl entfernen und ihn dann ausführen. Oder aktivieren Sie die Rollback-Option und führen Sie dann den aktuellen Änderungssatz aus, um den Stack zu aktualisieren.

Fehler aufgrund einer Nichtübereinstimmung zwischen Eingabe und Format auf der Konsole für den Änderungssatz

Fehler: „Given input did not match expected format"

Dieser Fehler tritt normalerweise aufgrund von Syntaxproblemen in der CloudFormation-Vorlage auf. Überprüfen Sie die Vorlagensyntax auf alle Join-Funktionsformate, zusätzliche Zeichen oder zusätzliche doppelte Anführungszeichen. Überprüfen Sie auch Ressourcen wie die Parameter des AWS System Manager Agent (SSM Agent). Weitere Informationen zum Beheben von Syntaxfehlern finden Sie unter Wie behebe ich Fehler bei der Vorlagenvalidierung oder beim Vorlagenformat in CloudFormation?

Ähnliche Informationen

Erstellen Einen Stack aus vorhandenen Ressourcen

Import vorhandener Ressourcen in einen Stapel

Ressourcen zur Unterstützung von Import- und Driftdetektionsoperationen

Integration vorhandener Ressourcen in das CloudFormation-Management

Anerkennung von IAM-Ressourcen in AWS CloudFormation-Vorlagen

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 7 Monaten