AWS AppConfig の削除保護の設定 - AWS AppConfig

AWS AppConfig の削除保護の設定

AWS AppConfig には、アクティブに使用されている環境や設定プロファイルをユーザーが誤って削除するのを防ぐためのアカウント設定が用意されています。AWS AppConfig は GetLatestConfigurationGetConfiguration への呼び出しを監視し、60 分間隔 (デフォルト設定) でこれらの呼び出しに含まれている設定プロファイルと環境を追跡します。削除保護を有効にしてアクティブな設定プロファイルまたは環境を削除しようとすると、AWS AppConfig はエラーを返します。

注記

以下の情報に注意してください。

  • デフォルトでは、削除保護は無効です。

  • デフォルトの間隔を最大 24 時間まで増やすことができます。

AWS AppConfig 削除保護を有効にして設定するには、次の手順に従います。

開始する前に

AWS CLI を最新バージョンに更新します。詳細については、「AWS Command Line Interface ユーザーガイド」の「AWS CLI の最新バージョンをインストールまたは更新する」を参照してください。

AWS AppConfig 削除保護を有効にするには
  • UpdateAccountSettings API を使用して、削除保護を有効にします。AWS CLI で、次のコマンドを実行します。このコマンドは、ProtectionPeriodInMinutes パラメータの値を指定しません。つまり、コマンドはその設定を変更しません。

    aws appconfig update-account-settings --deletion-protection Enabled=true

    次のコマンドを実行して、別の間隔を指定します。

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

現在の削除保護設定を表示するには、次のコマンドを実行します。アカウントに削除保護を設定していない場合、このコマンドはデフォルト設定を返します。

aws appconfig get-account-settings

削除保護の管理に役立つように、DeleteEnvironment API と DeleteConfigurationProfile API には DeletionProtectionCheck というパラメータが含まれています。このパラメータでは次の値がサポートされます。

  • BYPASS: 削除保護チェックをバイパスし、削除保護によって妨げられた場合でも設定プロファイルを削除するように AWS AppConfig に指示します。

  • APPLY: アカウントレベルで削除保護が無効になっている場合でも、削除保護チェックを実行するように指示します。また、APPLY は、通常は削除保護チェックから除外される過去 1 時間以内に作成されたリソースに対しても削除保護チェックを強制的に実行します。

  • ACCOUNT_DEFAULT: AWS AppConfig に UpdateAccountSettings API で指定された削除保護値を実装するように指示するデフォルト設定。

注記

デフォルトでは、DeletionProtectionCheck は過去 1 時間に作成された設定プロファイルと環境をスキップします。デフォルト設定は、有効期間の短いリソースを作成するテストやデモに削除保護が干渉するのを防ぐことを目的としています。この動作は、DeleteEnvironment または DeleteConfigurationProfile を呼び出すときに DeletionProtectionCheck=APPLY を渡すことで上書きできます。

次の簡単なチュートリアルでは、サンプルコマンドを使用して DeletionProtectionCheck パラメータの使用方法を説明します。

  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. 設定がアクティブであることを AWS AppConfig が登録するまで 60 秒待ちます。

  3. 次のコマンドを実行して DeleteEnvironment を呼び出し、環境に削除保護を適用します。

    aws appconfig delete-environment --environment-id ID --application-id ID --deletion-protection-check APPLY
  4. 60 分以内に DeleteEnvironment を再度呼び出すと、次のようなエラーが返されます。

    An error occurred (BadRequestException) when calling the DeleteEnvironment operation: Environment Beta is actively being used in your application and cannot be deleted.
  5. 次のコマンドを実行して、削除保護をバイパスし、環境を削除します。

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