本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 CloudFormation 範本
AWS CloudFormation 範本會定義您要建立、更新或刪除 AWS 的資源,做為堆疊的一部分。它包含多個區段,但唯一必要的區段是 Resources 區段,且該區段必須宣告至少一項資源。
您可以使用下列方法建立範本:
-
AWS Infrastructure Composer – 用於設計範本的視覺化介面。
-
文字編輯器 – 直接以 JSON 或 YAML 語法撰寫範本。
-
IaC 產生器 – 從您帳戶中已佈建但目前未由 CloudFormation 管理的資源產生範本。IaC 產生器可搭配您所在區域中 Cloud Control API 支援的多種資源類型使用。
本節提供完整指南,說明如何使用 CloudFormation 範本的各個區段,以及如何開始建立堆疊範本。它涵蓋下列主題:
主題
範本的儲存位置
Amazon S3 儲存貯體
您可以將 CloudFormation 範本儲存在 Amazon S3 儲存貯體中。建立或更新堆疊時,您可以指定範本的 S3 URL,而非直接上傳。
如果您直接透過 AWS 管理主控台 或 上傳範本 AWS CLI,系統會自動為您建立 S3 儲存貯體。如需詳細資訊,請參閱從 CloudFormation 主控台建立堆疊。
Git 儲存庫
使用 Git 同步,您可以在 Git 儲存庫中儲存範本。建立或更新堆疊時,您可以指定包含範本的 Git 儲存庫位置和分支,而非直接上傳或參考 S3 URL。CloudFormation 會自動監控指定儲存庫和分支的範本變更。如需詳細資訊,請參閱使用 Git 同步從儲存庫原始程式碼建立堆疊。
驗證範本
在部署之前驗證您的範本,以便您可以更早找到並修正問題。CloudFormation 服務和本節中的工具會檢查範本的不同部分。您可以一起使用它們。
您可以檢查範本是否搭配 CLI 命令使用有效的 JSON validate-template 或 YAML,或在 中指定您的範本 AWS 管理主控台。主控台會自動執行此檢查。這些服務端檢查不會執行下列工具提供的額外屬性、安全性或最佳實務檢查:
-
CloudFormation 語言伺服器 – 在編輯器中撰寫範本時,取得建議、文件和驗證意見回饋。
-
CloudFormation Linter – 從命令列、編輯器或自動建置檢查資源屬性、允許的值和常見問題。
-
CloudFormation 驗證 – 從命令列或程式庫執行本機離線檢查,並新增自訂 Rego
或 Guard 規則。 會在合成範本後自動 AWS CDK 使用此驗證器。 -
CloudFormation Guard – 撰寫政策規則,並根據組織的安全性、合規性和控管要求檢查範本。
搭配 AI 編碼代理器使用
AI 編碼代理程式可協助您使用 GitHub 上 Agent Toolkit for AWSaws-cloudformation技能撰寫、驗證和疑難排解 CloudFormation 範本。如需安裝指示,請參閱客服人員設定指南。
了解驗證範圍
本機工具會檢查範本和您提供的規則。他們無法保證 AWS 帳戶 和 中的目前資源、許可和配額會讓部署成功 AWS 區域。部署之前,請檢閱變更集並修正 CloudFormation 服務報告的任何問題。
開始使用範本
若要開始建立 CloudFormation 範本,請遵循下列步驟:
-
選擇資源 – 識別您要包含在堆疊中的 AWS 資源,例如 EC2 執行個體、VPCs、安全群組等。
-
撰寫範本 – 以 JSON 或 YAML 格式撰寫範本,定義資源及其屬性。
-
儲存範本 – 在本機使用副檔名儲存範本,例如:
.json、.yaml或.txt。 -
驗證範本 – 使用 驗證範本 章節所述的方法驗證範本。
-
建立堆疊 – 使用經驗證的範本建立堆疊。
規劃使用 CloudFormation 範本參考
撰寫範本時,您可以在《AWS 資源與屬性類型參考》中,找到不同資源類型的詳細語法文件。
您的堆疊範本通常需要使用內建函數,指派執行時期才會可用的屬性數值,並使用特殊屬性控制資源的行為。撰寫範本時,可參考下列資源取得指引:
範例範本
CloudFormation 提供開放原始碼堆疊範本,供您入門使用。如需詳細資訊,請參閱 GitHub CloudFormation 上的範本範例
請注意,這些範本並非可用於正式環境的版本。您應花時間了解其運作方式、根據自身需求調整,並確保其符合公司的合規標準。
此儲存庫中的每個範本都會通過 CloudFormation Linter