AWS Control Tower のランディングゾーンを廃止して管理アカウントまで閉鎖してみた

AWS Control Tower のランディングゾーンを廃止して管理アカウントまで閉鎖してみた

2026.05.31

クラウド事業本部 コンサルティング部のいたくらです。

はじめに

検証用に AWS Control Tower のランディングゾーン 4.0 を構築して、設定確認が終わったので環境を廃止することにしました。

「廃止」自体は AWS Control Tower コンソールから操作するだけなのですが、廃止後のクリーンアップで少し躓いたので、廃止からアカウント閉鎖までの流れと躓いたポイントをまとめてみました。

なお、本記事は ランディングゾーン 4.0 の設定確認用に構築しただけのまっさらな検証環境 を廃止する前提です。長期運用していた Control Tower 環境を廃止する場合は、既存ワークロードの退避、メンバーアカウントのアクセス継続性、ログの長期保管要件など、追加で考慮すべき事項があるのでご注意ください。

三行まとめ

  • AWS Control Tower のランディングゾーン廃止は、コンソールのダイアログでチェックボックス 3 つにチェックを入れて「廃止」と入力するだけ
  • 共有アカウント(Audit と Log Archive)はアンマネージ操作の対象外で、そのまま廃止プロセスに任せて問題なし
  • 検証環境を完全削除したい場合、メンバーアカウントが 閉鎖済み 状態だと Organizations 削除はブロックされるため、管理アカウントを直接閉鎖するのが正解。ただし管理アカウントの閉鎖は Organizations コンソールではなく Billing and Cost Management の「アカウント」ページから実行する必要がある

前提

  • AWS Control Tower ランディングゾーン 4.0
  • 構成:管理アカウント、Audit、Log Archive のみ(Account Factory で作成したメンバーアカウントなし)
  • 検証期間:数日程度(実運用なし)

0.png

やってみた

1. ランディングゾーンの廃止

AWS Control Tower コンソール → 「ランディングゾーン設定」 → 「廃止」タブ → 「ランディングゾーンの廃止」ボタンをクリックします。

1-6.png

すると、以下の確認ダイアログが表示されます。

2-3.png

ダイアログには 3 つの了承事項が並んでいます。

  • AWS Control Tower がインストールしたものをすべてアンインストールすることを了承する
  • AWS Control Tower が VPC、私のアカウントまたはアカウント内のリソースを変更していないことを了承する
  • AWS Control Tower が組織をそのまま残すことを了承する

すべてチェックを入れたうえで、確認フィールドに「廃止」と入力する必要があります。
廃止プロセスは最大 2 時間ほどかかるとされています。

共有アカウントはアンマネージ不要

公式ドキュメントには「廃止前に登録済みアカウントをアンマネージすることを推奨」と書かれています。

We recommend that you unmanage your enrolled accounts prior to decommissioning.
引用:How to decommission a landing zone - AWS Control Tower

ただし、ここで言う「アンマネージ」は Account Factory で作成・登録したメンバーアカウントが対象です。共有アカウントである Audit と Log Archive はアンマネージ操作の対象外で、Control Tower コンソール上でも Unmanage(管理を解除) ボタン自体が用意されていません。

今回のように共有アカウントしか存在しない検証環境であれば、特別な事前作業は不要でそのまま廃止を進められます。

無事に廃止が完了し、AWS Control Tower コンソールが初期画面(「AWS Control Tower の有効化」ボタンが表示される画面)に戻りました。

4.png

2. 廃止後に残るリソースを確認する

公式ドキュメントに記載のとおり、ランディングゾーン廃止後にもいくつかのリソースが残ります。

カテゴリ 残るもの
AWS Organizations Organization 自体、OU 階層(Security/Sandbox 含む)、配下のアカウントすべて
IAM Identity Center ユーザー、グループ、許可セット、ディレクトリ
IAM ロール AWSControlTowerAdmin ほか Control Tower 関連ロール
S3 バケット Log Archive アカウントの CloudTrail / Config ログ用バケットとその中身
CloudWatch Logs aws-controltower/CloudTrailLogs ロググループ
EventBridge ルール AWSControlTowerManagedRule(ランディングゾーン 3.2 以降)

今回は検証環境を完全に消したかったので、これらも順に整理していきました。

3. Audit と Log Archive アカウントを閉鎖する

共有アカウント 2 つを閉鎖していきます。

メンバーアカウントの閉鎖は管理アカウントから操作可能で、対象アカウントへの root サインインは不要です。管理アカウントで AWS Organizations コンソールを開き、対象アカウントにチェックを入れて「アクション」 → 「閉鎖」を選択します。

6.png

確認ダイアログでアカウント ID を入力すれば閉鎖が実行され、しばらくするとアカウント一覧で 閉鎖済み ラベルが表示されます。同じ手順を Audit、Log Archive の両方に対して実施しました。

7.png

8.png

ちなみに、AWS アカウント閉鎖時にアカウント内のリソースを事前削除する必要はありません。公式ドキュメントにも明記されています。

You don't need to delete resources in your AWS account before closing it. However, we recommend you back up any resources or data that you want to keep.
引用:Close an AWS account - AWS Account Management

リソースは閉鎖後の 90 日間(post-closure period)を経て自動削除されます。

ただし、以下のものは閉鎖前に明示的にキャンセル・削除しておかないと、閉鎖後も残ったり課金が続いたりするため、検証環境とはいえ事前に確認しておくと安心です。

  • Route 53 のドメイン自動更新
  • AWS Marketplace のサブスクリプション(閉鎖時に自動キャンセルされません)
  • CloudTrail の証跡(明示的に削除しない限りアカウント閉鎖後も動き続けます)

また、Reserved Instances や Savings Plans を契約している場合は、閉鎖後も契約満了まで請求が継続します。こちらは事前削除できる類のものではないので、契約が残っていないかという観点で確認しておきましょう。

4. Organizations 削除を試みたらエラーになった

Audit と Log Archive 両方の閉鎖が完了したので、Organizations を削除しようとしたら「メンバーアカウントを組織から除外してください」というエラーが返ってきました。

公式ドキュメントに原因が書かれていました。

If you closed a member account before you remove it from the organization, it enters a Closed state for a period of time and you can't remove the account from the organization until it is finally closed. This can take up to 90 days and can prevent you from deleting the organization until all member accounts are completely closed.
引用:Deleting an organization with AWS Organizations - AWS Organizations

つまり、閉鎖済み 状態(90 日の Suspended 期間中)のメンバーアカウントが組織内に残っていると、Organizations 削除はブロックされる 仕様です。

回避策として Audit と Log Archive を除外(Remove)する手もありますが、Remove すると独立した standalone アカウントになります。standalone として成立させるには支払い方法や電話番号認証などの情報入力が必要で、これらの操作には root アクセスが求められます。今回は共有アカウントの root を使える状態にしていなかったため、Remove はやや手間がかかる選択肢でした。

「90 日待つのもなぁ…」と思い公式ドキュメントを読み直したところ、別の解決策が見つかりました。

5. 管理アカウント閉鎖で Organizations も一緒に消せる

公式ドキュメントに以下の記載がありました。

To close the management account in your organization, you must first either close or remove all member accounts in the organization. The act of closing the management account also deletes the instance of AWS Organizations and any policies that you created inside of that organization after the post-closure period has expired.
引用:Closing a management account in your organization - AWS Organizations

整理すると、Organizations 削除と管理アカウント閉鎖では前提条件が以下のとおり異なります。

やりたいこと メンバーアカウントの前提条件
Organizations 削除 完全に組織から消えている こと(組織から除外済み、または 閉鎖後 90 日経過後)
管理アカウント閉鎖 閉鎖済み または 組織から除外済み であること(閉鎖済み 状態でも OK)

管理アカウント閉鎖のほうが条件が緩く、閉鎖済み 状態のメンバーアカウントが残っていても実行できる ことが分かりました。さらに管理アカウント閉鎖と同時に Organizations インスタンスも削除されるため、Organizations 削除を別途実施する必要もありません。

6. 管理アカウント閉鎖を試みたらまたエラーになった

ということで管理アカウントを閉鎖しようとしたところ、今度は以下のエラーが返ってきました。

ConstraintViolationException
You attempted to close the management account. To close the management account
for the organization, you must first either remove or close all member accounts
in the organization. Follow standard account closure process using root credentials.

「メンバーアカウントを除外または閉鎖してください」と言われていますが、Audit と Log Archive は両方とも閉鎖済みのはず。

調べると公式ドキュメントに答えがありました。

I receive a "ConstraintViolationException" error when trying to close my account

You are trying to close a management account using the AWS Organizations console, which is not possible. To close a management account, you need to Sign in to the AWS Management Console as the root user for the management account and close it from the Accounts page.
引用:Troubleshooting issues with AWS account closure - AWS Account Management

管理アカウントの閉鎖は AWS Organizations コンソールからは実行できない とのこと。Billing and Cost Management の「アカウント」ページから実行する必要があります。エラーメッセージ末尾の「Follow standard account closure process using root credentials」がヒントになっていましたね。

7. Billing and Cost Management の「アカウント」ページから閉鎖する

ということで、正しい手順は以下のとおりです。

  1. 管理アカウントの root メールアドレスでサインインする(IAM Identity Center ユーザーや IAM ユーザー / ロールでは閉鎖ボタンが表示されません)

  2. 以下の URL にアクセスする(または右上のアカウント名 → 「アカウント」を選択)

    https://console.aws.amazon.com/billing/home#/account
    
  3. ページ右上の、「アカウントを閉鎖」ボタンをクリックする

12-2.png

  1. 確認ダイアログでアカウント ID を入力してから「アカウントを閉鎖」ボタンをクリックする

13-1.png

この手順で実行したところ、無事に管理アカウントを閉鎖できました。

14.png

再びアカウントのページを確認すると、「アカウントは閉鎖されています。」と表示されました。

15.png

補足

90 日間の Suspended 期間について

閉鎖した 3 つのアカウント(Audit、Log Archive、管理アカウント)は、すべて 90 日間の Suspended 状態を経て完全削除されます。

  • この期間中は AWS Support 経由で再オープンが可能です(万一データを取り出したい場合の保険になります)
  • 90 日経過後は完全削除され、再オープン不可になります
  • 閉鎖時点で登録されていた root メールアドレスは、今後別の AWS アカウントのプライマリメールとして 使用不可 になります。もし同じメールアドレスを別アカウントで使いたい場合は、閉鎖前にそのアカウントのメールアドレスを変更しておくと再利用できます(ただし、変更先として使ったメールアドレスのほうが使用不可になります)

別リージョンで再構築する場合のみ必要な追加手順

今回は廃止のみだったので不要でしたが、別リージョンでランディングゾーンを作り直す場合は、追加で以下の CLI コマンドが必要です。

aws organizations disable-aws-service-access --service-principal controltower.amazonaws.com

加えて、各メンバーアカウント・統制対象リージョンの AWSControlTowerManagedRule EventBridge ルールも削除する必要があります(ランディングゾーン 3.2 以降)。

参考ドキュメント

さいごに

本文では試行錯誤やエラーをそのまま時系列で書いたので、最後に正しい流れだけを抜き出して整理しておきます。検証環境一式(管理アカウント、Audit、Log Archive のみ)を完全に片付けたい場合、結論としては以下の手順になります。

  1. AWS Control Tower コンソールでランディングゾーンを廃止する(共有アカウントのアンマネージは不要)
  2. 廃止完了後、AWS Organizations コンソールから Audit と Log Archive を「閉鎖」する(管理アカウントから操作可能、root サインイン不要)
  3. Organizations 削除はスキップし、管理アカウントを直接閉鎖する(閉鎖済み 状態のメンバーアカウントが残っていても実行可能)
  4. 管理アカウントの閉鎖は Organizations コンソールではなく、root サインインのうえ Billing and Cost Management の「アカウント」ページから実行する

ポイントは、Organizations を明示的に削除しなくても、管理アカウントの閉鎖と同時に Organizations インスタンスも消える ことです。閉鎖済み 状態のメンバーアカウントがあると Organizations 削除はブロックされるので、削除ではなく管理アカウント閉鎖に進むのが正解でした。

ランディングゾーン 4.0 の設定確認用に構築しただけのまっさらな検証環境とはいえ、廃止後のクリーンアップで少し躓いたので記録としてまとめました。

実運用している Control Tower 環境を廃止する場合は、もっと考慮事項が多いと思いますので、本記事はあくまで「検証環境をサクッと片付ける」ケースの参考としてご覧いただければと思います。

この記事がどなたかのお役に立てれば幸いです。
以上、クラウド事業本部 コンサルティング部のいたくら(@itkr2305)でした!

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事