Wie behebe ich Änderungssatzfehler in CloudFormation?
Ich erhalte eine Fehlermeldung, wenn ich versuche, Ressourcen in einen AWS CloudFormation-Stack zu importieren.
Behebung
Führe je nach Fehlertyp die Schritte im entsprechenden Abschnitt aus, um den Fehler zu beheben.
Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
Geänderter Ausgabefehler
Die Abschnitte Ausgaben in beiden Vorlagen müssen identisch sein. Wenn du einen neuen Stack mit einer Ressourcen-Import-Vorlage erstellst, die Ausgaben über die CloudFormation-Konsole enthält, erhältst du einen Fehler ähnlich dem folgenden:
„There was an error creating this change set. As part of the import operation, you cannot modify or add [Outputs]“
Dieser Fehler tritt auch auf, wenn du versuchst, eine Ressource in einen Stack zu importieren.
Um diesen Fehler zu beheben, stelle sicher, dass der Abschnitt Ausgaben der neuesten CloudFormation-Vorlage mit der Vorlage übereinstimmt, die dein Stack derzeit verwendet. Wenn die Werte nicht identisch sind, aktualisiere die neueste Vorlage, sodass sie mit den Werten und Ausgaben im Abschnitt Ausgaben der aktuellen Vorlage übereinstimmt.
Wichtig: Der Importvorgang darf keine Ergänzungen oder Änderungen an Logical ID, Beschreibung, Wert, Export oder Ausgaben enthalten.
Nachdem der Importvorgang abgeschlossen ist, aktualisiere den Stack mit den Änderungen in der Ausgaben-Konfiguration. Oder du kannst AWS-Ressourcen automatisch in einen CloudFormation-Stack importieren.
Validierungsfehler bei Stack-Attributen
Wenn du die AWS-CLI oder das AWS-SDK verwendest, um einen Änderungssatz vom Typ IMPORT zu erstellen, der geänderte oder hinzugefügte Stack-Attribute enthält, erhältst du einen Fehler ähnlich dem folgenden:
„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 dein Änderungssatz vom Typ IMPORT geänderte Stack-Attribute enthält.
Um den Fehler zu beheben, bestätige, dass die für den Änderungssatz-Erstellungsvorgang eingeschlossenen Stack-Attribute mit den aktuellen Attributwerten des Stacks übereinstimmen.
Wichtig: Aktualisiere oder füge keine neuen Attributwerte hinzu.
Nachdem du die Ressourcen importiert hast, aktualisiere deine Attribute in einem separaten Aktualisierungsvorgang. Oder du kannst AWS-Ressourcen automatisch in einen CloudFormation-Stack importieren.
Fehler bei geänderter Ressource
Während eines Importvorgangs kannst du keine Ressource erstellen, aktualisieren oder löschen. Wenn du während eines Ressourcen-Importvorgangs eine bestehende Ressource änderst, erhältst du einen Fehler ähnlich dem folgenden:
„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.“
Um diesen Fehler zu beheben, erstelle einen Änderungssatz vom Typ UPDATE anstelle eines Änderungssatzes vom Typ IMPORT. Dies zeigt dir die Quelle der Änderung in der Ressource. Verwende anschließend dieselbe Ressourcen-Spezifikation für die vorhandenen Ressourcen und füge der Vorlage nur die entsprechenden zu importierenden Ressourcen hinzu. Oder du kannst AWS-Ressourcen automatisch in einen CloudFormation-Stack importieren.
Fehler beim Importieren der Liste der Ressourcen
Wenn du die AWS-CLI oder das AWS-SDK verwendest, um einen Änderungssatz vom Typ IMPORT zu erstellen, erhältst du eine der folgenden Fehlermeldungen:
<ResourceName>„An error occurred (ValidationError) when calling the CreateChangeSet operation: Resources [] is missing from ResourceToImport list“
„Error: „An error occurred (ValidationError) when calling the CreateChangeSet operation: Must Provide at least one resource to import“
Um diesen Fehler zu beheben, überprüfe, dass du eine physische ID an die Eigenschaft --resources-to-import in deinem AWS-CLI-Befehl übergibst. Oder verwende die Eigenschaft ResourceToImport in der CreateChangeSet-API für die Ressourcen, die du in den Stack importieren möchtest.
Um zu importieren, musst du eine physische ID an die neuen Ressourcen übergeben. Um diesen Fehler zu beheben, überprüfe, dass du --resources-to-import in deinem AWS-CLI-Befehl oder ResourceToImport in deinem API-Aufruf angegeben hast. Stelle außerdem sicher, dass du die zu importierenden Ressourcen auflistest.
IAM-Funktionsfehler
Wenn dein Änderungssatz IAM-Ressourcen enthält, für die du keine Berechtigungen hast, erhältst du eine der folgenden Fehlermeldungen:
<StackName>„Error: Failed to create changeset for the stack: , 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]“
„When calling the CreateChangeSet operation: Requires capabilities : [CAPABILITY_IAM/CAPABILITY_NAMED_IAM]“
„Please acknowledge all checkboxes before proceeding.“
Gehe wie folgt vor, um diesen Fehler zu beheben:
- Öffne die CloudFormation-Konsole.
- Wähle Stack mit bestehenden Ressourcen erstellen oder Stack aktualisieren aus.
- Fahre mit der Seite Überprüfen fort und wähle Ich bestätige, dass AWS CloudFormation möglicherweise IAM-Ressourcen erstellt / Ich bestätige, dass AWS CloudFormation möglicherweise IAM-Ressourcen mit benutzerdefinierten Namen erstellt aus.
-oder-
Verwende die AWS-CLI-Befehle create-stack und update-stack, um den Parameter --capabilities mit dem Wert CAPABILITY_IAM oder CAPABILITY_NAMED_IAM anzugeben.
Hinweis: Wenn deine CloudFormation-Vorlage AWS Identity and Access Management (IAM)-Ressourcen enthält, musst du CAPABILITY_IAM bestätigen. Wenn deine Vorlage benutzerdefinierte Namen für IAM-Ressourcen enthält, musst du CAPABILITY_NAMED_IAM bestätigen. Weitere Informationen findest du im Abschnitt Funktionen der AWS CloudFormation-Bereitstellungsaktionsreferenz.
Fehler „Submitted information didn't contain changes“ während des Stack-Aktualisierungsvorgangs
Wenn du während des Vorgangs Stack aktualisieren dieselbe Stack-Vorlage verwendest, erhältst du eine der folgenden Fehlermeldungen:
„The submitted information didn't contain changes. Submit different information to create a change set“
„An error occurred (ValidationError) when calling the UpdateStack operation: No updates are to be performed.“
Gehe wie folgt vor, um diesen Fehler zu beheben:
- Bestätige, dass du Änderungen am Stack vorgenommen hast. CloudFormation betrachtet Änderungen an Parametern oder der Stack-Beschreibung nicht als Änderungen an der Stack-Vorlage.
- Stelle sicher, dass die Ressourcen wesentliche Änderungen aufweisen. Wenn du beispielsweise eine Beschreibung zum Stack hinzufügen möchtest, nimm die Änderung vor, wenn du das nächste Mal andere Ressourcen im Stack aktualisierst.
- Nimm eine wesentliche Änderung vor, z. B. das Ändern der Stack-Tags, um eine Änderungserkennung für den Stack zu aktivieren. Wenn du beispielsweise nur eine Beschreibung zur Vorlage hinzufügst, erhältst du möglicherweise einen Fehler. Wenn du jedoch auch die Stack-Tags beim Erstellen eines Änderungssatzes änderst, erhältst du keinen Fehler.
- Füge Benutzerdefinierte Metadaten zu einer der Ressourcen hinzu, um eine Änderung zu aktivieren.<br id=hardline_break/>
Beispielvorlage:
Hinweis: Ersetze MyResourceType durch deinen Ressourcentyp und MyResourceProperties durch deine Ressourceneigenschaften.Description: This description is the cause of the error when only updating this field. Resources: myResource: Type: MyResourceType Properties: MyResourceProperties Metadata: ### ADD THIS CUSTOM METADATA test: 1 ### ANY KEY-VALUE PAIR
Wenn du deinen Stack weiterhin nicht aktualisieren kannst, kontaktiere AWS Support.
ExecuteChangeSet-API-Aufruffehler
Du kannst die Parameter OnStackFailure in der CreateChangeSet-API und DisableRollback in der ExecuteChangeSet-API nicht gleichzeitig verwenden.
„Either DisableRollback or OnStackFailure can be specified, but not both. Validation error as OnStackFailure parameter was specified during CreateChangeSet.“
Um diesen Fehler zu beheben, stelle sicher, dass du diese beiden Parameter nicht zusammen verwendest.
Nichtübereinstimmung zwischen Eingabe und Format in der Konsole für den Änderungssatzfehler
Wenn du dynamische Referenzen von AWS Secrets Manager in einem falschen Format in der CloudFormation-Vorlage verwendest, erhältst du eine der folgenden Fehlermeldungen:
„Given input did not match expected format“
„Incorrect format is used in the following SSM reference“
Um diesen Fehler zu beheben, stelle sicher, dass du die bewährten Methoden für deine dynamischen Referenzen in Secrets Manager befolgst. Weitere Informationen findest du unter Abrufen von Werten, die in anderen Services gespeichert sind, unter Verwendung dynamischer Referenzen.
Ähnliche Informationen
Erstellen Einen Stack aus vorhandenen Ressourcen
Import vorhandener Ressourcen in einen Stapel
- Themen
- Management & Governance
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 6 Monaten
AWS OFFICIALAktualisiert vor 5 Monaten