

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

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

 [AWS CloudFormation](https://aws.amazon.com/cloudformation/) 是一項服務，可讓客戶使用以 YAML 或 JSON 表示的自訂範本語言來佈建和管理幾乎任何 AWS 資源。範本 CloudFormation 會在稱為*堆疊*的群組中建立基礎設施資源，並可讓您定義和自訂操作應用程式所需的所有元件，同時保留這些資源的完整控制權。使用 範本可在您的基礎設施上實作版本控制，並能夠快速可靠地複寫您的基礎設施。

 CloudFormation 提供對所有應用程式基礎設施元件的佈建和管理的精細控制，從路由表或子網路組態等低階元件，到 CloudFront 分佈等高階元件。 CloudFormation 通常與其他 AWS 部署服務或第三方工具搭配使用，結合 CloudFormation 更專業化的部署服務來管理在基礎設施元件上的應用程式程式碼部署。

 除了基本功能之外，AWS 還提供 CloudFormation 服務的擴充功能：
+  [AWS Cloud Development Kit (AWS CDK)](https://aws.amazon.com/cdk/) 是一種開放原始碼軟體開發套件 (SDK)，可透過程式設計方式使用 TypeScript、JavaScript、Python、Java 或 C\$1/ 建立 AWS 基礎設施的模型。NET。
+  [AWS Serverless Application Model](https://aws.amazon.com/serverless/sam/) (AWS SAM) 是一種開放原始碼架構，可簡化在 AWS 上建置無伺服器應用程式。它提供速記語法來表達函數、APIs、資料庫和事件來源映射。

* 表 1： AWS CloudFormation 部署功能 *


|  功能  |  Description  | 
| --- | --- | 
|  佈建  |   CloudFormation 將自動建立和更新範本中定義的基礎設施元件。  如需使用 CloudFormation 範本建立基礎設施的詳細資訊，請參閱[AWS CloudFormation 最佳實務](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html)。  | 
|  設定  |   CloudFormation 範本提供廣泛的彈性來自訂和更新所有基礎設施元件。  如需自訂範本的詳細資訊，請參閱[CloudFormation 範本剖析](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)。  | 
|  部署  |   更新您的 CloudFormation 範本以變更堆疊中的資源。根據您的應用程式架構，您可能需要額外的部署服務來更新在基礎設施上執行的應用程式版本。  如需 CloudFormation 如何使用 [做為部署解決方案的詳細資訊，請參閱使用 在 Amazon EC2 上部署應用程式 AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/deploying.applications.html)。  | 
|  擴展  |  CloudFormation 不會代表您自動處理基礎設施擴展；不過，您可以為 CloudFormation 範本中的資源設定自動擴展政策。 | 
|  監控  |   CloudFormation 提供對範本中定義之基礎設施更新成功或失敗的原生監控，以及當範本中定義之資源不符合規格時監控*的偏離偵測*。需要為應用程式層級監控和指標設置其他監控解決方案。  如需如何[監控基礎設施更新的詳細資訊，請參閱監控堆疊更新的進度](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-monitor-stack.html)。 CloudFormation   | 

 下圖顯示 的常見使用案例 CloudFormation。在這裡， CloudFormation 範本是用來定義建立簡單三層 Web 應用程式所需的所有基礎設施元件。在此範例中，我們使用 中定義的引導指令碼 CloudFormation ，將最新版的應用程式部署到 Amazon EC2 執行個體；不過，將其他部署服務與 合併 CloudFormation ( CloudFormation 僅用於其基礎設施管理和佈建功能） 也是常見的做法。請注意，使用多個 CloudFormation 範本來建立基礎設施。在圖表中， CloudFormation 用於建立所有基礎設施元件，包括 IAM 角色、VPCs、子網路、路由表、安全群組和 Amazon S3 儲存貯體政策。個別 CloudFormation 範本用於建置應用程式架構的每個網域。

![\[AWS CloudFormation 使用案例\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/overview-deployment-options/images/image2.png)


*AWS CloudFormation 使用案例 *