AWS CloudFormation 堆疊建立事件 - AWS CloudFormation

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS CloudFormation 堆疊建立事件

在堆疊部署期間,大部分時間用於針對堆疊建立的資源建立、設定和執行最終一致性檢查。當每個資源開始建立程序時,會設定CREATE_IN_PROGRESS事件狀態。在最終一致性檢查階段,服務會執行內部一致性檢查,確保資源完全運作,並符合各 AWS 服務項所定義的服務穩定標準。當每個資源都完成佈建的最終一致性檢查階段時,會設定CONFIGURATION_COMPLETE事件的詳細狀態。建立資源並依指定配置,且組態與範本中指定的內容相符之後,就會設定CREATE_COMPLETE事件的狀態

在不需要資源最終一致性檢查的情況下,例如驗證生產前堆疊配置或跨堆疊佈建,您可以利用此CONFIGURATION_COMPLETE事件來簡化堆疊建立程序。您可以透過多種方式使用此事件。例如,您可以使用它作為視覺信號,以跳過等待資源或堆棧一致性檢查完成。或者,您可以使用它來建立自動化機制,使用持續整合和持續傳遞 (CI/CD) 來觸發其他動作。

重要

雖然利用該CONFIGURATION_COMPLETE事件可以加快堆棧創建時間,但您應該意識到它的權衡。首先,僅支援漂移偵測的資源類型子集。如需支援漂移偵測的資源類型清單,請參閱資源類型支援。這種方法可能不適用於所有情況,尤其是資源需要徹底的最終一致性檢查以確保整個雲端環境(例如,在生產環境中)的完整操作準備情況下。我們建議您仔細評估您的部署需求,以及每個資源的一致性檢查的重要性。使用此CONFIGURATION_COMPLETE事件來優化部署速度,而不會影響基礎架構的完整性和可靠性。

因為不保證會設定CONFIGURATION_COMPLETE事件,所以使用它的任何案例都應該準備好在沒有設定CREATE_COMPLETE事件時處理CONFIGURATION_COMPLETE事件。

顯示堆疊中資源建立和最終一致性檢查的事件順序的圖表。

當堆疊部署開始時,AWS::ECR::Repository和資AWS::ECS::Cluster源都會啟動建立程序 (ResourceStatus=CREATE_IN_PROGRESS. 當資AWS::ECR::Repository源類型啟動最終一致性檢查 (DetailedStatus=CONFIGURATION_COMPLETE) 時,AWS::ECS::TaskDefinition資源就可以開始建立程序。同樣地,一旦資AWS::ECS::TaskDefinition源開始進行最終一致性檢查,AWS::ECS::Service資源就會開始建立程序。

CREATE_IN_PROGRESSCREATE_COMPLETE 事件
  • [堆疊]:CREATE_IN_PROGRESS

  • [資源]:ECR 儲存庫 CREATE_IN_PROGRESS

  • [資源]:ECS 集群 CREATE_IN_PROGRESS

  • [資源]:ECR 儲存庫CREATE_IN_PROGRESSCONFIGURATION_COMPLETE

  • [資源]:ECS 任務定義 CREATE_IN_PROGRESS

  • [資源]:ECS 集群CREATE_IN_PROGRESSCONFIGURATION_COMPLETE

  • [資源]:ECS 任務定義CREATE_IN_PROGRESSCONFIGURATION_COMPLETE

  • [資源]: ECS 服務 CREATE_IN_PROGRESS

  • [資源]:ECR 儲存庫 CREATE_COMPLETE

  • [資源]:ECS 集群 CREATE_COMPLETE

  • [資源]: ECS 服務CREATE_IN_PROGRESS, CONFIGURATION_COMPLETE

  • [堆棧]:CREATE_IN_PROGRESSCONFIGURATION_COMPLETE

  • [資源]:ECS 任務定義 CREATE_COMPLETE

  • [資源]: ECS 服務 CREATE_COMPLETE

  • [堆疊]:CREATE_COMPLETE

如需詳細資訊,請參閱檢視堆疊事件歷史記錄DescribeStackEventsAPI 作業