範本驗證 - AMS 進階應用程式開發人員指南

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

範本驗證

您可以在將 CloudFormation 範本提交至 AMS 之前進行自我驗證。

提交至 AMS CloudFormation 擷取的範本經過驗證,以確保可在 AMS 帳戶中安全地部署。驗證程序會檢查下列項目:

  • 支援的資源 – 僅使用 AMS CloudFormation 擷取支援的資源。如需詳細資訊,請參閱支援的資源

  • 支援的 AMIs – 範本中的 AMI 是 AMS 支援的 AMI。如需 AMS AMIs的詳細資訊,請參閱 AMS Amazon Machine Image AMIs)

  • AMS 共用服務子網路 – 範本不會嘗試在 AMS 共用服務子網路中啟動資源。

  • 資源政策 – 沒有過度寬鬆的資源政策,例如可公開讀取或可寫入的 S3 儲存貯體政策。AMS 不允許公開讀取或寫入 S3 儲存貯體 AWS 帳戶。

您可以使用 CloudFormation Linter 工具,在將 CloudFormation 範本提交至 AMS 之前進行自我驗證。

CloudFormation Linter 工具是驗證 CloudFormation 範本的最佳方式,因為它可驗證資源/屬性名稱、資料類型和函數。如需詳細資訊,請參閱 aws-cloudformation/cfn-python-lint

先前顯示的範本 CloudFormation Linter 輸出如下所示:

$ cfn-lint -t ./testtmpl.json E3002 Invalid Property Resources/SNSTopic/Properties/Name ./testtmpl.json:6:9

為了協助離線驗證 CloudFormation 範本,AMS 已為 CloudFormation Linter 工具開發一組可插入的自訂驗證規則。它們位於 AMS 主控台的開發人員資源頁面上。

請依照下列步驟使用擷取 CloudFormation 前驗證指令碼:

  1. 安裝 CloudFormation Linter 工具。如需安裝說明,請參閱 aws-cloudformation / cfn-lint

  2. 下載具有驗證指令碼的 .zip 檔案:

    CFN Lint 自訂規則

  3. 將連接的規則解壓縮到您選擇的目錄。

  4. 執行下列命令來驗證您的 CloudFormation 範本:

    cfn-lint --template {TEMPLATE_FILE} --append-rules {DIRECTORY_WITH_CUSTOM_RULES}