

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

# 了解 CloudFormation 堆疊建立事件
<a name="stack-resource-configuration-complete"></a>

在堆疊部署期間，會發生多個事件以建立、設定和驗證堆疊範本中定義的資源。了解這些事件能協助您最佳化堆疊建立程序，並簡化部署作業。
+ **資源建立事件** – 當每個資源開始建立程序時，會設定 `CREATE_IN_PROGRESS` 事件**狀態**。此事件表示資源正在佈建中。
+ **最終一致性檢查** – 堆疊建立時間的相當大部分用於對堆疊建立的資源執行最終一致性檢查。在此階段，服務會執行內部一致性檢查，確保資源可完全運作，並符合每個資源定義的服務穩定標準 AWS 服務。
+ **組態完成事件** – 每個資源完成佈建的最終一致性檢查階段時，會設定**詳細狀態**為 `CONFIGURATION_COMPLETE` 的事件。
+ **資源建立完成事件** – 資源依照指定建立和設定完成，且組態與範本中指定的內容一致後，會設定**狀態**為 `CREATE_COMPLETE` 的事件。

在不需要資源最終一致性檢查的場景中，例如驗證預生產環境堆疊組態或跨堆疊佈建，您可以利用 `CONFIGURATION_COMPLETE` 事件簡化堆疊建立程序。您可以透過多種方式使用此事件。例如，您可以將其做為視覺化信號，跳過等待資源或堆疊一致性檢查完成的步驟。或者，您可以使用它來建立使用持續整合和持續交付 (CI/CD) 建立自動化機制，以觸發額外動作。

**重要**  
雖然利用 `CONFIGURATION_COMPLETE` 事件能加快堆疊建立速度，但您需了解其權衡利弊。首先，它僅支援支援漂移偵測的部分資源類型。如需支援漂移偵測的資源類型清單，請參閱 [資源類型支援](resource-import-supported-resources.md)。此方法可能不適用於所有案例，尤其是在資源需要徹底的最終一致性檢查，以確保整個雲端環境 (例如在生產環境中) 的完整營運準備度的情況。建議您仔細評估您的部署需求以及每個資源一致性檢查的重要性。利用 `CONFIGURATION_COMPLETE` 事件最佳化部署速度，同時不影響基礎設施的完整性和可靠性。  
由於無法保證一定會設定 `CONFIGURATION_COMPLETE` 事件，因此所有使用此事件的場景都應準備好在未設定 `CREATE_COMPLETE` 事件時，處理 `CONFIGURATION_COMPLETE` 事件。

![\[圖表顯示堆疊中資源建立與最終一致性檢查的事件順序。\]](http://docs.aws.amazon.com/zh_tw/AWSCloudFormation/latest/UserGuide/images/configuration-complete.png)


堆疊部署開始時，`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`