本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 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/本地计算平台的预定义部署配置
下表列出了预定义的部署配置。
注意
没有支持 zonal configuration 功能(该功能允许您指定每个可用区正常运行的主机数量)的预定义部署配置。如果要使用此功能,您必须创建自己的部署配置。
部署配置 | 描述 |
---|---|
CodeDeployDefault.AllAtOnce | 就地部署: 一次性尝试将应用程序修订部署到尽可能多的实例。如果将应用程序修订部署到一个或多个实例,则整个部署的状态将显示为成功。如果尚未向任何实例部署应用程序修订,则整个部署的状态将显示为失败。在包含 9 个实例的示例中,CodeDeployDefault.AllAtOnce 将尝试一次性部署到所有 9 个实例。如果部署到单个实例成功,则整体部署成功。仅当所有 9 个实例的部署失败时,它才会失败。蓝/绿部署:
|
CodeDeployDefault.HalfAtATime |
就地部署: 一次最多可部署到一半实例(小数向下取整)。如果将应用程序修订部署到至少一半实例(小数向下取整),则整个部署成功。否则,部署失败。在包含 9 个实例的示例中,一次部署到最多 4 个实例。如果成功部署到 5 个或更多实例,则整个部署成功。否则,部署失败。 注意如果您要部署到多个 Auto Scaling 组中的实例,则无论这些实例属于哪个 Auto Scaling 组,CodeDeploy 都会一次部署到多达一半的实例。例如,假设您有两个 Auto Scaling 组 蓝/绿部署:
|
CodeDeployDefault.OneAtATime |
就地部署: 一次仅将应用程序修订部署到一个实例。 对于包含多个实例的部署组:
对于仅包含一个实例的部署组,整个部署仅在成功部署到单个实例时成功。 蓝/绿部署:
|
Amazon ECS 计算平台上的部署配置
部署到 Amazon ECS 计算平台时,部署配置指定如何将流量转移到更新后的 Amazon ECS 任务集。您可以使用金丝雀、线性 或一次性 部署配置来转移流量。有关更多信息,请参阅部署配置。
您也可以创建自定义 Canary 部署或线性部署配置。有关更多信息,请参阅Create a Deployment Configuration。
Amazon ECS 计算平台的预定义部署配置
下表列出了可用于 Amazon ECS 部署的预定义配置。
注意
如果您使用的是网络负载均衡器,仅支持 CodeDeployDefault.ECSAllAtOnce
预定义的部署配置。
部署配置 | 描述 |
---|---|
CodeDeployDefault.ECSLinear10PercentEvery1Minutes |
每分钟转移 10% 的流量,直到所有流量转移完毕。 |
CodeDeployDefault.ECSLinear10PercentEvery3Minutes |
每隔 3 分钟转移 10% 的流量,直到所有流量转移完毕。 |
CodeDeployDefault.ECSCanary10Percent5Minutes |
在第一次增量中转移 10% 的流量。其余 90% 部署在五分钟后进行转移。 |
CodeDeployDefault.ECSCanary10Percent15Minutes |
在第一次增量中转移 10% 的流量。其余 90% 部署在 15 分钟后进行转移。 |
CodeDeployDefault.ECSAllAtOnce |
将所有流量一次性转移到更新后的 Amazon ECS 容器。 |
Amazon CloudFormation 蓝绿部署的部署配置 (Amazon ECS)
通过 Amazon CloudFormation 蓝绿部署来部署到 Amazon ECS 时,部署配置会指定如何将流量转移到更新的 Amazon ECS 容器。您可以使用金丝雀、线性 或一次性 部署配置来转移流量。有关更多信息,请参阅部署配置。
对于 Amazon CloudFormation 蓝绿部署,您无法创建自己的自定义金丝雀或线性部署配置。有关使用 Amazon CloudFormation 管理 Amazon ECS 蓝绿部署的分步说明,请参阅《Amazon CloudFormation 用户指南》中的使用 Amazon CloudFormation 通过 CodeDeploy 自动执行 ECS 蓝绿部署。
注意
中国(北京)和中国(宁夏)区域不支持使用 Amazon CloudFormation 管理 Amazon ECS 蓝绿部署。
Amazon Lambda 计算平台上的部署配置
当您部署到 Amazon Lambda 计算平台时,部署配置将指定流量转移到您应用程序中的新 Lambda 函数版本的方式。您可以使用金丝雀、线性 或一次性 部署配置来转移流量。有关更多信息,请参阅部署配置。
您也可以创建自定义 Canary 部署或线性部署配置。有关更多信息,请参阅Create a Deployment Configuration。
Amazon Lambda 计算平台的预定义部署配置
下表列出了可用于 Amazon Lambda 部署的预定义配置。
部署配置 | 描述 |
---|---|
CodeDeployDefault.LambdaCanary10Percent5Minutes |
在第一次增量中转移 10% 的流量。其余 90% 部署在五分钟后进行转移。 |
CodeDeployDefault.LambdaCanary10Percent10Minutes |
在第一次增量中转移 10% 的流量。其余 90% 部署在 10 分钟后进行转移。 |
CodeDeployDefault.LambdaCanary10Percent15Minutes |
在第一次增量中转移 10% 的流量。其余 90% 部署在 15 分钟后进行转移。 |
CodeDeployDefault.LambdaCanary10Percent30Minutes |
在第一次增量中转移 10% 的流量。其余 90% 部署在 30 分钟后进行转移。 |
CodeDeployDefault.LambdaLinear10PercentEvery1Minute |
每分钟转移 10% 的流量,直到所有流量转移完毕。 |
CodeDeployDefault.LambdaLinear10PercentEvery2Minutes |
每隔 2 分钟转移 10% 的流量,直到所有流量转移完毕。 |
CodeDeployDefault.LambdaLinear10PercentEvery3Minutes |
每隔 3 分钟转移 10% 的流量,直到所有流量转移完毕。 |
CodeDeployDefault.LambdaLinear10PercentEvery10Minutes | 每隔 10 分钟转移 10% 的流量,直到所有流量转移完毕。 |
CodeDeployDefault.LambdaAllAtOnce |
所有流量一次性转移到更新后的 Lambda 函数。 |
主题