本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定要使用的 Amazon EC2 執行個體 CodeDeploy
這些說明將說明如何設定EC2執行 Amazon Linux、Ubuntu 伺服器、RHEL (RHEL) 或 Windows 伺服器的 Amazon 執行個體,以便在 CodeDeploy 部署中使用。
注意
如果您沒有 Amazon EC2 實例,則可以使用該 AWS CloudFormation 模板啟動一個運行 Amazon Linux 或 Windows 服務器的實例。我們不提供 Ubuntu 伺服器或RHEL.
步驟 1:確認IAM執行個體設定檔已連接至 Amazon EC2 執行個體
-
登錄 AWS Management Console 並在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/
。 -
在導覽窗格的 Instances (執行個體) 下方,選擇 Instances (執行個體)。
-
在清單中瀏覽並選擇您的 Amazon EC2 執行個體。
-
在詳細資料窗格的 [描述] 索引標籤上,記下IAM角色欄位中的值,然後繼續下一節。
如果欄位為空白,您可以將IAM執行個體設定檔附加至執行個體。如需詳細資訊,請參閱將IAM角色附加至執行個體。
步驟 2:確認附加的IAM執行個體設定檔具有正確的存取權限
-
在開啟IAM主控台https://console.aws.amazon.com/iam/
。 -
在導覽窗格中,選擇角色。
-
瀏覽並選擇您在上一節步驟 4 中記下的IAM角色名稱。
注意
如果您要使用 AWS CloudFormation 範本所產生的服務角色,而不是依照中的指示建立的服務角色步驟 2:建立服務角色 CodeDeploy,請注意下列事項:
在某些版本的 AWS CloudFormation 範本中,產生並附加到 Amazon EC2 執行個體的執行個體設定檔的顯示名稱與IAM主控台中的顯示名稱不同。IAM例如,IAM執行個體設定檔的顯示名稱可能為
CodeDeploySampleStack-expnyi6-InstanceRoleInstanceProfile-IK8J8A9123EX
,而IAM主控台中的IAM執行個體設定檔的顯示名稱可能為CodeDeploySampleStack-expnyi6-InstanceRole-C5P33V1L64EX
。為了協助您識別IAM主控台中的執行個體設定檔,您會看到兩者
CodeDeploySampleStack-expnyi6-InstanceRole
的前置字元相同。如需這些顯示名稱為何不同的詳細資訊,請參閱執行個體設定檔。 -
選取 Trust Relationships (信任關係) 索引標籤。如果受信任的實體中沒有讀取身分識別提供者 ec2.amazonaws.com 的項目,則無法使用此 Amazon 執行個體。EC2使用中的資訊停止並建立 Amazon EC2 執行個體使用的例證 CodeDeploy。
如果有一個讀取身份提供程序 ec2.amazonaws.com 的條目,並且您僅將應用程序存儲在存儲 GitHub庫中,然後跳到。步驟 3:標記 Amazon EC2 實例
如果有一個讀取身分識別提供者 ec2.amazonaws.com 的項目,而您要將應用程式存放在 Amazon S3 儲存貯體中,請選擇「權限」索引標籤。
-
如果 Managed Policies (受管政策) 區域中有政策,則請展開政策,然後選擇 Edit policy (編輯政策)。
-
選擇標JSON籤。如果您要將應用程式存放在 Amazon S3 儲存貯體中,請確定
"s3:Get*"
並列"s3:List*"
在指定動作清單中。這可能看起來如下:
{"Statement":[{"Resource":"*","Action":[ ... Some actions may already be listed here ... "s3:Get*","s3:List*" ... Some more actions may already be listed here ... ],"Effect":"Allow"}]}
或者,這可能看起來如下:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ ... Some actions may already be listed here ... "s3:Get*", "s3:List*" ... Some more actions may already be listed here ... ], ... } ] }
如果
"s3:Get*"
和"s3:List*"
不在指定的動作清單中,請選擇 Edit (編輯) 新增它們,然後選擇 Save (儲存) (如果"s3:Get*"
和"s3:List*"
都不是清單中的最後一個動作,則請務必在動作後面新增逗號,才能驗證政策文件)。注意
建議您將此政策限制為只有 Amazon EC2 執行個體必須存取的 Amazon S3 儲存貯體。確保授予對包含 CodeDeploy 代理程式的 Amazon S3 儲存貯體的存取權。否則,在執行個體上安裝或更新 CodeDeploy 代理程式時,可能會發生錯誤。若要僅授與 Amazon S3 中某些 CodeDeploy 資源套件儲存貯體的IAM執行個體設定檔存取權,請使用下列政策,但移除要阻止存取的儲存貯體的行:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:s3:::aws-codedeploy-us-east-2/*", "arn:aws:s3:::aws-codedeploy-us-east-1/*", "arn:aws:s3:::aws-codedeploy-us-west-1/*", "arn:aws:s3:::aws-codedeploy-us-west-2/*", "arn:aws:s3:::aws-codedeploy-ca-central-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-2/*", "arn:aws:s3:::aws-codedeploy-eu-west-3/*", "arn:aws:s3:::aws-codedeploy-eu-central-1/*", "arn:aws:s3:::aws-codedeploy-eu-central-2/*", "arn:aws:s3:::aws-codedeploy-eu-north-1/*", "arn:aws:s3:::aws-codedeploy-eu-south-1/*", "arn:aws:s3:::aws-codedeploy-eu-south-2/*", "arn:aws:s3:::aws-codedeploy-il-central-1/*", "arn:aws:s3:::aws-codedeploy-ap-east-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-3/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-3/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*", "arn:aws:s3:::aws-codedeploy-ap-south-1/*", "arn:aws:s3:::aws-codedeploy-ap-south-2/*", "arn:aws:s3:::aws-codedeploy-me-central-1/*", "arn:aws:s3:::aws-codedeploy-me-south-1/*", "arn:aws:s3:::aws-codedeploy-sa-east-1/*" ] } ] }
步驟 3:標記 Amazon EC2 實例
如需如何標記 Amazon EC2 執行個體 CodeDeploy 以便在部署期間找到它的指示,請參閱在主控台中使用標籤,然後返回此頁面。
注意
您可以使用您喜歡的任何鍵和值來標記 Amazon EC2 實例。只務必在您部署至其中時,指定此金鑰和值。
步驟 4:在 Amazon EC2 執行個體上安裝 AWS CodeDeploy 代理程式
如需如何在 Amazon EC2 執行個體上安裝 CodeDeploy 代理程式並驗證代理程式是否正在執行的指示,請參閱管理 CodeDeploy 代理程式作,然後繼續執行建立應用程式 CodeDeploy。