AWS Organizationsでは、2022年3月の以下のアップデートで、メンバーAWSアカウントを閉鎖できるようになった。Organizationsからメンバーアカウントを作成、CloudFormation StackSetsで管理者ロールを作成し、アカウント閉鎖もOrganizationsから実施すれば、最小限のライフサイクル全体の管理ができるので、rootユーザーを使う場面がなくなる。rootのパスワード設定や管理も必要なくなる。これはとてもうれしいアップデート。
ただ、実際にこれをやってみると1回目は成功したが、2回目は「You have exceeded close account quota for the past 30 days.」というエラーで実施できなかった。Service Quotasで確認したところ、 総アクティブメンバーアカウント数の10%しか30日以内に閉鎖できない というQuota(上限)があるようで、変更できないらしい。
メンバーアカウント閉鎖に失敗
AWS Organizationsからのメンバー削除ダイアログで、対象のメンバーAWSアカウントIDまで指定して実行しようとしたところ、以下のようにエラーが表示された。
エラーメッセージは以下。
ConstraintViolationException
You have exceeded close account quota for the past 30 days.
Service Quotasを確認する
見たところ関係しそうなQuota(上限)はこれ。
フィールド | 値 |
---|---|
クォータの名称 | 30日の間に閉鎖できるアカウント数。実際に閉鎖できるアカウント数は総アクティブメンバーアカウント数の10%。 |
適用されたクォータ値 | 利用不可 |
AWSのデフォルトのクォータ値 | 1 |
調整可能 | いいえ |
調整可能ではないので、これ以上のメンバーアカウント閉鎖は各アカウントにrootでサインインして行う必要がある。実際には1つは閉鎖できたので、上限は次のいずれかだと思われる。
- アクティブメンバーアカウント総数の10%(切上げ)が閉鎖できるアカウント数の上限。
- アクティブメンバーアカウント総数の10%とデフォルトのクォータ(=1個)の大きい方が上限。
私の個人環境では、そもそも「Default maximum number of accounts」が拡張申請されてなくてデフォルト値10なので、アクティブメンバーアカウントは10個を超えられず、上記どちらかは確認できていない。
参考
本機能のリリースとドキュメント。ただし本記事投稿時点でQuotaの情報は見つけられなかった。
- AWS Organizations で AWS アカウントの解約を一元管理し、エンドツーエンドのアカウントライフサイクル管理が容易に
- AWS アカウント の閉鎖 - AWS Organizations
Quotaに引っかからない範囲での削除については、以下が参考になる。