設定要使用的 Amazon EC2 執行個體 CodeDeploy - AWS CodeDeploy

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

設定要使用的 Amazon EC2 執行個體 CodeDeploy

這些指示說明如何設定執行 Amazon EC2 執行個體,執行 Amazon Linux、Ubuntu 伺服器、RHEL 或視窗伺服器,以便在 CodeDeploy 部署中使用。

注意

如果您沒有 Amazon EC2 實例,則可以使用該 AWS CloudFormation 模板啟動一個運行 Amazon Linux 或 Windows 服務器的實例。我們不提供 Ubuntu 服務器或 RHEL 的模板。

步驟 1:確認 IAM 執行個體設定檔已連接至您的 Amazon EC2 執行個體

  1. 登入 AWS Management Console 並開啟 Amazon EC2 主控台,網址為 https://console.aws.amazon.com/ec2/

  2. 在導覽窗格的 Instances (執行個體) 下方,選擇 Instances (執行個體)

  3. 在清單中瀏覽並選擇您的 Amazon EC2 執行個體。

  4. 在詳細資料窗格的 [說明] 索引標籤上,記下 IAM 角色欄位中的值,然後繼續下一節。

    如果欄位為空白,您可以將 IAM 執行個體設定檔附加到執行個體。如需詳細資訊,請參閱將 IAM 角色附加至執行個體

步驟 2:確認附加的 IAM 執行個體設定檔具有正確的存取權限

  1. 在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/

  2. 在導覽窗格中,選擇角色

  3. 瀏覽並選擇您在上一節步驟 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的前置字元相同。如需這些顯示名稱為何不同的詳細資訊,請參閱執行個體設定檔

  4. 選取 Trust Relationships (信任關係) 索引標籤。如果受信任的實體中沒有讀取身分識別提供者 ec2.amazonaws.com 的項目,則無法使用此 Amazon EC2 執行個體。使用中的資訊停止並建立 Amazon EC2 執行個體使用的例證 CodeDeploy

    如果有一個讀取身份提供程序 ec2.amazonaws.com 的條目,並且您僅將應用程序存儲在存儲 GitHub庫中,然後跳到。步驟 3:標記 Amazon EC2 實例

    如果有一個讀取身分識別提供者 ec2.amazonaws.com 的項目,而您要將應用程式存放在 Amazon S3 儲存貯體中,請選擇「權限」索引標籤。

  5. 如果 Managed Policies (受管政策) 區域中有政策,則請展開政策,然後選擇 Edit policy (編輯政策)

  6. 選擇 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 代理程式時,可能會發生錯誤。若要僅授與 IAM 執行個體設定檔存取權限給 Amazon S3 中某些 CodeDeploy 資源套件儲存貯體,請使用下列政策,但移除要阻止存取的儲存貯體的行:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::replace-with-your-s3-bucket-name/*", "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:在亞馬遜 EC2 執行個體上安裝 AWS CodeDeploy 代理程式

如需如何在 Amazon EC2 執行個體上安裝 CodeDeploy 代理程式並驗證代理程式是否正在執行的指示,請參閱管理 CodeDeploy 代理程式作,然後繼續執行建立應用程式 CodeDeploy