使用 CloudFormation 範本 - AWS CloudFormation

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

使用 CloudFormation 範本

AWS CloudFormation 範本會定義您要建立、更新或刪除 AWS 的資源,作為堆疊的一部分。它由數個區段組成,但唯一需要的區段是Resources區段,必須宣告至少一個資源。

您可以使用下列方法建立範本:

  • AWS Infrastructure Composer – 設計範本的視覺化界面。

  • AWS CloudFormation 設計工具 – 範本設計的舊視覺化界面。

  • 文字編輯器 – 直接在 YAML JSON或 語法中寫入範本。

  • IaC 產生器 – 從您帳戶中佈建的資源產生範本,這些資源目前不是 所管理 CloudFormation。IaC 產生器適用於API您區域中的雲端控制支援的廣泛資源類型。

本節提供如何使用 CloudFormation 範本不同區段以及如何開始建立堆疊範本的全方位指南。它涵蓋下列主題:

範本的存放位置

Amazon S3 儲存貯體

您可以將 CloudFormation 範本存放在 Amazon S3 儲存貯體中。建立或更新堆疊時,您可以指定範本URL的 S3,而不是直接上傳。

如果您直接透過 AWS Management Console 或 上傳範本 AWS CLI,系統會自動為您建立 S3 儲存貯體。如需詳細資訊,請參閱從 CloudFormation 主控台建立堆疊

Git 儲存庫

使用 Git 同步 ,您可以將範本儲存在 Git 儲存庫中。建立或更新堆疊時,您可以指定包含範本的 Git 儲存庫位置和分支,而不是直接上傳或參考 S3 URL. CloudFormation automatically 監控指定的儲存庫和分支以進行範本變更。如需詳細資訊,請參閱使用 Git 同步從儲存庫原始程式碼建立堆疊

驗證範本

語法驗證

您可以使用 來驗證範本的 YAML JSON或 語法 validate-template CLI 命令,或在主控台上指定範本。主控台會自動執行驗證。如需詳細資訊,請參閱從 CloudFormation 主控台建立堆疊

不過,這些方法只會驗證範本的語法,不會驗證您為資源指定的屬性值。

其他驗證工具

如需更複雜的驗證和最佳實務檢查,您可以使用其他工具,例如:

範本入門

若要開始建立 CloudFormation 範本,請依照下列步驟進行:

  1. 選擇資源 – 識別您要包含在堆疊中的 AWS 資源,例如EC2執行個體、VPCs、安全群組等。

  2. 寫入範本 – 以 JSON或 YAML 格式寫入範本,定義資源及其屬性。

  3. 儲存範本 – 在本機使用副檔名儲存範本,例如:.yaml.json.txt

  4. 驗證範本 – 使用 驗證範本章節中所述的方法驗證範本。

  5. 建立堆疊 – 使用已驗證的範本建立堆疊。

計劃使用 CloudFormation 範本參考

當您撰寫範本時,您可以在 中找到不同資源類型的詳細語法文件AWS 資源和屬性類型參考

通常,您的堆疊範本需要內部函數來指派在執行時間之前無法使用的屬性值,以及控制資源行為的特殊屬性。當您撰寫範本時,請參閱下列資源以取得指引:

  • 內部函數參考 – 一些常用的內部函數包括:

    • Ref – 擷取參數的值或資源的實體 ID。

    • Sub – 以實際值取代字串中的預留位置。

    • GetAtt – 從範本中的資源傳回屬性的值。

    • Join – 將一組值加入單一字串。

  • 資源屬性參考 – 一些常用的特殊屬性包括:

    • DependsOn – 使用此屬性指定一個資源必須在另一個資源之後建立。

    • DeletionPolicy – 使用此屬性指定 CloudFormation 應如何處理資源的刪除。

    • Metadata – 使用此屬性來指定具有 資源的結構化資料。