

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

# 部署先决条件
<a name="deployments-create-prerequisites"></a>

在您开始部署之前，请确保完成以下步骤。

## AWS Lambda 计算平台上的部署先决条件
<a name="deployment-prerequisites-lambda"></a>
+ 创建一个应用程序，其中至少包括一个部署组。有关更多信息，请参阅 [使用创建应用程序 CodeDeploy](applications-create.md) 和 [使用创建部署组 CodeDeploy](deployment-groups-create.md)。
+ 准备应用程序修订（也称为 AppSpec 文件），用于指定要部署的 Lambda 函数版本。该 AppSpec 文件还可以指定 Lambda 函数来验证您的部署。有关更多信息，请参阅 [正在处理的应用程序修订版 CodeDeploy](application-revisions.md)。
+ 如果要将自定义部署配置用于您的部署，请在开始部署过程之前创建配置。有关信息，请参阅[使用创建部署配置 CodeDeploy](deployment-configurations-create.md)。

## EC2/本地计算平台上的部署先决条件
<a name="deployment-prerequisites-server"></a>
+ 对于就地配置，创建或配置要部署到的实例。有关信息，请参阅[使用以下实例 CodeDeploy](instances.md)。对于 blue/green 部署，您要么有一个现有 Amazon EC2 Auto Scaling 组用作替换环境的模板，要么有一个或多个实例或 Amazon EC2 Auto Scaling 组指定为原始环境。有关更多信息，请参阅[教程：用于 CodeDeploy 将应用程序部署到 Auto Scaling 组](tutorials-auto-scaling-group.md)和[CodeDeploy 与亚马逊 EC2 Auto Scaling 集成](integrations-aws-auto-scaling.md)。
+ 创建一个应用程序，其中至少包括一个部署组。有关更多信息，请参阅 [使用创建应用程序 CodeDeploy](applications-create.md) 和 [使用创建部署组 CodeDeploy](deployment-groups-create.md)。
+ 准备好要部署到部署组中的实例的应用程序修订。有关信息，请参阅[正在处理的应用程序修订版 CodeDeploy](application-revisions.md)。
+ 如果要将自定义部署配置用于您的部署，请在开始部署过程之前创建配置。有关信息，请参阅[使用创建部署配置 CodeDeploy](deployment-configurations-create.md)。
+ 如果您从 Amazon S3 存储桶部署应用程序修订，则该存储桶与您的部署组中的实例位于同一 AWS 区域。
+ 如果您要从 Amazon S3 存储桶部署应用程序修订，可对该存储桶应用 Amazon S3 存储桶策略。此策略为您的实例授予下载应用程序修订所需的权限。

  例如，以下 Amazon S3 存储桶策略允许从名为 `amzn-s3-demo-bucket` 的 Amazon S3 存储桶中的任何位置，下载附加了 IAM 实例配置文件（其中包含 ARN `arn:aws:iam::444455556666:role/CodeDeployDemo`）的任意 Amazon EC2 实例：

  ```
  {
      "Statement": [
          {
              "Action": [
                  "s3:Get*",
                  "s3:List*"
              ],
              "Effect": "Allow",
              "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
              "Principal": {
                  "AWS": [
                      "arn:aws:iam::444455556666:role/CodeDeployDemo"
                  ]
              }
          }
      ]
  }
  ```

  以下 Amazon S3 存储桶策略允许从名为 `amzn-s3-demo-bucket` 的 Amazon S3 存储桶中的任意位置，下载具有关联 IAM 用户（其中包含 ARN `arn:aws:iam::444455556666:user/CodeDeployUser`）的任意本地实例：

  ```
  {
      "Statement": [
          {
              "Action": [
                  "s3:Get*",
                  "s3:List*"
              ],
              "Effect": "Allow",
              "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
              "Principal": {
                  "AWS": [
                      "arn:aws:iam::444455556666:user/CodeDeployUser"
                  ]
              }
          }
      ]
  }
  ```

  有关如何生成和附加 Amazon S3 存储桶策略的信息，请参阅[存储桶策略示例](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html)。
+ 如果您正在创建 blue/green 部署，或者在部署组中为就地部署指定了可选的 Classic Load Balancer、Application Load Balancer 或 Network Load Balancer，则您已经使用 Amazon VPC 创建了一个包含至少两个子网的 VPC。 （CodeDeploy 使用 Elastic Load Balancing，它要求负载均衡器组中的所有实例都位于单个 VPC 中。）

  如果您尚未创建 VPC，请参阅 [Amazon VPC 入门指南](https://docs.aws.amazon.com/AmazonVPC/latest/GettingStartedGuide/ExerciseOverview.html)。
+ 如果您正在创建 blue/green 部署，则您已在 Elastic Load Balancing 中配置了至少一个 Classic Load Balancing、Application Load Balancing 或网络负载均衡器，并使用它来注册构成原始环境的实例。
**注意**  
替换环境中的实例稍后将用这个负载均衡器进行注册。

  有关配置负载均衡器的更多信息，请参阅[在 Elastic Load Balancing 中为 CodeDeploy Amazon EC2 部署设置负载均衡器](deployment-groups-create-load-balancer.md)和[为 A CodeDeploy mazon ECS 部署设置负载均衡器、目标组和侦听器](deployment-groups-create-load-balancer-for-ecs.md)。

## 通过以下方式进行部署的 blue/green 部署先决条件 CloudFormation
<a name="deployment-prerequisites-cfn-bg"></a>
+ 您的模板不需要为 CodeDeploy 应用程序或部署组对资源进行建模。
+ 对于至少包含两个子网且使用 Amazon VPC 的 VPC，您的模板必须包含相应资源。
+ 您的模板必须在 Elastic Load Balancing 中包含一个或多个经典负载均衡器、应用程序负载均衡器或网络负载均衡器的资源，用于将流量定向到目标群组。