View a markdown version of this page

Die Stack-Bereitstellungszeit verstehen - 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.

Die Stack-Bereitstellungszeit verstehen

Wenn Sie einen Stack erstellen, aktualisieren oder löschen, stellt er CloudFormation jede Ressource in Ihrer Vorlage bereit und meldet, dass der Stack-Vorgang abgeschlossen ist, wenn Ihre Ressourcen für den Datenverkehr bereit sind. In diesem Thema wird beschrieben, CloudFormation wie ein Stack bereitgestellt wird, was sich darauf auswirkt, wie lange ein Stack-Vorgang dauert, und wie Sie die Bereitstellungszeit verkürzen können.

Wie wird CloudFormation ein Stack bereitgestellt

CloudFormation liest die Abhängigkeiten zwischen Ressourcen in Ihrer Vorlage. Eine Ressource, die überRef, oder, auf eine andere Ressource verweistDependsOn, wird nach der Ressource bereitgestellt, auf die sie verweist. Fn::GetAtt Ressourcen, die nicht voneinander abhängig sind, werden parallel bereitgestellt.

CloudFormation Wendet für jede Ressource die Ressourcenkonfiguration an und bestätigt dann, dass die Ressource für den Datenverkehr bereit ist. CloudFormation fährt fort, sobald jede Ressource bereit ist, sodass abhängige Ressourcen so früh wie möglich gestartet werden. Dies hat zur Folge, dass Stacks mit längeren Abhängigkeitsketten die größte Verbesserung verzeichnen. Wenn jede Ressource im Stack bereit ist, CloudFormation meldet es, dass der Stack-Vorgang abgeschlossen ist.

Dieses Verhalten gilt automatisch für Stack-Operationen. Sie müssen Ihre Vorlagen nicht ändern oder Parameter festlegen.

Was beeinflusst die Bereitstellungszeit

Abhängigkeitsketten

Die längste Kette von Ressourcen, die voneinander abhängen, legt die Mindestzeit für einen Stack-Vorgang fest. Ressourcen, die nicht Teil dieser Kette sind, werden parallel bereitgestellt und erhöhen in der Regel nicht die Gesamtzeit.

Ressourcen, deren Bereitstellung länger dauert

Workloads, die Ressourcen wie Amazon RDS-Datenbank-Instances, Elastic Load Balancing Load Balancer, NAT-Gateways oder CloudFront Amazon-Distributionen enthalten, verbringen den größten Teil ihrer Bereitstellungszeit damit, darauf zu warten, dass diese Ressourcen für den Datenverkehr bereit sind.

Ausgaben, die auf Ressourcenattribute verweisen

Wenn eine Stack-Ausgabe auf ein Ressourcenattribut verweist, z. B. mitFn::GetAtt, CloudFormation wartet, bis der Attributwert verfügbar ist, bevor der Stack-Vorgang abgeschlossen wird. Diese Wartezeit kann den Vorgang verlängern.

Möglichkeiten zur Verkürzung der Bereitstellungszeit

  • Verwenden Sie den Expressmodus für die Entwicklungsiteration. Der Expressmodus schließt die Stack-Operationen ab, sobald die Ressourcenkonfiguration CloudFormation angewendet wird, und die Ressourcen werden weiterhin im Hintergrund bereit. Weitere Informationen finden Sie unter Express-Modus.

  • Gruppieren Sie Ressourcen danach, wie oft sie sich ändern. Platzieren Sie Ressourcen, deren Bereitstellung länger dauert, z. B. Datenbanken, in separaten Stapeln von Ressourcen, die Sie häufig aktualisieren. Aktualisierungen des häufig geänderten Stacks beinhalten dann nicht die länger laufenden Ressourcen.

  • Entfernen Sie Abhängigkeiten, die Sie nicht benötigen. Deklarieren Sie DependsOn nur, wenn eine Ressource auf eine andere Ressource warten muss. Weniger Abhängigkeiten ermöglichen CloudFormation die parallel Bereitstellung von mehr Ressourcen.

  • Verweisen Sie in Ausgaben nur dann auf Ressourcenattribute, wenn Sie sie benötigen. Ausgaben, die auf Ressourcenattribute verweisen, können eine Stapeloperation verlängern, bis diese Werte verfügbar sind.