本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
瞭解 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_PROGRESS
和 CREATE_COMPLETE
事件
-
[堆疊]:
CREATE_IN_PROGRESS
-
[資源]:ECR存儲庫
CREATE_IN_PROGRESS
-
[資源]:ECS集群
CREATE_IN_PROGRESS
-
[資源]:ECR存儲庫
CREATE_IN_PROGRESS
,CONFIGURATION_COMPLETE
-
[資源]:ECS任務定義
CREATE_IN_PROGRESS
-
[資源]:ECS集群
CREATE_IN_PROGRESS
,CONFIGURATION_COMPLETE
-
[資源]:ECS任務定義
CREATE_IN_PROGRESS
,CONFIGURATION_COMPLETE
-
[資源]:ECS服務
CREATE_IN_PROGRESS
-
[資源]:ECR存儲庫
CREATE_COMPLETE
-
[資源]:ECS集群
CREATE_COMPLETE
-
[資源]:ECS服務
CREATE_IN_PROGRESS
,CONFIGURATION_COMPLETE
-
[堆棧]:
CREATE_IN_PROGRESS
,CONFIGURATION_COMPLETE
-
[資源]:ECS任務定義
CREATE_COMPLETE
-
[資源]:ECS服務
CREATE_COMPLETE
-
[堆疊]:
CREATE_COMPLETE