AWS CodeDeploy
User Guide (API Version 2014-10-06)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

部署先决条件

在尝试部署之前,请确保您已经完成以下步骤。

  • 对于就地配置,您已创建或配置要部署到的实例。有关信息,请参阅 使用实例。对于蓝/绿部署,您有一个现有 Auto Scaling 组 (将用作替换环境的模板) 或有一个或多个实例或 Auto Scaling 组 (将指定为原始环境)。有关更多信息,请参阅 教程:部署到 Auto Scaling 组Auto Scaling

  • 您已创建一个应用程序,其中至少包括一个部署组。有关信息,请参阅 创建应用程序创建部署组

  • 您已准备好要部署到部署组中的实例的应用程序修订。有关信息,请参阅 使用应用程序修订

  • 如果要将自定义部署配置用于您的部署,请在开始部署过程之前创建它。有关信息,请参阅 创建部署配置

  • 如果您正在从某个 Amazon S3 存储桶部署应用程序修订,则该存储桶应与部署组中的实例位于相同的 AWS 区域中。

  • 如果您正在从某个 Amazon S3 存储桶部署应用程序修订,则已将一个 Amazon S3 存储桶策略应用于该存储桶,以向您的实例授予下载应用程序修订所需的权限。

    例如,以下 Amazon S3 存储桶策略允许从名为 codedeploydemobucket 的 Amazon S3 存储桶中的任意位置,下载附加了 IAM 实例配置文件 (其中包含 ARN arn:aws:iam::80398EXAMPLE:role/CodeDeployDemo) 的任意 Amazon EC2 实例:

    Copy
    { "Statement": [ { "Action": ["s3:Get*", "s3:List*"], "Effect": "Allow", "Resource": "arn:aws:s3:::codedeploydemobucket/*", "Principal": { "AWS": [ "arn:aws:iam::80398EXAMPLE:role/CodeDeployDemo" ] } } ] }

    以下 Amazon S3 存储桶策略允许从名为 codedeploydemobucket 的 Amazon S3 存储桶中的任意位置,下载具有关联 IAM 用户(其中包含 ARN arn:aws:iam::80398EXAMPLE:user/CodeDeployUser)的任意本地实例:

    Copy
    { "Statement": [ { "Action": ["s3:Get*", "s3:List*"], "Effect": "Allow", "Resource": "arn:aws:s3:::codedeploydemobucket/*", "Principal": { "AWS": [ "arn:aws:iam::80398EXAMPLE:user/CodeDeployUser" ] } } ] }

    要了解如何生成和附加 Amazon S3 存储桶策略,请参阅存储桶策略示例

  • 如果您正在创建蓝/绿部署,则已使用 Amazon VPC 创建一个至少包含两个子网的 VPC。(对于蓝/绿部署过程,AWS CodeDeploy 将使用 Elastic Load Balancing,这要求负载均衡器组中的所有实例均在一个 VPC 中。)

    如果您尚未创建 VPC,请参阅 Amazon VPC 入门指南

  • 如果您正在创建蓝/绿部署,则已在 Elastic Load Balancing 中配置 Classic Load Balancer 并使用它来注册将组成您的原始环境的实例。

    注意

    替换环境中的实例稍后在部署过程中将会向负载均衡器注册。

    要配置负载均衡器,请完成 传统负载均衡器 用户指南 中的教程:创建 Classic Load Balancer 中的步骤。在操作过程中,记下以下内容:

    • 步骤 2:定义负载均衡器中的创建内部负载均衡器中,选择创建实例时所选的同一 VPC。

    • 步骤 5:向负载均衡器注册 EC2 实例中,选择原始环境中的实例。

    • 步骤 7:创建并验证您的负载均衡器中,记录负载均衡器的 DNS 地址。

      例如,如果您已将负载均衡器命名为 my-load-balancer,则您的 DNS 地址将以类似于 my-load-balancer-1234567890.us-east-1.elb.amazonaws.com 的格式显示。

      当您将 DNS 名称粘贴到已连接 Internet 的 Web 浏览器的地址栏中时,您应该会看到您已为原始环境部署的应用程序。