Aktualisieren von Verhalten von Stack-Ressourcen - AWS CloudFormation

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.

Aktualisieren von Verhalten von Stack-Ressourcen

Wenn Sie eine Aktualisierung senden, aktualisiert AWS CloudFormation Ressourcen basierend auf Unterschieden zwischen der gesendeten Verlage und der aktuellen Vorlage des Stacks. Nicht geänderte Ressourcen werden während des Updates ohne Unterbrechung ausgeführt. Für aktualisierte Ressourcen verwendet AWS CloudFormation eine der folgenden Aktualisierungsverhaltensweisen:

Aktualisieren ohne Unterbrechung

AWS CloudFormation aktualisiert die Ressource, ohne den Betrieb dieser Ressource zu unterbrechen oder die physische Ressourcen-ID zu ändern. Wenn Sie beispielsweise bestimmte Eigenschaften einer AWS::CloudTrail::Trail-Ressource aktualisieren, aktualisiert AWS CloudFormation den Pfad ohne Unterbrechung.

Aktualisieren mit einigen Unterbrechungen

AWS CloudFormation aktualisiert die Ressource mit einer gewissen Unterbrechung. Wenn Sie beispielsweise bestimmte Eigenschaften auf einer AWS::EC2::Instance-Ressource aktualisieren, treten auf der Instance möglicherweise einige Unterbrechungen auf, während AWS CloudFormation und Amazon EC2 die Instance neu konfigurieren.

Ersatz

AWS CloudFormation erstellt die Ressource während eines Updates neu, was auch eine neue physische ID erzeugt. AWS CloudFormation legt normalerweise zuerst die Ersatzressource an, ändert Referenzen von anderen abhängigen Ressourcen, um auf die Ersatzressource zu verweisen, und löscht dann die alte Ressource. Wenn Sie beispielsweise die AvailabilityZone-Eigenschaft eines AWS::EC2::Instance-Ressourcentyps aktualisieren, erstellt AWS CloudFormation eine neue Ressource und ersetzt die aktuelle EC2-Instance-Ressource durch die neue.

Wenn Sie eine Eigenschaft hinzufügen oder entfernen, die ersetzt werden muss, wird ebenfalls eine Aktualisierung ausgelöst. Die Aktualisierung passiert auch dann, wenn sich der tatsächliche Wert der Eigenschaft nicht ändert.

Die Methode, die AWS CloudFormation verwendet, hängt davon ab, welche Eigenschaft Sie für einen bestimmten Ressourcentyp aktualisieren. Das Aktualisierungsverhalten für jede Eigenschaft wird in der Referenz zu AWS-Ressourcentypen beschrieben.

Je nach Aktualisierungsverhalten können Sie entscheiden, wann Sie Ressourcen ändern, um die Auswirkungen dieser Änderungen auf Ihre Anwendung zu verringern. Insbesondere können Sie planen, wann Ressourcen während einer Aktualisierung ersetzt werden müssen. Wenn Sie beispielsweise die Port-Eigenschaft eines AWS::RDS::DBInstance-Ressourcentyps aktualisieren, ersetzt AWS CloudFormation die DB-Instance durch Erstellung einer neuen DB-Instance mit der aktualisierten Port-Einstellung und löscht die alte DB-Instance. Bevor Sie die Aktualisierung durchführen, planen Sie möglicherweise Folgendes, um die Ersetzung der Datenbank vorzubereiten:

  • Erstellen Sie einen Snapshot der aktuellen Datenbanken.

  • Bereiten Sie eine Strategie dafür vor, wie Anwendungen, die diese DB-Instance verwenden, eine Unterbrechung verarbeiten, während die DB-Instance ersetzt wird.

  • Stellen Sie sicher, dass die Anwendungen, die diese DB-Instance verwenden, die aktualisierte Port-Einstellung und andere Aktualisierungen, die Sie vorgenommen haben, berücksichtigen.

  • Verwenden Sie den DB-Snapshot zum Wiederherstellen der Datenbanken auf der neuen DB-Instance.

Dieses Beispiel ist nicht vollständig. Es soll Ihnen jedoch eine Vorstellung davon geben, was Sie vorab berücksichtigen sollten, wenn eine Ressource während einer Aktualisierung ersetzt wird.

Anmerkung

Wenn die Vorlage eine oder mehrere verschachtelte Stacks enthält, initiiert AWS CloudFormation auch für jeden verschachtelten Stack eine Aktualisierung. Dies ist notwendig, um festzustellen, ob die verschachtelten Stapel modifiziert wurden. AWS CloudFormation aktualisiert nur die Ressourcen in den verschachtelten Stacks, deren Änderungen in entsprechenden Vorlagen angegeben sind.