

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

# 設定 Amazon EC2 執行個體以使用 CodeDeploy
<a name="instances-ec2-configure"></a>

這些指示說明如何設定執行 Amazon Linux、Ubuntu Server、Red Hat Enterprise Linux (RHEL) 或 Windows Server 的 Amazon EC2 執行個體，以便在 CodeDeploy 部署中使用。

**注意**  
如果您沒有 Amazon EC2 執行個體，您可以使用 CloudFormation 範本啟動執行 Amazon Linux 或 Windows Server 的執行個體。我們不會提供 Ubuntu Server 或 RHEL 的範本。

## 步驟 1：確認 IAM 執行個體描述檔已連接至您的 Amazon EC2 執行個體
<a name="instances-ec2-configure-1-verify-instance-profile-attached"></a>

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)：// 開啟 Amazon EC2 主控台。

1. 在導覽窗格的 **Instances (執行個體)** 下方，選擇 **Instances (執行個體)**。

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

1. 在詳細資訊窗格中的**描述**索引標籤中，記下 **IAM 角色**欄位中的值，然後繼續下一個區段。

   如果 欄位為空，您可以將 IAM 執行個體描述檔連接至執行個體。如需詳細資訊，請參閱[將 IAM 角色連接至執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role)。

## 步驟 2：確認連接的 IAM 執行個體描述檔具有正確的存取許可
<a name="instances-ec2-configure-2-verify-instance-profile-permissions"></a>

1. 在以下網址開啟 IAM 主控台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在導覽窗格中，選擇**角色**。

1. 瀏覽並選擇您在上一節的步驟 4 中記下的 IAM 角色名稱。
**注意**  
如果您想要使用 CloudFormation 範本產生的服務角色，而不是遵循 中的指示建立的服務角色[步驟 2：建立 CodeDeploy 的服務角色](getting-started-create-service-role.md)，請注意下列事項：  
在某些版本的 CloudFormation 範本中，產生並連接至 Amazon EC2 執行個體的 IAM 執行個體描述檔顯示名稱與 IAM 主控台中的顯示名稱不同。例如，IAM 執行個體描述檔的顯示名稱可能是 `CodeDeploySampleStack-expnyi6-InstanceRoleInstanceProfile-IK8J8A9123EX`，而 IAM 主控台中的 IAM 執行個體描述檔的顯示名稱可能是 `CodeDeploySampleStack-expnyi6-InstanceRole-C5P33V1L64EX`。  
為了協助您在 IAM 主控台中識別執行個體描述檔，您會看到兩者的 字首`CodeDeploySampleStack-expnyi6-InstanceRole`相同。如需為何這些顯示名稱可能不同的詳細資訊，請參閱[執行個體描述](https://docs.aws.amazon.com/IAM/latest/UserGuide/instance-profiles.html)檔。

1. 選取 **Trust Relationships** (信任關係) 索引標籤。如果**信任的實體**中沒有讀取**身分提供者 (ec2.amazonaws.com) **的項目，則無法使用此 Amazon EC2 執行個體。使用 中的資訊停止並建立 Amazon EC2 執行個體[使用 CodeDeploy 的執行個體](instances.md)。

   如果有項目讀取**身分提供者 (ec2.amazonaws.com)**，而您只將應用程式存放在 GitHub 儲存庫中，請跳到 [步驟 3：標記 Amazon EC2 執行個體](#instances-ec2-configure-3-tag-instance)。

   如果有讀取**身分提供者 (ec2.amazonaws.com) **的項目，且您正在 Amazon S3 儲存貯體中存放應用程式，請選擇**許可**索引標籤。

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

1. 選擇 **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"}]}
   ```

   或者，這可能看起來如下：

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------

   如果 `"s3:Get*"` 和 `"s3:List*"` 不在指定的動作清單中，請選擇 **Edit (編輯)** 新增它們，然後選擇 **Save (儲存)** (如果 `"s3:Get*"` 和 `"s3:List*"` 都不是清單中的最後一個動作，則請務必在動作後面新增逗號，才能驗證政策文件)。
**注意**  
建議您將此政策限制為只有 Amazon EC2 執行個體必須存取的 Amazon S3 儲存貯體。 Amazon EC2 請務必讓 存取包含 CodeDeploy 代理程式的 Amazon S3 儲存貯體。否則，在執行個體上安裝或更新 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 執行個體
<a name="instances-ec2-configure-3-tag-instance"></a>

如需有關如何標記 Amazon EC2 執行個體以便在部署期間 CodeDeploy 可以找到它的說明，請參閱[在主控台中使用標籤](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_Console)，然後返回此頁面。

**注意**  
您可以使用您喜歡的任何金鑰和值來標記 Amazon EC2 執行個體。只務必在您部署至其中時，指定此金鑰和值。

## 步驟 4：在 Amazon EC2 執行個體上安裝 AWS CodeDeploy 代理程式
<a name="instances-ec2-configure-4-install-agent"></a>

如需如何在 Amazon EC2 執行個體上安裝 CodeDeploy 代理程式並驗證其是否正在執行的指示，請參閱 [管理 CodeDeploy 代理程式操作](codedeploy-agent-operations.md)，然後繼續 [使用 CodeDeploy 建立應用程式](applications-create.md)。