

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 還原組態
<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 也支援使用 `AllowRevert` 參數搭配 [StopDeployment](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_StopDeployment.html) API 操作，將組態資料還原至先前的版本。對於某些客戶而言，在成功部署後還原到先前的組態可確保資料與部署之前相同。還原也會忽略警示監視器，這可能會防止在應用程式緊急情況下向前滾動。

**重要**  
如果您在啟用 `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
```