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.
Bereitstellen AWS CloudFormation Schnelleres Stapeln im Expressmodus
Im CloudFormation Expressmodus können Sie Stack-Operationen abschließen, sobald die Ressourcenkonfiguration CloudFormation angewendet wurde, ohne darauf warten zu müssen, dass sich die Ressourcen vollständig stabilisiert haben. Verwenden Sie den Expressmodus, um Stacks in iterativen Entwicklungsworkflows deutlich schneller zu erstellen, zu aktualisieren und zu löschen.
Der Expressmodus funktioniert mit allen vorhandenen CloudFormation Vorlagen. Sie müssen keine Änderungen an der Vorlage vornehmen, um den Expressmodus verwenden zu können.
Wann sollte der Expressmodus verwendet werden
Verwenden Sie den Expressmodus für Entwicklungs- und Iterationsworkflows, bei denen Geschwindigkeit wichtiger ist als das Warten auf eine vollständige Ressourcenstabilisierung. Verwenden Sie den Expressmodus, wenn:
-
Vorlagenänderungen werden während der Entwicklung wiederholt.
-
Sie wünschen sich schnelleres Feedback darüber, ob Ihre Ressourcenkonfigurationen gültig sind.
-
Sie müssen nicht warten, bis die Ressourcen voll funktionsfähig sind, bevor Sie fortfahren.
Verwenden Sie für Produktionsbereitstellungen, bei denen Sie sicherstellen müssen, dass die Ressourcen vollständig stabilisiert und betriebsbereit sind, bevor Sie die Bereitstellung als abgeschlossen betrachten, den Standardbereitstellungsmodus.
So funktioniert der Expressmodus
CloudFormation Wartet im Standardbereitstellungsmodus, bis jede Ressource einen vollständig stabilisierten Zustand erreicht hat, bevor die Ressource als abgeschlossen gemeldet wird. Warten Sie beispielsweise beim Erstellen einer Amazon EC2 EC2-Instance, bis CloudFormation sich die Instance im running Status befindet.
Im Expressmodus wird ein Ressourcenvorgang in der CloudFormation Regel als abgeschlossen betrachtet, sobald der API-Aufruf zum Erstellen, Aktualisieren oder Löschen der Ressource erfolgreich war. Wartet in den meisten Fällen CloudFormation nicht, bis die Ressource ihren endgültigen Betriebszustand erreicht hat.
Das bedeutet, dass nach Abschluss eines Stack-Vorgangs im Expressmodus:
-
Ressourcen initialisieren oder verbreiten möglicherweise immer noch Änderungen.
-
Ressourcen sind möglicherweise noch nicht bereit, Datenverkehr zu verarbeiten oder Verbindungen anzunehmen.
-
Möglicherweise sind noch Löschvorgänge im Gange.
Wie CloudFormation geht man mit Abhängigkeiten im Expressmodus um
Der Expressmodus respektiert die in Ihrer Vorlage definierten Ressourcenabhängigkeiten. Wenn eine Ressource auf die ID oder das Attribut einer anderen Ressource verweist (über Ref oderFn::GetAtt), wird überprüft, CloudFormation ob die Konfiguration der referenzierten Ressource angewendet wurde, bevor die abhängige Ressource gestartet wird. Wenn bei einer abhängigen Ressource ein vorübergehender Ausfall auftritt, weil eine referenzierte Ressource nicht bereit ist, wird der CloudFormation Vorgang erneut versucht.
Ressourcen, die keine Abhängigkeiten voneinander haben, können parallel ablaufen.
Der Expressmodus ändert nichts an der Reihenfolge der Abhängigkeiten Ihrer Ressourcen. Sie ändert sich, wenn der Stackvorgang als abgeschlossen gemeldet wird.
Erste Schritte mit dem Expressmodus
Sie können den Expressmodus mit den Sets AWS Command Line Interface (AWS CLI), AWS Cloud Development Kit (AWS CDK) (AWS CDK), der CloudFormation Konsole und den Änderungssätzen verwenden. In den folgenden Abschnitten wird beschrieben, wie der Expressmodus mit jeder Methode aktiviert wird.
Verwenden des Expressmodus mit dem AWS CLI
Um den Expressmodus mit dem zu verwenden AWS CLI, fügen Sie den --deployment-config Parameter zu Ihren Stack-Operationsbefehlen hinzu.
Erstellen Sie einen Stapel im Expressmodus
Der folgende Befehl erstellt einen Stapel im Expressmodus:
aws cloudformation create-stack --stack-namemy-stack\ --template-bodyfile://my-template.yaml\ --deployment-config '{"mode": "EXPRESS"}'
Aktualisieren Sie einen Stack im Expressmodus
Der folgende Befehl aktualisiert einen Stack im Expressmodus:
aws cloudformation update-stack --stack-namemy-stack\ --template-bodyfile://my-template.yaml\ --deployment-config '{"mode": "EXPRESS"}'
Löscht einen Stapel im Expressmodus
Der folgende Befehl löscht einen Stapel im Expressmodus:
aws cloudformation delete-stack --stack-namemy-stack\ --deployment-config '{"mode": "EXPRESS"}'
Verwenden Sie den Expressmodus mit dem AWS CDK
Um den Expressmodus mit dem AWS Cloud Development Kit (AWS CDK) (AWS CDK) zu verwenden, verwenden Sie das --express Flag mit dem cdk deploy folgenden Befehl:
cdk deploy --express
Verwenden Sie den Expressmodus mit AWS SAM
Um den Expressmodus mit der AWS SAM-CLI zu verwenden, fügen Sie das --express Flag zu Ihren Deploy- oder Sync-Befehlen hinzu:
sam deploy --express
sam sync --express
Um die Einstellung in Ihrer Projektkonfiguration beizubehalten, verwenden Sie--save-params:
sam deploy --express --save-params
Dies wird express = true in Ihrer samconfig.toml Datei gespeichert, sodass nachfolgende Bereitstellungen automatisch den Expressmodus verwenden.
Wenn der Expressmodus aktiviert ist, übergibt die AWS SAM CLI die Bereitstellungskonfiguration an CloudFormation. Das --disable-rollback Flag steuert das Rollback-Verhalten innerhalb der Bereitstellungskonfiguration.
Verwenden Sie den Expressmodus mit der Konsole
Wenn Sie einen Stack in der CloudFormation Konsole erstellen oder aktualisieren, können Sie den Expressmodus im Schritt Stack-Optionen konfigurieren aktivieren. Wählen Sie unter Bereitstellungsoptionen die Option Express als Bereitstellungsmodus aus.
Verwenden Sie den Expressmodus mit Änderungssätzen
Sie können den Expressmodus mit Änderungssätzen verwenden, indem Sie bei der Erstellung des Änderungssatzes die Bereitstellungskonfiguration angeben:
aws cloudformation create-change-set --stack-namemy-stack\ --change-set-namemy-change-set\ --template-bodyfile://my-template.yaml\ --deployment-config '{"mode": "EXPRESS"}'
CloudFormation Wendet bei der Ausführung des Änderungssatzes die Bereitstellungskonfiguration im Expressmodus an, die bei der Erstellung des Änderungssatzes angegeben wurde.
Rollback-Verhalten im Expressmodus
Wenn Sie den Expressmodus verwenden, ist der Rollback standardmäßig CloudFormation deaktiviert. Wenn ein Ressourcenvorgang fehlschlägt, werden CloudFormation die Änderungen nicht automatisch rückgängig gemacht.
Um das Rollback im Expressmodus wieder disableRollback zu aktivieren, stellen Sie false im Parameter Folgendes ein: --deployment-config
aws cloudformation create-stack --stack-namemy-stack\ --template-bodyfile://my-template.yaml\ --deployment-config '{"mode": "EXPRESS", "disableRollback": false}'
Express-Modus und verschachtelte Stacks
Wenn Sie den Expressmodus für einen übergeordneten Stapel verwenden, wird die Einstellung auf alle verschachtelten Stapel in der Hierarchie übertragen. Sie müssen den Expressmodus nicht für jeden verschachtelten Stapel separat angeben. Alle Ressourcen im Root-Stack und seinen verschachtelten Stacks sind abgeschlossen, sobald ihre Konfiguration angewendet wird.
Überlegungen zur Verfügbarkeit von Ressourcen
Im Expressmodus werden Ressourcenoperationen abgeschlossen, bevor die Ressourcen einen vollständig stabilisierten Zustand erreicht haben. Daher kann es sein, dass jede Ressource zusätzliche Zeit benötigt, bis sie vollständig für den Verkehr oder die Verteilung in mehreren Regionen bereit ist. In der folgenden Tabelle wird anhand von Beispielen für verschiedene Ressourcentypen veranschaulicht, welche Arten von Ressourcenverhalten Sie erwarten können. Diese Beispiele dienen der Veranschaulichung und stellen keine vollständige Liste der unterstützten Ressourcen dar.
| Ressourcentyp | Operation | Bereitschaftsverhalten |
|---|---|---|
| CloudFront Amazon-Vertrieb | Create/Update | Die globale Bereitstellung der Verteilung kann mehrere Minuten dauern, nachdem die Konfiguration angewendet wurde. |
| Amazon EC2-Instance | Create | Die Instanz wird möglicherweise immer noch initialisiert (Benutzerdatenskripts werden ausgeführt, Statusprüfungen ausgeführt), nachdem der Stack-Vorgang abgeschlossen ist. |
| AWS Lambda-Funktion | Delete | Die Funktionsressourcen werden möglicherweise immer noch bereinigt, nachdem die Berichte über den Löschvorgang abgeschlossen sind. |
| Dienst Amazon Elastic Container Service (Amazon ECS) | Create/Update | Serviceaufgaben werden möglicherweise immer noch gestartet oder erreichen nach Abschluss des Stack-Vorgangs einen stabilen Status. |
Nicht unterstützte Funktionen und Einschränkungen
Die folgenden Funktionen und Dienste werden im Expressmodus nicht unterstützt:
- CloudFormation StackSets
-
CloudFormation unterstützt den Expressmodus mit StackSets Vorgängen nicht.
Die folgenden Ressourcen weisen ein spezifisches Verhalten im Expressmodus auf:
- Benutzerdefinierte Ressourcen
-
Benutzerdefinierte Ressourcen (einschließlich
Custom::*RessourcenAWS::CloudFormation::CustomResourceund) folgen ihrem Standardverhalten. CloudFormation wartet darauf, dass die benutzerdefinierte Ressource ein Antwortsignal sendet, bevor der Vorgang als abgeschlossen betrachtet wird, auch im Expressmodus. Um zu verhindern, dass eine langsame oder festgefahrene benutzerdefinierte Ressource schnelle Iterationsworkflows verzögert, legen Sie mit der Eigenschaft eine maximale Wartezeit fest.ServiceTimeoutWeitere Informationen finden Sie unter Zeitüberschreitung bei der Antwort.
Vergleich mit AWS CDK Hotswap-Bereitstellungen
In der folgenden Tabelle werden der Expressmodus mit AWS CDK Hotswap-Bereitstellungen verglichen.
| Feature | Express-Modus | AWS CDK Hotswap |
|---|---|---|
| Bereitstellungsmechanismus | Wird CloudFormation für alle Ressourcenoperationen verwendet | Umgeht Dienst-APIs CloudFormation und ruft sie direkt auf |
| Kompatibilität mit Vorlagen | Funktioniert mit allen vorhandenen CloudFormation Vorlagen | Unterstützt eine begrenzte Anzahl von Ressourcentypen |
| Status des Stapels | Der Stack-Status bleibt mit der Vorlage konsistent | Der Stack-Status kann von der Vorlage abweichen |
| Rollback-Unterstützung | Unterstützt Rollback (standardmäßig deaktiviert) | Keine Rollback-Unterstützung |
| Abdeckung der Ressourcen | Alle CloudFormation Ressourcentypen | Eingeschränkte Ressourcentypen (AWS Lambda, Amazon ECS, AWS Step Functions und andere) |
| Empfohlene Verwendung | Entwicklungs- und Iterationsworkflows | Nur Entwicklungsworkflows mit unterstützten Ressourcen |