

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

# 設定 AWS AppConfig 刪除保護
<a name="deletion-protection"></a>

AWS AppConfig 提供帳戶設定，以協助防止使用者意外刪除主動使用的環境和組態描述檔。 AWS AppConfig 會監控對 [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html) 和 [GetConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetConfiguration.html) 的呼叫，並在 60 分鐘內追蹤這些呼叫中包含哪些組態描述檔和環境 （預設設定）。在該間隔內存取的任何組態設定檔或環境都會被視為作用中。如果您嘗試刪除作用中的組態設定檔或環境， 會 AWS AppConfig 傳回錯誤。如有需要，您可以使用 `DeletionProtectionCheck` 參數略過此錯誤。如需詳細資訊，請參閱[略過或強制刪除保護檢查](deletion-protection-check.md)。

**使用主控台設定刪除保護**  
使用下列程序，使用 AWS Systems Manager 主控台設定刪除保護。

**設定刪除保護 （主控台）**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/appconfig/](https://console.aws.amazon.com/systems-manager/appconfig/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇**設定**。

1. 使用切換來啟用或停用刪除保護。

1. 在**保護期間**，將作用中資源的定義設定為 15 到 1440 分鐘。

1. 按一下 **Apply (套用)**。

**使用 設定刪除保護 AWS CLI**  
使用下列程序來設定刪除保護，方法是使用 AWS CLI。將下列命令中的*值*取代為您想要在環境中使用的值。

**注意**  
開始之前，建議您更新至最新版本的 AWS CLI。如需詳細資訊，請參閱《AWS Command Line Interface 使用者指南》**中的[安裝或更新最新版 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

**設定刪除保護 (CLI)**

1. 執行下列命令以檢視目前的刪除保護設定。

   ```
   aws appconfig get-account-settings
   ```

1. 執行下列命令來啟用或停用刪除保護。指定 `false` 以停用刪除保護，或指定 `true` 以啟用刪除保護。

   ```
   aws appconfig update-account-settings --deletion-protection Enabled=value
   ```

1. 您可以將預設間隔增加到最多 24 小時。執行下列命令來指定新的間隔。

   ```
   aws appconfig update-account-settings --deletion-protection Enabled=true,ProtectionPeriodInMinutes=a number between 15 and 1440
   ```

# 略過或強制刪除保護檢查
<a name="deletion-protection-check"></a>

為了協助您管理刪除保護，[DeleteEnvironment](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_DeleteEnvironment.html) 和 [DeleteConfigurationProfile](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_DeleteConfigurationProfile.html) APIs包含名為 的參數`DeletionProtectionCheck`。此參數支援下列值：
+ `BYPASS`：指示 AWS AppConfig 略過刪除保護檢查，並刪除組態描述檔，即使刪除保護原本會阻止它。
+ `APPLY`：指示刪除保護檢查執行，即使帳戶層級已停用刪除保護。 `APPLY`也會強制刪除保護檢查針對過去一小時建立的資源執行，這些資源通常從刪除保護檢查中排除。
+ `ACCOUNT_DEFAULT`：預設設定，指示 AWS AppConfig 實作 `UpdateAccountSettings` API 中指定的刪除保護值。

**注意**  
根據預設， 會`DeletionProtectionCheck`略過過去一小時建立的組態設定檔和環境。預設組態旨在防止刪除保護干擾建立短期資源的測試和示範。您可以在呼叫 `DeleteEnvironment`或 `DeletionProtectionCheck=APPLY`時通過 來覆寫此行為`DeleteConfigurationProfile`。

下列 CLI 演練使用範例命令來說明如何使用 `DeletionProtectionCheck` 參數。使用 AWS AppConfig 成品的 *ID* 取代下列命令中的 ID。

1. 在部署的組態上呼叫 [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html)。

   ```
   aws appconfigdata get-latest-configuration --configuration-token $(aws appconfigdata start-configuration-session --application-identifier ID --environment-identifier ID --configuration-profile-identifier ID --query InitialConfigurationToken) outfile.txt 
   ```

1. 等待 60 秒 AWS AppConfig ，讓 註冊組態為作用中。

1. 執行下列命令來呼叫 [DeleteEnvironment](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_DeleteEnvironment.html)，並在環境中套用刪除保護。

   ```
   aws appconfig delete-environment --environment-id ID --application-id ID --deletion-protection-check APPLY
   ```

   命令應傳回下列錯誤。

   ```
   An error occurred (BadRequestException) when calling the DeleteEnvironment operation: Environment Beta is actively being used in your application and cannot be deleted.
   ```

1. 執行下列命令以略過刪除保護並刪除環境。

   ```
   aws appconfig delete-environment --environment-id ID --application-id ID --deletion-protection-check BYPASS
   ```