

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

# 蓝绿部署
<a name="deployment-guardrails-blue-green"></a>

当您更新端点时，Amazon SageMaker AI 会自动使用蓝绿部署来尽可能提高端点的可用性。在蓝绿部署中，SageMaker AI 会预调配一个包含更新的新实例集（绿色实例集）。然后，SageMaker AI 将流量从旧实例集（蓝色实例集）转移到绿色实例集。在设定的评估期（称为烘焙期）内，如果绿色实例集顺利运行，SageMaker AI 将终止蓝色实例集。借助蓝绿部署中的额外功能，您可以利用流量转移模式和自动回滚监控来保护端点，避免造成重大生产影响。

以下列表介绍了 SageMaker AI 中蓝绿部署的主要特征：
+ **流量转移模式。**利用针对部署的流量转移模式防护机制，您可以控制在蓝色实例集和绿色实例集之间的流量分配以及流量转移步骤数。此功能让您能够以渐进方式评估绿色实例集的性能，而无需进行 100% 的流量转移。
+ **烘焙期。**烘焙期是设定用于监控绿色实例集的一段时间，在该期间完成后再进入下一个部署阶段。如果在任意烘焙期内触发了任何预先指定的警报，则所有端点流量都会回滚到蓝色实例集。烘焙期可以在最终完成流量的彻底转移之前，协助您确信更新没有问题。
+ **自动回滚。**您可以指定 SageMaker AI 用于监控绿色实例集的 Amazon CloudWatch 警报。如果更新代码的问题触发了任何警报，SageMaker AI 会启动向蓝色实例集的自动回滚以保持可用性，从而尽可能降低风险。

## 流量转移模式
<a name="deployment-guardrails-blue-green-traffic-modes"></a>

利用蓝绿部署中的各种流量转移模式，您可以更精细地控制蓝色实例集和绿色实例集之间的流量转移。在蓝绿部署中，可用的流量转移模式包括一次性全部流量转移、金丝雀流量转移和线性流量转移。下表显示了各个选项的比较。

**重要**  
对于涉及多阶段流量转移或烘焙期的蓝绿部署，无论发送到实例集的流量如何，您都需要为更新期间的两个实例集付费。与之对比的是使用一次性全部流量转移且没有烘焙期的蓝绿部署，在此模式下，更新期间您只需为一个实例集付费。


| 名称 | 这是什么？ | 优点 | 缺点 | 建议 | 
| --- | --- | --- | --- | --- | 
| 一次性全部 | 在一个步骤中将所有流量转移到新的实例集。 | 最大限度地缩短更新整体持续时间。 | 回归更新会影响 100% 的流量。 | 使用此选项可以将更新时间和成本降至最低。 | 
| 金丝雀 | 流量转移分两个步骤。第一个（金丝雀）步骤转移了一小部分流量，然后是第二步，这将转移其余流量。 | 将回归更新的影响范围限制为仅限于金丝雀实例集。 | 两个实例集在整个部署中都并行运行。 | 使用此选项，可在尽可能减少回归更新的影响范围，与尽可能减少两个实例集运行时间之间取得平衡。 | 
| 线性 | 按照预先指定的等距步骤数，转移固定比例的流量。 | 通过多个步骤来转移流量，最大限度地降低回归更新的风险。 | 更新持续时间和成本与步骤数成正比。 | 使用此选项可以将部署分散到多个步骤，从而最大限度地降低风险。 | 

## 开始使用
<a name="deployment-guardrails-blue-green-get-started"></a>

指定所需的部署配置后，SageMaker AI 将为您处理新实例预调配、旧实例终止和流量转移。您可以通过现有的 [UpdateEndpoint](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_UpdateEndpoint.html) 和 [CreateEndpoint](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateEndpoint.html) SageMaker API 以及 Amazon Command Line Interface 命令创建和管理部署。请注意，如果您的端点使用[排除项](deployment-guardrails-exclusions.md)页面中列出的任何功能，则无法使用部署防护机制。有关如何设置部署的更多详细信息，请参阅各个部署页面：
+ [蓝绿更新与一次性全部流量转移](deployment-guardrails-blue-green-all-at-once.md)
+ [蓝绿更新与金丝雀流量转移](deployment-guardrails-blue-green-canary.md)
+ [蓝绿更新与线性流量转移](deployment-guardrails-blue-green-linear.md)

要查看演示如何使用部署防护机制的指导性示例，请参阅有关金丝雀和线性流量转移模式的 [Jupyter 笔记本](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-inference-deployment-guardrails)示例。