AWS CloudFormation 文物 - AWS CloudFormation

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

AWS CloudFormation 文物

CodePipeline 執行管線 CodePipeline 時,對人工因素執行工作。對於 AWS CloudFormation,人工因素可以包含堆疊範本檔案、範本組態檔案或兩者。 CodePipeline 會使用這些成品來處理 AWS CloudFormation 堆疊和變更集。

如果您使用 Amazon Simple Storage Service (Amazon S3) 作為來源儲存庫,則必須先將範本和範本組態檔案壓縮為單一檔案,再將檔案上傳至 S3 儲存貯體。對於其他存放庫,例如 GitHub 和 AWS CodeCommit,上傳成品而不壓縮它們。如需詳細資訊,請參閱《AWS CodePipeline 使用指南》 CodePipeline中的〈建立管道

您可以將所需數目的檔案新增至儲存庫。例如,建議您包括相同範本的兩個不同組態:一個用於測試組態,另一個用於生產組態。

本主題說明每種成品類型。

堆疊範本檔案

堆疊範本檔案會定義 AWS CloudFormation 佈建和設定的資源。這些檔案與您使用建立或更新堆疊時所使用的範本檔案相同 AWS CloudFormation。您可以使用YAML或JSON格式化的模板。如需範本的詳細資訊,請參閱範本區段

範本組態檔案

範本組態檔是一種JSON格式化的文字檔,可以指定範本參數值、堆疊原則和標籤。使用這些組態檔案,以指定參數值或堆疊的堆疊政策。您指定的所有參數值都必須宣告於相關聯的範本中。

若您在檔案包含敏感資訊 —例如密碼— 請限制此檔案的存取。例如,如果您將成品上傳至 S3 儲存貯體,則請使用 S3 儲存貯體政策或使用者政策來限制存取權。

若要建立組態檔案,請使用下列格式:

{ "Parameters" : { "NameOfTemplateParameter" : "ValueOfParameter", ... }, "Tags" : { "TagKey" : "TagValue", ... }, "StackPolicy" : { "Statement" : [ StackPolicyStatement ] } }

下列範例指定 TestEC2Key 參數的 KeyName,並新增值為 DepartmentMarketing 標籤,然後新增允許所有更新動作的堆疊政策,但刪除資源的更新除外。

{ "Parameters" : { "KeyName" : "TestEC2Key" }, "Tags" : { "Department" : "Marketing" }, "StackPolicy" : { "Statement" : [ { "Effect" : "Allow", "NotAction" : "Update:Delete", "Principal": "*", "Resource" : "*" } ] } }

另請參閱

以下相關資源可協助您使用這些參數。

  • 如需有關中 AWS CloudFormation 動作參數的詳細資訊 CodePipeline,請參閱《AWS CodePipeline 使用指南》中的AWS CloudFormation動作組態參考。

  • 如需動作提供者的範例範本值 (例如 Owner 欄位或 configuration 欄位),請參閱 AWS CodePipeline User Guide (《 使用者指南》) 中的 Action structure reference (動作結構參考)。

  • 若要以YAML或JSON格式下載範例管線堆疊範本,請參閱AWS CodePipeline 使用指南 AWS CloudFormation的建立管線下的教學課程。