

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

# 在生产过程中更新模型的部署护栏
<a name="deployment-guardrails"></a>

部署防护机制是 Amazon SageMaker AI Inference 中的一组模型部署选项，用于在生产环境中更新机器学习模型。使用完全托管式部署选项，您可以在生产环境中控制从当前模型切换到新模型的过程。通过蓝绿部署中的流量转移模式（如金丝雀和线性），您可在更新过程中精确控制从当前模型到新模型的流量转移过程。此外还有内置的安全措施，例如自动回滚，可协助您及早发现问题，并在问题对生产造成重大影响之前自动采取纠正措施。

部署防护机制具有以下优势：
+ **在更新生产环境时确保部署的安全。**对生产环境的回归更新可能会导致计划外停机和业务影响，例如模型延迟增加和高错误率。部署防护机制提供了最佳实践和内置操作安全防护机制，从而协助您降低这些风险。
+ **完全托管式部署。**SageMaker AI 负责设置和编排这些部署，并将它们与现有端点更新机制集成。您无需构建和维护编排、监控或回滚机制。您可以利用 SageMaker AI 来设置和编排这些部署，从而专注于将 ML 用于应用程序。
+ **可见性。**您可以通过 [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) API 或通过 Amazon CloudWatch Events（对于[支持的端点](deployment-guardrails-exclusions.md)）跟踪部署的进度。要了解有关 SageMaker AI 中事件的更多信息，请参阅[亚马逊 A SageMaker I 发送给亚马逊的事件 EventBridge](automating-sagemaker-with-eventbridge.md)中的“端点部署状态更改”部分。请注意，如果您的端点使用[排除项](deployment-guardrails-exclusions.md)页面中的任何功能，则无法使用 CloudWatch Events。

**注意**  
部署防护机制仅适用于 [异步推理](async-inference.md) 和 [实时推理](realtime-endpoints.md) 端点类型。

## 如何开始
<a name="deployment-guardrails-get-started"></a>

我们支持两种类型的部署来更新生产环境中的模型：蓝绿部署和滚动部署。
+ [蓝绿部署](deployment-guardrails-blue-green.md)：通过更新，您可以将流量从旧实例集（蓝色实例集）转移到新实例集（绿色实例集）。蓝绿部署提供[多种流量转移模式](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-blue-green.html)。流量转移模式是指定 SageMaker AI 如何将端点流量路由到包含更新的新实例集的配置。以下流量转移模式为您提供了对端点更新过程的不同级别的控制：
  + [使用一次性全部流量转移](deployment-guardrails-blue-green-all-at-once.md)将您的所有端点流量一次性从蓝色实例集转移到绿色实例集。流量转移到绿色实例集后，您预先指定的 Amazon CloudWatch 警报将开始在设定的时段（*烘焙期*）内监控绿色实例集。如果在烘焙期间没有触发警报，SageMaker AI 将终止蓝色实例集。
  + [使用金丝雀流量转移](deployment-guardrails-blue-green-canary.md)将您的一小部分流量（*金丝雀*）转移到绿色实例集，并在烘焙期内对其进行监控。如果金丝雀在绿色实例集上成功运行，那么 SageMaker AI 会将剩余的流量从蓝色实例集转移到绿色实例集，然后终止蓝色实例集。
  + [使用线性流量转移](deployment-guardrails-blue-green-linear.md)提供更高的自定义程度，可以自定义流量转移步骤数以及每个步骤中转移的流量百分比。金丝雀转移模式可以分两步转移流量，而线性转移模式则进一步扩展为 *n* 个线性间隔的步骤。
+ [使用滚动部署](deployment-guardrails-rolling.md)：您可以让 SageMaker AI 以递增方式预调配容量，按照您指定的步骤批次大小将流量转移到新实例集，从而更新端点。新实例集上的实例将使用新的部署配置进行更新，如果在烘焙期没有触发 CloudWatch 警报，则 SageMaker AI 会清除旧实例集上的实例。使用此选项，您可以精细控制每个步骤中转移的实例数量或容量百分比。

您可以通过 [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) 和 [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) SageMaker API 以及 AWS Command Line Interface 命令创建和管理部署。有关如何设置部署的更多详细信息，请参阅各个部署页面。请注意，如果您的端点使用[排除项](deployment-guardrails-exclusions.md)页面中列出的任何功能，则无法使用部署防护机制。

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