

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 配置要使用的 Amazon EC2 实例 CodeDeploy
<a name="instances-ec2-configure"></a>

这些说明向您展示了如何配置运行亚马逊 Linux、Ubuntu 服务器、红帽企业 Linux (RHEL) 或 Windows 服务器的 Amazon EC2 实例以用于部署。 CodeDeploy 

**注意**  
如果您没有亚马逊 EC2 实例，则可以使用该 CloudFormation 模板启动一个运行亚马逊 Linux 或 Windows Server 的实例。我们不提供适用于 Ubuntu Server 或 RHEL 的模板。

## 步骤 1：验证 IAM 实例配置文件是否已附加到 Amazon EC2 实例
<a name="instances-ec2-configure-1-verify-instance-profile-attached"></a>

1. 登录 AWS 管理控制台 并打开 Amazon EC2 控制台，网址为[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/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. 使用 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 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 实例。使用[使用以下实例 CodeDeploy](instances.md)中的信息停止并创建 Amazon EC2 实例。

   如果有一个显示**身份提供商 ec2.amazonaws.com** 的条目，并且您仅将应用程序存储在存储 GitHub库中，请直接跳至。[步骤 3：为 Amazon EC2 实例添加标签](#instances-ec2-configure-3-tag-instance)

   如果有显示**身份提供商 ec2.amazonaws.com** 的条目，并且您将应用程序存储在 Amazon S3 存储桶中，则选择**权限**选项卡。

1. 如果**权限策略**区域中有一个策略，则展开该策略，然后选择**编辑策略**。

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 存储桶。确保允许访问包含 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)。