本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在中处理部署配置 CodeDeploy
部署配置是 CodeDeploy 在部署期间使用的一组规则以及成功条件和失败条件。这些规则和条件有所不同,具体取决于您是部署到 EC2/本地计算平台、Amazon Lambda 计算平台还是 Amazon ECS 计算平台。
EC2/本地计算平台上的部署配置
当您部署到 EC2/本地计算平台时,部署配置通过使用最低运行状况良好的主机值,指定部署期间必须随时保持可用的实例数量或百分比。
您可以使用由 Amazon 提供的三种预定义的部署配置之一,也可以创建自定义部署配置。有关创建自定义部署配置的更多信息,请参阅Create a Deployment Configuration。如果您未指定部署配置,请CodeDeploy使用CodeDeployDefault。 OneAtaTime 部署配置。
有关部署期间 CodeDeploy 如何监控和评估实例运行状况的信息,请参阅Instance Health。要查看已注册到 Amazon 账户的部署配置列表,请参阅View Deployment Configuration Details。
EC2/本地计算平台的预定义部署配置
下表列出了预定义的部署配置。
部署配置 | 描述 |
---|---|
CodeDeployDefault.AllAtOnce | 就地部署: 一次性尝试将应用程序修订部署到尽可能多的实例。如果将应用程序修订部署到一个或多个实例,则整个部署的状态将显示为成功。如果尚未向任何实例部署应用程序修订,则整个部署的状态将显示为失败。以九个实例为例,CodeDeployDefault. AllAtOnce尝试同时部署到所有九个实例。如果部署到单个实例成功,则整体部署成功。仅当所有 9 个实例的部署失败时,它才会失败。蓝/绿部署:
|
CodeDeployDefault。 HalfAtTime |
就地部署: 一次最多可部署到一半实例(小数向下取整)。如果将应用程序修订部署到至少一半实例(小数向下取整),则整个部署成功。否则,部署失败。在包含 9 个实例的示例中,一次部署到最多 4 个实例。如果成功部署到 5 个或更多实例,则整个部署成功。否则,部署失败。 注意如果您要部署到多个 Auto Scaling 组中的实例,则无论它们位于哪个 Auto Scaling 组中,都CodeDeploy将一次最多部署到一半的实例。例如,假设您有两个 Auto Scaling 组, 蓝/绿部署:
|
CodeDeployDefault。 OneAtTime |
就地部署: 一次仅将应用程序修订部署到一个实例。 对于包含多个实例的部署组:
对于仅包含一个实例的部署组,整个部署仅在成功部署到单个实例时成功。 蓝/绿部署:
|
亚马逊 ECS 计算平台上的部署配置
当您部署到 Amazon ECS 计算平台时,部署配置会指定如何将流量转移到更新后的 Amazon ECS 任务集。您可以使用金丝雀、线性或all-at-once部署配置转移流量。有关更多信息,请参阅部署配置:
您也可以创建自定义 Canary 部署或线性部署配置。有关更多信息,请参阅Create a Deployment Configuration:
亚马逊 ECS 计算平台的预定义部署配置
下表列出了可用于 Amazon ECS 部署的预定义配置。
部署配置 | 描述 |
---|---|
CodeDeployDefault.ecslinear10 1 分钟 PercentEvery |
每分钟转移 10% 的流量,直到所有流量转移完毕。 |
CodeDeployDefault.ecslinear10 3 分钟 PercentEvery |
每隔 3 分钟转移 10% 的流量,直到所有流量转移完毕。 |
CodeDeployDefault.eccanary 10% 5 分钟 |
在第一次增量中转移 10% 的流量。其余 90% 部署在五分钟后进行转移。 |
CodeDeployDefault.eccanary 10% 15 分钟 |
在第一次增量中转移 10% 的流量。其余 90% 部署在 15 分钟后进行转移。 |
CodeDeployDefault.ECS AllAtOnce |
立即将所有流量转移到更新后的 Amazon ECS 容器。 |
Amazon CloudFormation蓝/绿部署的部署配置(亚马逊 ECS)
当您通过Amazon CloudFormation蓝/绿部署部署到 Amazon ECS 计算平台时,部署配置会指定如何将流量转移到更新后的 Amazon ECS 容器。您可以使用金丝雀、线性或all-at-once部署配置转移流量。有关更多信息,请参阅部署配置:
对于Amazon CloudFormation蓝/绿部署,您无法创建自己的自定义金丝雀或线性部署配置。有关使用Amazon CloudFormation来管理 Amazon ECS 蓝/绿部署的step-by-step说明,请参阅Amazon CloudFormation用户指南Amazon CloudFormation中的通过CodeDeploy使用自动部署 ECS 蓝/绿部署。
注意
中国(北京)和中国(宁夏)区域Amazon CloudFormation不支持使用管理 Amazon ECS 蓝/绿部署。
Amazon Lambda计算平台上的部署配置
当您部署到 Amazon Lambda 计算平台时,部署配置会指定在应用程序中将流量转移到新 Lambda 函数版本的方式。您可以使用金丝雀、线性或all-at-once部署配置转移流量。有关更多信息,请参阅部署配置:
您也可以创建自定义 Canary 部署或线性部署配置。有关更多信息,请参阅Create a Deployment Configuration:
Amazon Lambda计算平台的预定义部署配置
下表列出了可用于 Amazon Lambda 部署的预定义配置。
部署配置 | 描述 |
---|---|
CodeDeployDefault。 LambdaCanary10% 5 分钟 |
在第一次增量中转移 10% 的流量。其余 90% 部署在五分钟后进行转移。 |
CodeDeployDefault。 LambdaCanary10% 10 分钟 |
在第一次增量中转移 10% 的流量。其余 90% 部署在 10 分钟后进行转移。 |
CodeDeployDefault。 LambdaCanary10% 15 分钟 |
在第一次增量中转移 10% 的流量。其余 90% 部署在 15 分钟后进行转移。 |
CodeDeployDefault。 LambdaCanary10% 30 分钟 |
在第一次增量中转移 10% 的流量。其余 90% 部署在 30 分钟后进行转移。 |
CodeDeployDefault。 LambdaLinear10 PercentEvery 1分钟 |
每分钟转移 10% 的流量,直到所有流量转移完毕。 |
CodeDeployDefault。 LambdaLinear10 PercentEvery 2分钟 |
每隔 2 分钟转移 10% 的流量,直到所有流量转移完毕。 |
CodeDeployDefault。 LambdaLinear10 PercentEvery 3 分钟 |
每隔 3 分钟转移 10% 的流量,直到所有流量转移完毕。 |
CodeDeployDefault。 LambdaLinear10 PercentEvery 10 分钟 | 每隔 10 分钟转移 10% 的流量,直到所有流量转移完毕。 |
CodeDeployDefault.LambdaAllAtOnce |
立即将所有流量转移到更新后的 Lambda 函数。 |
主题