

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

# 配置应用程序版本生命周期设置
<a name="applications-lifecycle"></a>

本主题介绍 Elastic Beanstalk 对给定环境中的应用程序版本应用的策略和配额，包括应用程序版本在环境中保留的时间。

每次您使用 Elastic Beanstalk 控制台或 EB CLI 上传应用程序的新版本时，Elastic Beanstalk 都会创建一个[应用程序版本](applications-versions.md)。如果不删除不再使用的版本，您最终会达到[应用程序版本配额](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html#limits_elastic_beanstalk)，并且无法创建此应用程序的新版本。

通过向应用程序应用*应用程序版本生命周期策略*，您可以避免达到配额。生命周期策略可要求 Elastic Beanstalk 删除应用程序的旧版本，或当应用程序的版本总数超过指定数量时删除一些应用程序版本。

Elastic Beanstalk 在您每次创建新的应用程序版本时应用应用程序生命周期策略，并在每次应用生命周期策略时删除最多 100 个版本。Elastic Beanstalk 在创建新版本后删除旧版本，并且不会将新版本计入策略中定义的最大版本数。

Elastic Beanstalk 不删除环境当前正在使用的应用程序版本，或部署到在策略触发之前十周内终止的环境的应用程序版本。

应用程序版本配额适用于区域中的所有应用程序。如果您有多个应用程序，请为每个应用程序配置适当的生命周期策略，以免达到配额。例如，如果一个区域中有 10 个应用程序并且配额为 1000 个应用程序版本，则可考虑为所有应用程序设置配额为 99 个应用程序版本的生命周期策略，或在每个应用程序中设置其他值，只要总数少于 1000 个应用程序版本即可。Elastic Beanstalk 只在应用程序版本创建成功时应用策略，因此，如果您已达到限制，则必须在创建新版本前手动删除一些版本。

默认情况下，Elastic Beanstalk 会在 Amazon S3 中保留应用程序版本[源包](applications-sourcebundle.md)，以防数据丢失。您可以删除源包以节省空间。

你可以通过 Elastic Beanstalk CLI 来设置生命周期设置。 APIs有关详细信息[**eb appversion**](eb3-appversion.md)，请参阅、[CreateApplication](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_CreateApplication.html)（使用`ResourceLifecycleConfig`参数）和[UpdateApplicationResourceLifecycle](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_UpdateApplicationResourceLifecycle.html)。

## 在控制台中配置应用程序生命周期设置
<a name="applications-lifecycle-console"></a>

您可以在 Elastic Beanstalk 控制台中指定生命周期设置。

**指定应用程序生命周期设置**

1. 打开 [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) 控制台，然后**在 “区域” 列表中，选择您**的。 AWS 区域

1. 在导航窗格中，选择 **Applications**（应用程序），然后从列表中选择应用程序的名称。

1. 在导航窗格中，找到应用程序的名称，然后选择 **Application versions**（应用程序版本）。

1. 选择**设置**。

1. 使用屏幕上的表单配置应用程序生命周期设置。

1. 选择**保存**。

在设置页上，可以执行以下操作。
+ 根据应用程序版本的总计数或应用程序版本的使用期限配置生命周期设置。
+ 指定在删除应用程序版本时是否从 S3 删除源包。
+ 指定删除应用程序版本的服务角色。要包括版本删除所需的全部权限，请选择名为 `aws-elasticbeanstalk-service-role` 的默认 Elastic Beanstalk 服务角色，或者使用 Elastic Beanstalk 托管服务策略的其他服务角色。有关更多信息，请参阅 [管理 Elastic Beanstalk 服务角色](iam-servicerole.md)。