本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
範本概觀
同時 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 林特 (cfn-lint)
— 根據資源提供者模式驗證範本。包括檢查資源屬性的有效值和最佳做法。 -
CloudFormation 雨 (雨 fmt)
— 將 CloudFormation 範本格式化為一致的標準,或將範本從重新格式化JSON為 YAML (或YAML結束)。JSON它在使用時保留註釋,YAML並在可能的情況下將內部函數的使用切換為簡短語法。
開始使用範本
若要開始建立 CloudFormation 範本,請依照下列步驟執行:
-
選擇資源 — 識別 AWS 您想要包含在堆疊中的資源,例如EC2執行個體VPCs、安全群組等。
-
撰寫範本 — 以JSON或YAML格式撰寫範本,以定義資源及其屬性。
-
驗證範本 — 使用本節中描述的方法驗證範驗證範本本。
-
建立堆疊 — 使用已驗證的範本建立堆疊。
其他資源
-
提AWS 資源和屬性類型參考供宣告不同資源類型的語法。
-
您可以使用內部函數參考文件函數來執行工作,例如加入字串或參考範本中的其他資源。常用的內在函數包括:
-
可以使用的資源屬性參考文檔特殊屬性,包括:
-
DependsOn— 使用此屬性可指定必須在另一個資源之後建立。
-
DeletionPolicy— 使用此屬性可指定 CloudFormation 應如何處理資源刪除。
-
Metadata— 使用此屬性可指定包含資源的結構化資料。
-