本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
範例 2:使用 建立 Amazon S3 管道 AWS CloudFormation
此逐步解說說明如何使用 AWS CloudFormation 主控台建立基礎設施,其中包含連線至 Amazon S3 來源儲存貯體的管道。在本教學課程中,您會使用提供的範例範本檔案來建立資源堆疊,其中包含來源儲存貯體、成品存放區、管道和變更偵測資源,例如 Amazon CloudWatch Events 規則和 CloudTrail 追蹤。在 中建立資源堆疊之後 AWS CloudFormation,您可以在 AWS CodePipeline 主控台中檢視管道。管道是具有 Amazon S3 來源階段和 CodeDeploy 部署階段的兩階段管道。
先決條件:
您必須擁有下列資源,才能搭配 AWS CloudFormation 範例範本使用:
-
您必須已建立 Amazon EC2 執行個體,並在其中安裝 CodeDeploy 代理程式。您必須已建立 CodeDeploy 應用程式和部署群組。使用您在 中建立的 Amazon EC2 和 CodeDeploy 資源教學課程:建立簡單的管道 (CodeCommit 儲存庫)。
-
選擇下列連結,下載範例 AWS CloudFormation 範本檔案,以使用 Amazon S3 來源建立管道:
-
從 SampleApp_Linux.zip 下載範例應用程式。
將 .zip 檔案儲存至本機電腦。在建立堆疊之後,您會上傳 .zip 檔案。
在 中建立管道 AWS CloudFormation
-
開啟 AWS CloudFormation 主控台,然後選擇建立堆疊。選擇 With new resources (standard) (使用新資源 (標準))。
-
在選擇範本中,選擇上傳範本。選取選擇檔案,然後從本機電腦選擇範本檔案。選擇 Next (下一步)。
-
在 Stack name (堆疊名稱) 中,輸入管道的名稱。即會顯示範例範本指定的參數。輸入下列參數:
-
在 ApplicationName 中,輸入 CodeDeploy 應用程式的名稱。您可以取代
DemoApplication
預設名稱。 -
在 BetaFleet 中,輸入 CodeDeploy 部署群組的名稱。您可以取代
DemoFleet
預設名稱。 -
在 SourceObjectKey 中,輸入
SampleApp_Linux.zip
。您可以在範本建立儲存貯體和管道後,將此檔案上傳到您的儲存貯體。
-
-
選擇 Next (下一步)。接受以下頁面上的預設值,然後選擇 Next (下一步)。
-
在功能中,選取我確認 AWS CloudFormation 可能會建立 IAM 資源,然後選擇建立堆疊。
-
在完成您的堆疊建立之後,請檢視事件清單以檢查是否有任何錯誤。
疑難排解
在 中建立管道的 IAM 使用者 AWS CloudFormation 可能需要額外的許可,才能為管道建立資源。政策需要下列許可 AWS CloudFormation ,才能允許 為 Amazon S3 管道建立所需的 Amazon CloudWatch Events 資源: Amazon S3
{ "Effect": "Allow", "Action": [ "events:PutRule", "events:PutEvents", "events:PutTargets", "events:DeleteRule", "events:RemoveTargets", "events:DescribeRule" ], "Resource": "
resource_ARN
" } -
在堆疊的資源索引標籤 AWS CloudFormation中,檢視為堆疊建立的資源。
注意
若要檢視已建立的管道,請在堆疊的資源索引標籤下尋找邏輯 ID 欄 AWS CloudFormation。記下管道實體 ID 欄中的名稱。在 CodePipeline 中,您可以在建立堆疊的區域中檢視具有相同實體 ID (管道名稱) 的管道。
選擇名稱中包含
sourcebucket
標籤的 S3 儲存貯體,例如s3-cfn-codepipeline-sourcebucket-y04EXAMPLE.
。請不要選擇管道成品儲存貯體。來源儲存貯體是空白的,因為 AWS CloudFormation才剛建立資源。開啟 Amazon S3 主控台並找到您的儲存
sourcebucket
貯體。選擇 Upload (上傳) 並遵循說明,來上傳您的SampleApp_Linux.zip
.zip 檔案。注意
當 Amazon S3 是管道的來源提供者時,您必須將所有原始檔案上傳到儲存貯體,並封裝為單一 .zip 檔案。否則,來源動作會失敗。
-
登入 AWS Management Console 並開啟 CodePipeline 主控台,網址為 https://https://console.aws.amazon.com/codepipeline/
。 在 Pipelines (管道) 下,選擇您的管道,然後選擇 View (檢視)。本圖顯示您的管道來源和部署階段。
-
完成下列程序中的步驟來建立 AWS CloudTrail 資源。
在 中建立您的 AWS CloudTrail 資源 AWS CloudFormation
-
開啟 AWS CloudFormation 主控台,然後選擇建立堆疊。
-
在 Choose a template (選擇範本) 中,請選擇 Upload a template to Amazon S3 (上傳範本至 Amazon S3)。選擇瀏覽,然後從本機電腦選取 AWS CloudTrail 資源的範本檔案。選擇 Next (下一步)。
-
在 Stack name (堆疊名稱) 中,輸入資源堆疊的名稱。即會顯示範例範本指定的參數。輸入下列參數:
-
在 SourceObjectKey (SourceObjectKey) 中,接受範例應用程式的壓縮檔預設值。
-
-
選擇 Next (下一步)。接受以下頁面上的預設值,然後選擇 Next (下一步)。
-
在功能中,選取我確認 AWS CloudFormation 可能會建立 IAM 資源,然後選擇建立。
-
在完成您的堆疊建立之後,請檢視事件清單以檢查是否有任何錯誤。
政策需要下列許可 AWS CloudFormation ,才能允許 為 Amazon S3 管道建立所需的 CloudTrail 資源:
{ "Effect": "Allow", "Action": [ "cloudtrail:CreateTrail", "cloudtrail:DeleteTrail", "cloudtrail:StartLogging", "cloudtrail:StopLogging", "cloudtrail:PutEventSelectors" ], "Resource": "
resource_ARN
" } -
登入 AWS Management Console 並開啟 CodePipeline 主控台,網址為 https://https://console.aws.amazon.com/codepipeline/
。 在 Pipelines (管道) 下,選擇您的管道,然後選擇 View (檢視)。本圖顯示您的管道來源和部署階段。
-
在來源儲存貯體中遞交並推送變更。您的變更偵測資源會套用該變更,然後您的管道便會啟動。