

# 回滚 Lambda 运行时版本
<a name="runtime-management-rollback"></a>

在极少数情况下，新的运行时版本与现有函数不兼容，您可以将其运行时版本回滚到早期版本。这样，可以使应用程序保持正常运行并最大限度地减少中断，从而在返回到最新的运行时版本之前有时间解决不兼容问题。

Lambda 不会对您可以使用任何特定运行时版本的时间施加限制。但是，我们强烈建议您尽快更新到最新的运行时版本，以便从最新的安全性补丁、性能改进和功能中受益。Lambda 提供回滚到早期运行时版本的选项，仅作为出现运行时更新兼容性问题的极少数情况下的临时缓解措施。如果长时间使用早期运行时版本的函数，最终可能会出现性能下降或证书过期等问题，进而导致函数无法正常运行。

您可以通过以下方式回滚运行时版本：
+ [使用手动运行时更新模式](#runtime-management-rollback-manual)
+ [使用已发布的函数版本](#runtime-management-rollback-published)

有关更多信息，请参阅 AWS 计算博客上的 [推出 AWS Lambda 运行时管理控件](https://aws.amazon.com/blogs/compute/introducing-aws-lambda-runtime-management-controls/)。

## 使用 Manual（手动）运行时更新模式回滚运行时版本
<a name="runtime-management-rollback-manual"></a>

如果您使用的是 **Auto**（自动）运行时版本更新模式，或者 `$LATEST` 运行时版本，则可以使用 **Manual**（手动）模式回滚运行时版本。对于要回滚的[函数版本](configuration-versions.md)，将运行时版本更新模式更改为 **Manual**（手动），并指定先前运行时版本的 ARN。有关查找先前运行时版本的 ARN 的更多信息，请参阅 [识别 Lambda 运行时版本更改](runtime-management-identify.md)。

**注意**  
如果函数的 `$LATEST` 版本配置为使用 **Manual**（手动）模式，则无法更改函数使用的 CPU 架构或运行时版本。要进行这些更改，必须更改为 **Auto**（自动）或 **Function update**（函数更新）模式。

## 使用已发布的函数版本回滚运行时版本
<a name="runtime-management-rollback-published"></a>

已发布的[函数版本](configuration-versions.md)是您对其进行创建时，`$LATEST` 函数代码和配置的不可变快照。在 **Auto**（自动）模式下，Lambda 会在运行时版本推出的第二阶段自动更新已发布函数版本的运行时版本。在 **Function update**（函数更新）模式下，Lambda 不会更新已发布函数版本的运行时版本。

因此，使用 **Function update**（函数更新）模式的已发布函数版本会创建函数代码、配置和运行时版本的静态快照。通过将 **Function update**（函数更新）模式与函数版本结合使用，您可以将运行时更新与部署同步。您还可以通过将流量重定向到较早发布的函数版本，来协调代码、配置和运行时版本的回滚。您可以将此方法集成到持续集成和持续交付（CI/CD）中，以便在运行时更新不兼容的极少数情况下实现全自动回滚。使用此方法时，必须定期更新函数并发布新的函数版本以获取最新的运行时更新。有关更多信息，请参阅 [了解 Lambda 运行时管理的责任共担模式](runtime-management-shared.md)。