绕过或强制删除保护检查 - AWS AppConfig

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

绕过或强制删除保护检查

为协助您管理删除保护,DeleteEnvironmentDeleteConfigurationProfile API 包含一个名为 DeletionProtectionCheck 的参数。此参数支持以下值。

  • BYPASS:指示 AWS AppConfig 绕过删除保护检查并删除配置文件,即使删除保护本来会阻止该配置文件也是如此。

  • APPLY:指示运行删除保护检查,即使在账户级别禁用了删除保护也是如此。APPLY 还会强制对过去一小时内创建的资源运行删除保护检查,这些资源通常不在删除保护检查范围内。

  • ACCOUNT_DEFAULT:默认设置,指示 AWS AppConfig 实现在 UpdateAccountSettings API 中指定的删除保护值。

注意

默认情况下,DeletionProtectionCheck 会跳过在过去一小时内创建的配置文件和环境。默认配置旨在防止删除保护干扰用于创建短期资源的测试和演示。可以通过在调用 DeleteEnvironmentDeleteConfigurationProfile 时传递 DeletionProtectionCheck=APPLY 来覆盖此行为。

以下 CLI 演练使用示例命令来说明如何使用 DeletionProtectionCheck 参数。将以下命令中的 ID 替换为您的 AWS AppConfig 构件的 ID。

  1. 对已部署的配置调用 GetLatestConfiguration

    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
  2. 等待 60 秒,让 AWS AppConfig 注册该配置处于活动状态。

  3. 运行以下命令来调用 DeleteEnvironment 并对环境应用删除保护。

    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.
  4. 运行以下命令,以绕过删除保护并删除环境。

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