本件の内容は ElasticBeanstalk (EB) のフォーラムに記載すべき事項かもしれません。
記載場所に誤りがあるなら、お詫びします。
当方では掲題の件に関する振る舞いに疑問を持ちました。
たとえ削除保護を設定していたとしても EB の環境変数の変更を可能とする方法について何か情報をお持ちの方がいらっしゃいましたら、この場で共有いただけますと幸いです。
当方では次の手順にて掲題の現象の再現を確認しました。
CloudFormation (Cfn) で EB に対して削除保護を有効として設定していることを前提とします。
また EB CLI のバージョンは 3.7.1 でした。
$ eb --version
EB CLI 3.17.1 (Python 3.8.0)
-
Cfn の削除保護を有効にしたまま、管理画面から EB の削除を試す。
-> EB の削除に失敗した。 (OK 期待どおり)
-
Cfn の削除保護を有効にしたまま、管理画面から EB の環境変数の変更を試す。
-> EB の環境変数の変更に失敗した。 (NG 期待どおりではない)
エラーメッセージは次のとおりでした。
Environment named XXX is in an invalid state for this operation. Must be Ready.
この状況で EB の環境を確認したところ、次のとおりでした。
EB の管理画面
ヘルス: OK
$ eb status XXX
Status: Ready
Health: Green
-
管理画面から Cfn の削除保護を無効へと変更する。
-> 変更に成功した。 (OK 期待どおり)
-
管理画面から EB の環境変数の変更を試す。
-> EB の環境変数の変更に失敗した。 (NG 期待どおりではない)
エラーメッセージは前述のとおりでした。
-
EB CLI にて EB の環境変数の変更を試す。
$ eb use XXX
$ eb setenv key=value
-> EB の環境変数の変更に失敗した。 (NG 期待どおりではない)
エラーメッセージは次のとおりでした。
ERROR: The operation cannot be completed at this time due to a pending operation. Try again later.
-
EB CLI にて EB の未完了操作を中断しようと試す。
$ eb abort XXX
-> 中断に失敗した。 (NG 期待どおりではない)
エラーメッセージは次のとおりでした。
ERROR: InvalidParameterValueError - Environment named XXX is in an invalid state for this operation. Must be pending deployment.
-
管理画面より環境の削除を試す。
-> 削除に成功した。 (OK 期待どおり)