本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
部署先决条件
在您开始部署之前,请确保完成以下步骤。
Amazon Lambda计算平台上的部署先决条件
-
创建一个应用程序,其中至少包括一个部署组。有关信息,请参阅 使用创建应用程序 CodeDeploy 和 使用创建部署组 CodeDeploy。
-
准备应用程序修订(也称为 AppSpec 文件),用于指定要部署的 Lambda 函数版本。该 AppSpec 文件还可以指定 Lambda 函数来验证您的部署。有关更多信息,请参阅 使用 CodeDeploy 的应用程序修订。
-
如果要将自定义部署配置用于您的部署,请在开始部署过程之前创建配置。有关信息,请参阅 Create a Deployment Configuration。
EC2/本地计算平台上的部署先决条件
-
对于就地配置,创建或配置要部署到的实例。有关信息,请参阅 使用以下实例 CodeDeploy。对于蓝/绿部署,您要么有一个现有 Amazon EC2 Auto Scaling 组可用作替换环境的模板,要么有一个或多个实例或 Amazon EC2 Auto Scaling 组指定为原始环境。有关更多信息,请参阅 教程:使用CodeDeploy将应用程序部署到 Auto Scaling 组 和 将 CodeDeploy 与 Amazon EC2 Auto Scaling 集成。
-
创建一个应用程序,其中至少包括一个部署组。有关信息,请参阅 使用创建应用程序 CodeDeploy 和 使用创建部署组 CodeDeploy。
-
准备好要部署到部署组中的实例的应用程序修订。有关信息,请参阅 使用 CodeDeploy 的应用程序修订。
-
如果要将自定义部署配置用于您的部署,请在开始部署过程之前创建配置。有关信息,请参阅 Create a Deployment Configuration。
-
如果您从 Amazon S3 存储桶部署应用程序修订,则该存储桶与您的部署组中的实例位于同一Amazon区域。
-
如果您是从 Amazon S3 存储桶部署应用程序修订版,则已对该存储桶应用了 Amazon S3 存储桶策略。此策略为您的实例授予下载应用程序修订所需的权限。
例如,以下 Amazon S3 存储桶策略允许任何附带包含 ARN 的 IAM 实例配置文件的 Amazon EC2 实例从名
arn:aws:iam::444455556666:role/CodeDeployDemo
为的 Amazon S3 存储桶中的任意位置下载:codedeploydemobucket
{ "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3:::codedeploydemobucket/*", "Principal": { "AWS": [ "arn:aws:iam::444455556666:role/CodeDeployDemo" ] } } ] }
以下 Amazon S3 存储桶策略允许任何与包含 ARN
arn:aws:iam::444455556666:user/CodeDeployUser
的 IAM 用户关联的本地实例从名为 Amazon S3 存储桶中的任意位置进行下载:codedeploydemobucket
{ "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3:::codedeploydemobucket/*", "Principal": { "AWS": [ "arn:aws:iam::444455556666:user/CodeDeployUser" ] } } ] }
有关如何生成和附加 Amazon S3 存储桶策略的信息,请参阅存储桶策略示例。
-
如果您正在创建蓝/绿部署,或者在部署组中为就地部署指定了可选的 Classic Load Balancer、Application Load Balancer 或 Network Load Balancer,则您已经使用 Amazon VPC 创建了一个包含至少两个子网的 VPC。(CodeDeploy 使用 Elastic Load Balancing,它要求负载均衡器组中的所有实例都位于单个 VPC 中。)
如果您尚未创建 VPC,请参阅 Amazon VPC 入门指南。
-
如果您正在创建蓝/绿部署,则您已在 Elastic Load Balancing 中配置了至少一个 Classic 负载均衡器、Application Load Balancing 或网络负载均衡器,并使用它来注册构成原始环境的实例。
注意
替换环境中的实例稍后将用这个负载均衡器进行注册。
有关配置负载均衡器的更多信息在 Elastic Load Balancing 中为 CodeDeploy Amazon EC2 部署设置负载均衡器,请参阅和为 A CodeDeploy mazon ECS 部署设置负载均衡器、目标组和侦听器。
蓝/绿部署的部署先决条件 Amazon CloudFormation
-
您的模板不需要为 CodeDeploy 应用程序或部署组对资源进行建模。
-
您的模板必须包含使用 Amazon VPC 且包含至少两个子网的 VPC 的资源。
-
您的模板必须包含一个或多个传统负载均衡器、应用程序负载均衡器或 Elastic Load Balancing 中的网络负载均衡器的资源,这些资源用于将流量引导至目标群组。