範本概觀 - AWS CloudFormation

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

範本概觀

同時 AWS CloudFormation 範本定義 AWS 您想要在堆疊中建立、更新或刪除的資源。它由幾個部分組成,但唯一需要的部分是Resources部分,它必須聲明至少一個資源。

  • 如需具有所有可用區段的完整範本結構,請參閱範本格式

  • 如需每個區段的詳細資訊,請參閱範本區段

範本檔案遵循使用 JavaScript 物件標記法 (JSON) 或YAML標準的特定格式規則。JSON更冗長和剛性,同時YAML更具可讀性和靈活性。如需詳細資訊,請參閱範本格式

範本儲存位置

Amazon S3 儲存貯體

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

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

Git 儲存庫

使用 Git 同步,您可以將模板存儲在 Git 存儲庫中。建立或更新堆疊時,您可以指定包含範本的 Git 儲存庫位置和分支,而不是直接上傳或參考 S3 URL。 CloudFormation 自動監視指定的存儲庫和分支的模板更改。

驗證範本

語法驗證

您可以使用驗證範本的JSON或YAML語法 validate-templateCLI命令或通過在控制台上指定模板。控制台自動執行驗證。不過,這些方法只會驗證範本的語法,而不會驗證您為資源指定的屬性值。

其他驗證工具

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

開始使用範本

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

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

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

  3. 驗證範本 — 使用本節中描述的方法驗證範驗證範本本。

  4. 建立堆疊 — 使用已驗證的範本建立堆疊。

其他資源

  • AWS 資源和屬性類型參考供宣告不同資源類型的語法。

  • 您可以使用內部函數參考文件函數來執行工作,例如加入字串或參考範本中的其他資源。常用的內在函數包括:

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

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

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

    • Join— 將一組值合併為單一字串。

  • 可以使用的資源屬性參考文檔特殊屬性,包括:

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

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

    • Metadata— 使用此屬性可指定包含資源的結構化資料。