

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

# 使用 CloudFormation 堆疊以單一單位管理 AWS 資源
<a name="stacks"></a>

堆疊是您可以單一單位管理的一組 AWS 資源。換言之，您可以建立、更新及刪除堆疊，來建立、更新及刪除資源集合。

**建立堆疊**需部署 CloudFormation 範本，範本中會指定資源及其組態，其後由 CloudFormation 佈建並設定這些資源。

**更新堆疊**需變更範本或參數。CloudFormation 會將您提交的變更與您堆疊目前的狀態進行比較，並只更新變更的資源。CloudFormation 可能會中斷資源或取代更新的資源，取決於您更新的屬性。如需資源更新行為的詳細資訊，請參閱 [了解更新堆疊資源的行為](using-cfn-updating-stacks-update-behaviors.md)。

CloudFormation 提供更新堆疊的兩種方式：
+ **變更集** – 使用變更集，您可以預覽 CloudFormation 對您堆疊進行的變更，然後決定是否要套用那些變更。變更集為 JSON 格式的文件，摘要 CloudFormation 對堆疊進行的變更。當您希望確保 CloudFormation 不會進行任何無意變更，或是您希望考慮幾個選項時，請使用變更集。例如，您可以使用變更集確認 CloudFormation 不會在更新期間取代您堆疊的資料庫執行個體。
+ **直接更新** – 當您直接更新堆疊時，您會提交變更，CloudFormation 也會立即部署他們。當您希望快速部署更新時，請使用直接更新。

**刪除堆疊**會刪除與之相關聯的資源。舉例來說，堆疊可包含所有需要用來執行 Web 應用程式的資源，例如 Web 伺服器、資料庫和網路規則。若您不再需要該 Web 應用程式，您只需要刪除堆疊，即可刪除所有相關資源。

**注意**  
您必須為運作堆疊資源的期間支付費用 (即使您立即刪除堆疊)。

CloudFormation 確保所有堆疊資源都會以適當方式建立或刪除。因為 CloudFormation 將堆疊資源視為單一單位，他們必須全部成功建立或成功刪除，才能使堆疊成功建立或刪除。若無法建立其中一項資源，CloudFormation 會復原堆疊並自動刪除任何已建立的資源。若無法刪除其中一項資源，任何剩餘的資源都會受到保留，直到可成功刪除堆疊為止。

**Topics**
+ [管理堆疊的介面](#interfaces-for-managing-stacks)
+ [從 CloudFormation 主控台建立堆疊](cfn-console-create-stack.md)
+ [在 CloudFormation 主控台中檢視堆疊資訊](cfn-console-view-stack-data-resources.md)
+ [更新您的堆疊範本](using-cfn-updating-stacks-get-template.md)
+ [了解更新堆疊資源的行為](using-cfn-updating-stacks-update-behaviors.md)
+ [透過變更集更新 CloudFormation 堆疊](using-cfn-updating-stacks-changesets.md)
+ [驗證堆疊部署](validate-stack-deployments.md)
+ [直接更新堆疊](using-cfn-updating-stacks-direct.md)
+ [取消堆疊更新](using-cfn-stack-update-cancel.md)
+ [從 CloudFormation 主控台中刪除堆疊](cfn-console-delete-stack.md)
+ [監控堆疊進度](monitor-stack-progress.md)
+ [透過復原觸發條件，在警示違規時復原您的 CloudFormation 堆疊](using-cfn-rollback-triggers.md)
+ [透過漂移偵測功能，偵測堆疊和資源的未受管組態變更](using-cfn-stack-drift.md)
+ [將 AWS 資源匯入 CloudFormation 堆疊](import-resources.md)
+ [堆疊重構](stack-refactoring.md)
+ [資源類型支援](resource-import-supported-resources.md)
+ [使用快速建立連結來建立 CloudFormation 堆疊](cfn-console-create-stacks-quick-create-links.md)
+ [AWS CLI 和 PowerShell 的 CloudFormation 堆疊操作命令範例](service_code_examples.md)

## 管理堆疊的介面
<a name="interfaces-for-managing-stacks"></a>

您可以透過下列介面管理 CloudFormation 堆疊：
+ **CloudFormation 主控台** – 提供 Web 介面，您可使用此介面來存取堆疊。您可以使用導覽列上的 AWS 管理主控台搜尋方塊來搜尋 CloudFormation**CloudFormation**，然後從搜尋結果中選擇 **CloudFormation**，以存取 CloudFormation 主控台。
+ **AWS Command Line Interface** – 提供包括 CloudFormation 在內的大量 AWS 服務命令，Windows、Mac 和 Linux 都支援。如需有關 CloudFormation 命令的資訊，請參閱《AWS CLI 命令參考**》中的 [cloudformation](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/)。
+ **AWS Tools for PowerShell** - 一組建立在 適用於 .NET 的 SDK公開的功能之上的 PowerShell 模組。Tools for PowerShell 可讓您從PowerShell命令列編寫 AWS 資源操作的指令碼。您可以在 [AWS Tools for PowerShell Cmdlet 參考](https://docs.aws.amazon.com/powershell/latest/reference/Index.html)中找到適用於 CloudFormation 的 cmdlets。
+ **Query API** – 提供您可以使用 HTTPS 請求呼叫的低層級 API 動作。若您在應用程式中進行 API 呼叫，必須撰寫程式碼處理低階詳細資訊，例如產生用於請求簽名的雜湊值。關於 CloudFormation 的 API 動作的詳細資訊，請參閱《*AWS CloudFormation API 參考*》中的[動作](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Operations.html)。
+ **AWS SDKs** – 提供語言特定的 APIs，並負責許多連線詳細資訊，例如計算簽章、處理請求重試和錯誤處理。如需詳細資訊，請參閱 在 [AWS](https://aws.amazon.com/developer/tools/)。
+ **AWS Cloud Development Kit (AWS CDK)** – AWS CDK 是一種開放原始碼軟體開發架構，可讓您使用熟悉的程式設計語言定義 AWS 基礎設施，例如 TypeScript、Python、Java 和 .NET。透過 CDK，您可以建立應用程式資源的模型，然後直接從整合式開發環境 (IDE) 使用 CloudFormation 佈建這些資源。如需詳細資訊，請參閱[AWS Cloud Development Kit (AWS CDK)](https://aws.amazon.com/cdk/)。