本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Amazon EC2執行個體以使用 CodeDeploy
這些指示說明如何設定執行 Amazon Linux、Ubuntu Server、Red Hat Enterprise Linux (RHEL) 或 Windows Server 的 Amazon EC2執行個體,以用於 CodeDeploy 部署。
注意
如果您沒有 Amazon EC2執行個體,您可以使用 AWS CloudFormation 範本啟動執行中的 Amazon Linux 或 Windows Server。我們不為 Ubuntu Server 或 提供範本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 執行個體必須存取的 Amazon S3 儲存貯體。 EC2請務必提供 Amazon S3 儲存貯體的存取權,其中包含 CodeDeploy 代理程式。否則,在執行個體上安裝或更新 CodeDeploy 代理程式時,可能會發生錯誤。若要僅授予IAM執行個體設定檔對 Amazon S3 中某些 CodeDeploy 資源套件儲存貯體的存取權,請使用下列政策,但移除您要防止存取之儲存貯體的行:
{ "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。