Wie lösche ich eine Stack-Instance aus einem CloudFormation-Stack-Set in einem geschlossenen oder gesperrten AWS-Konto?

Lesedauer: 3 Minute
0

Ich möchte eine Stack-Instance aus einem AWS CloudFormation-Stack-Set löschen, das Löschen schlägt jedoch fehl, weil das AWS-Zielkonto geschlossen oder gesperrt ist.

Kurzbeschreibung

Wenn ein AWS-Konto geschlossen oder gesperrt wird, kann die CloudFormation StackSets-Administratorrolle in diesem Konto nicht mehr auf die StackSets-Ausführungsrolle zugreifen. Hierdurch wird verhindert, dass Stack-Set-Operationen auf Stack-Instances für dieses Konto ausgeführt werden. Wenn Sie versuchen, eine Stack-Instance in einem geschlossenen oder gesperrten Konto zu löschen, kann eine Fehlermeldung angezeigt werden. Anschließend kann sich der Status der Stack-Instance zu INOPERABLE ändern.

Um Stack-Instances für geschlossene oder gesperrte Konten zu löschen, müssen Sie den Vorgang DeleteStackInstances ausführen, wobei die Option RetainStacks auf true gesetzt ist. Hierdurch wird die Stack-Instance vom Stack-Set entkoppelt, ohne die Stack-Instance im Zielkonto zu löschen.

Die folgenden Lösungsschritte hängen vom Berechtigungsmodell ab, das das Stack-Set verwendet: selbstverwaltete Berechtigungen oder serviceverwaltete Berechtigungen mit AWS Organizations.

Hinweis: Wenn Sie beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS CLI-Version verwenden.

Lösung

Inoperable Stack-Instances für Stack-Sets mit selbstverwalteten Berechtigungen löschen

Bei Stack-Sets, die selbstverwaltete Berechtigungen verwenden, können Sie die INOPERABLE-Stack-Instance entweder mit der CloudFormation-Konsole oder der AWS-CLI löschen.

CloudFormation-Konsole:

1.Öffnen Sie die CloudFormation-Konsole.

2.Wählen Sie im Navigationsbereich StackSets aus.

3.Wählen Sie in der Spalte StackSet-Name das Stack-Set aus, das die Instance enthält, die Sie löschen möchten.

4.Wählen Sie Aktionen und dann Stacks aus StackSets löschen aus.

5.Geben Sie auf der Seite Bereitstellungsoptionen festlegen für Kontonummern die 12-stellige Kontonummer des AWS-Kontos ein, das geschlossen oder gesperrt wurde.

6.Wählen Sie im Abschnitt Regionen angeben die AWS-Region Ihrer Stack-Instance aus.

7.Aktivieren Sie im Abschnitt Bereitstellungsoptionen die Option Stacks beibehalten und wählen Sie anschließend Weiter aus.

8.Wählen Sie auf der Seite Überprüfung die Option Absenden aus.

AWS CLI:

Führen Sie in der AWS-CLI den folgenden Befehl aus:

$ aws cloudformation delete-stack-instances --stack-set-name YourStackSetName --accounts YourStackInstanceAccount --regions YourStackInstanceRegion --retain-stacks

Hinweis: Ersetzen Sie YourStackSetName durch den Namen Ihres Stack-Sets. Ersetzen Sie YourStackInstanceAccount durch die AWS-Kontonummer des geschlossenen oder gesperrten Kontos. Ersetzen Sie YourStackInstanceRegion durch die Region, in der sich die Stack-Instance befindet.

Inoperable Stack-Instances für Stack-Sets mit serviceverwalteten Berechtigungen löschen

Bei Stack-Sets, die serviceverwaltete Berechtigungen verwenden, können Operationen über die CloudFormation-Konsole nur für ganze Organisationseinheiten (OUs) ausgeführt werden. Sie müssen die AWS-CLI verwenden, um eine bestimmte Stack-Instance aus einem einzelnen Konto zu löschen.

Führen Sie in der AWS-CLI den folgenden Befehl aus:

aws cloudformation delete-stack-instances --stack-set-name YourStackSetName --deployment-targets Accounts=YourStackInstanceAccount --regions YourStackInstanceRegion --retain-stacks

Hinweis: Ersetzen Sie YourStackSetName durch den Namen Ihres Stack-Sets. Ersetzen Sie YourStackInstanceAccount durch die AWS-Kontonummer des geschlossenen oder gesperrten Kontos. Ersetzen Sie YourStackInstanceRegion durch die Region, in der sich die Stack-Instance befindet.


Ähnliche Informationen

Berechtigungsmodelle für Stack-Sets

Statuscodes für Stack-Sets und Stack-Instances

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren