

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

# 还原配置
<a name="appconfig-deploying-reverting"></a>

在部署期间，可以通过使用自动回滚（如果在部署期间触发警报）或将配置数据还原到先前版本（如果部署成功完成），来缓解配置数据格式错误或不正确导致应用程序出错的情况。

要实现自动回滚，您可以结合使用 AWS AppConfig [部署策略](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-deployment-strategy.html)和 Amazon CloudWatch 警报。配置完成后，如果一个或多个 CloudWatch 警报在部署期间进入`ALARM`状态，则 AWS AppConfig 会自动将您的配置数据回滚到以前的版本，从而防止应用程序中断或出错。要开始使用，请参阅[配置自动回滚的权限](setting-up-appconfig.md#getting-started-with-appconfig-cloudwatch-alarms-permissions)。

**注意**  
您还可以在部署仍在进行时通过调用 [StopDeployment](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_StopDeployment.html)API 操作来回滚配置。

对于成功完成的部署， AWS AppConfig 还支持在 [StopDeployment](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_StopDeployment.html)API 操作中使用`AllowRevert`参数将配置数据恢复到以前的版本。对于某些客户来说，成功部署后还原到先前配置可以保证数据与部署前相同。还原操作还会忽略警报监视器，这可能会阻止在应用程序紧急情况下前滚。

**重要**  
如果您在启用`AllowRevert`参数`StopDeployment`的情况下调用，则只有在过去 72 小时内成功部署后，才 AWS AppConfig 会恢复部署。72 小时后，无法再还原部署。必须创建新的部署。

以下是基于不同情况的 `StopDeployment` 功能的细分。

1. 如果对正在进行的部署调用 `StopDeployment`，则生成的部署状态将为 `ROLLED_BACK`。

1. 如果在进行中的部署上调用 `StopDeployment`（带有 `AllowRevert`），则生成的部署状态将为 `ROLLED_BACK`。

1. 如果对完成的部署调用 `StopDeployment`，将引发 `BadRequestException`。

1. 如果在已完成的部署上调用 `StopDeployment`（带有 `AllowRevert`），则生成的部署状态将为 `REVERTED`。

1. 如果在 72 小时后在已完成的部署上调用 `StopDeployment`（带有 `AllowRevert`），则会抛出 `BadRequestException`。

您可以使用调 AWS CLI 用带`AllowRevert`参数的[StopDeployment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/appconfig/stop-deployment.html)操作。以下是包含`AllowRevert`参数的 AWS CLI 命令示例。

```
aws appconfig stop-deployment \
    --application-id 339ohji \
    --environment-id 54j1r29 \
    --deployment-number 2 \
    --allow-revert
```