

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

# CloudFormation
<a name="aws-cloudformation"></a>

AWS CloudFormation 是一項服務，可讓開發人員以有序且可預測的方式建立 AWS 資源。資源會使用 JSON 或 YAML 格式以文字檔撰寫。範本需要特定語法和結構，而這取決於所建立和管理的資源類型。您可以使用任何程式碼編輯器 (例如 [AWS Cloud9](https://aws.amazon.com/cloud9/)) 以 JSON 或 YAML 撰寫資源、將其簽入版本控制系統，然後 CloudFormation 便會以安全、可重複的方式建置指定的服務。

CloudFormation 範本會以堆疊的形式部署到 AWS 環境中。您可以透過 AWS 管理主控台 AWS Command Line Interface、 或 CloudFormation APIs管理堆疊。如果您需要變更堆疊中執行的資源，請更新堆疊。在變更資源之前，您可以產生變更集以列出請求變更的摘要。變更集可讓您在實作變更之前，了解變更如何影響您的執行中資源，尤其是關鍵資源。

![描述從一個範本 AWS CloudFormation 建立整個環境 （堆疊） 的圖表](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/introduction-devops-aws/images/figure-1.png)


您可以使用單一範本來建立和更新整個環境，或是使用個別範本來管理環境中的多層。這可讓範本模組化，也提供對許多組織很重要的控管層。

當您在 CloudFormation 主控台中建立或更新堆疊時，會顯示事件，顯示組態的狀態。如果發生錯誤，依預設，堆疊會復原至先前的狀態。Amazon SNS 會提供事件的通知。例如，您可以使用 Amazon SNS 來追蹤使用電子郵件建立和刪除堆疊的進度，並以程式設計方式與其他程序整合。

AWS CloudFormation 可讓您輕鬆地組織和部署 AWS 資源集合，並讓您在設定堆疊時描述任何相依性或傳遞特殊參數。

透過 CloudFormation 範本，您可以使用廣泛的 AWS 服務，例如 Amazon S3、Auto Scaling、Amazon CloudFront、Amazon DynamoDB、Amazon EC2、Amazon ElastiCache AWS Elastic Beanstalk、Elastic Load Balancing、IAM、AWS OpsWorks 和 Amazon VPC。如需支援資源的最新清單，請參閱[AWS 資源和屬性類型參考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)。