Verstehen der CloudFormation Stack-Erstellungsereignisse - AWS CloudFormation

Verstehen der CloudFormation Stack-Erstellungsereignisse

Während der Stack-Bereitstellung finden mehrere Ereignisse statt, um die in der Stack-Vorlage definierten Ressourcen zu erstellen, zu konfigurieren und zu validieren. Wenn Sie diese Ereignisse verstehen, können Sie den Prozess der Stack-Erstellung optimieren und die Bereitstellung rationalisieren.

  • Ressourcenerstellungsereignisse - Wenn jede Ressource den Erstellungsprozess beginnt, wird ein Status von CREATE_IN_PROGRESS Ereignis gesetzt. Dieses Ereignis zeigt an, dass die Ressource gerade bereitgestellt wird.

  • Eventuelle Konsistenzprüfung - Ein beträchtlicher Teil der Zeit für die Stackerstellung wird für eine eventuelle Konsistenzprüfung der vom Stack erstellten Ressourcen verwendet. In dieser Phase führt der Dienst interne Konsistenzprüfungen durch, um sicherzustellen, dass die Ressource voll funktionsfähig ist und die von jedem AWS-Servicedefinierten Kriterien für die Dienststabilisierung erfüllt.

  • Ereignis Konfiguration abgeschlossen - Wenn jede Ressource die Phase der eventuellen Konsistenzprüfung der Bereitstellung abgeschlossen hat, wird ein Ereignis Detaillierter Status von CONFIGURATION_COMPLETE gesetzt.

  • Ereignis Ressourcenerstellung abgeschlossen - Nachdem die Ressource erstellt und wie angegeben konfiguriert wurde und die Konfiguration mit den Angaben in der Vorlage übereinstimmt, wird das Ereignis Status von CREATE_COMPLETE gesetzt.

Sie können das Ereignis CONFIGURATION_COMPLETE nutzen, um Ihren Stack-Erstellungsprozess in Szenarien zu rationalisieren, in denen eine Konsistenzprüfung der Ressourcen nicht erforderlich ist, wie z.B. bei der Validierung einer Vorproduktions-Stack-Konfiguration oder bei der stapelübergreifenden Bereitstellung. Sie können dieses Ereignis auf verschiedene Weise nutzen. Sie können es beispielsweise als visuelles Signal verwenden, um das Warten auf das Ende der Konsistenzprüfung von Ressourcen oder Stapeln zu überspringen. Oder Sie könnten damit einen automatisierten Mechanismus mit kontinuierlicher Integration und kontinuierlicher Bereitstellung (CI/CD) schaffen, um zusätzliche Aktionen auszulösen.

Wichtig

Die Nutzung des Ereignisses CONFIGURATION_COMPLETE beschleunigt zwar die Erstellung von Stapeln, aber Sie sollten sich der Nachteile bewusst sein, die damit verbunden sind. Erstens wird sie nur für eine Untergruppe von Ressourcentypen unterstützt, die die Drifterkennung unterstützen. Eine Liste der Ressourcentypen, die die Drifterkennung unterstützen, finden Sie unter Unterstützung für Ressourcentypen. Dieser Ansatz ist möglicherweise nicht für alle Szenarien geeignet, insbesondere wenn Ressourcen gründliche Konsistenzprüfungen erfordern, um die volle Betriebsbereitschaft in der gesamten Cloud-Umgebung zu gewährleisten (z. B. in Produktionsumgebungen). Wir empfehlen Ihnen, Ihre Einsatzanforderungen und die Wichtigkeit der Konsistenzprüfungen für jede Ressource sorgfältig zu prüfen. Verwenden Sie das Ereignis CONFIGURATION_COMPLETE , um die Bereitstellungsgeschwindigkeit zu optimieren, ohne die Integrität und Zuverlässigkeit Ihrer Infrastruktur zu beeinträchtigen.

Da das Ereignis CONFIGURATION_COMPLETE nicht garantiert gesetzt wird, sollten alle Szenarien, die es verwenden, darauf vorbereitet sein, ein Ereignis CREATE_COMPLETE zu behandeln, wenn kein Ereignis CONFIGURATION_COMPLETE gesetzt wurde.

Diagramm, das die Abfolge der Ereignisse bei der Erstellung von Ressourcen und der Konsistenzprüfung in einem Stapel zeigt.

Wenn die Stack-Bereitstellung beginnt, starten sowohl die AWS::ECR::Repository - als auch die AWS::ECS::Cluster -Ressourcen den Erstellungsprozess (ResourceStatus = CREATE_IN_PROGRESS. Wenn der Ressourcentyp AWS::ECR::Repository mit der eventuellen Konsistenzprüfung begonnen hat (DetailedStatus = CONFIGURATION_COMPLETE), kann die Ressource AWS::ECS::TaskDefinition den Erstellungsprozess starten. Sobald die Ressource AWS::ECS::TaskDefinition mit der Konsistenzprüfung beginnt, beginnt die Ressource AWS::ECS::Service mit dem Erstellungsprozess.

CREATE_IN_PROGRESS- und CREATE_COMPLETE-Ereignisse
  • [Stack]: CREATE_IN_PROGRESS

  • [Ressource]: ECR-Repository CREATE_IN_PROGRESS

  • [Ressource]: ECS-Cluster CREATE_IN_PROGRESS

  • [Ressource]: ECR-Repository CREATE_IN_PROGRESS, CONFIGURATION_COMPLETE

  • [Ressource]: ECS-Aufgabendefinition CREATE_IN_PROGRESS

  • [Ressource]: ECS-ClusterCREATE_IN_PROGRESS, CONFIGURATION_COMPLETE

  • [Ressource]: ECS-AufgabendefinitionCREATE_IN_PROGRESS, CONFIGURATION_COMPLETE

  • [Ressource]: ECS-Dienst CREATE_IN_PROGRESS

  • [Ressource]: ECR-Repository CREATE_COMPLETE

  • [Ressource]: ECS-Cluster CREATE_COMPLETE

  • [Ressource]: ECS-Dienst CREATE_IN_PROGRESS, CONFIGURATION_COMPLETE

  • [Stack]: CREATE_IN_PROGRESS, CONFIGURATION_COMPLETE

  • [Ressource]: ECS-Aufgabendefinition CREATE_COMPLETE

  • [Ressource]: ECS-Dienst CREATE_COMPLETE

  • [Stack]: CREATE_COMPLETE