AWS Organizationsアカウント構成の是正をやってみた

こんにちは。皆さんは「おひとり様AWS Organizations」活用していますか?

私は2年前の記事で「個人アカウントでAWS Organizationsの組織を構成しているが、管理環境と本番環境が同一アカウントのためSCPによる統制が掛けられず、本来あるべきアカウント構成ではない」というお話をしました。

今回、一念発起してこの状態の是正を行いましたので手順と共に解説したいと思います。

是正の手順

今回は以下の手順で移行を行いました。

  1. 新管理アカウントの追加
    旧Organizations組織に新管理アカウントを追加します。
  2. 子アカウントの廃止・離脱
    新管理アカウントを組織から離脱させます。旧検証アカウントは廃止します。
  3. IIC・Organizations組織の削除
    旧Organizations組織を削除します。
    IAM Identity Centerを利用している場合は事前に削除します。
  4. 新Organizations組織の構成
    新管理アカウントでOrganizations組織を構成し、旧管理アカウントを子アカウントとして招待します。

この手順で移行完了しました。
留意点含め以下で手順を解説します。

 

手順

① 新管理アカウントの追加

まず、旧管理アカウントのAWS Organizationコンソールから、新管理アカウントにする新アカウントを追加します。
アカウント名とメールアドレスを入力し、作成をクリックします。

上記サンプルでは旧呼称の「Payer」と書いてありますが気にせず。
メールアドレスはユニークである必要があります。Gmailのエイリアス(アカウント名+任意)も利用可能です。

② 子アカウントの廃止・離脱

AWS Organizationsの組織を削除するには、子アカウントが無い状態にする必要があります。

を使用した組織の削除 AWS Organizations - AWS Organizations
不要になった 組織を削除する方法を解説します。

私の場合、旧検証環境は使い古しているのでアカウント閉鎖、本番環境(旧管理アカウント)は流用するので組織から離脱(組織から除外)することにしました。

アカウント閉鎖

旧管理アカウントのAWS Organizationコンソールから、当該アカウントを選択して閉鎖を指示します。

閉鎖したアカウントは90日間の猶予期間に入り、猶予期間中はサポートに連絡することで復活が可能です。
猶予期間中のアカウントが存在している場合でもOrganizations組織の削除は可能です。

アカウントの離脱(組織から除外)

アカウントの離脱(組織から除外)を行う場合、事前に当該アカウントにて以下の条件を満たす必要があります

  1. ルートユーザの認証設定完了(パスワード・MFA)
  2. 支払情報の設定完了
  3. SMS認証の完了
  4. サポートプランの設定完了
  5. 新規アカウントは作成後4日経過
1.ルートユーザの認証設定

AWS Organizationsの組織で子アカウントとして作成されたアカウントではルートユーザーのログイン情報が設定されていないため、設定します。

AWSマネジメントコンソールサインインより、ルートユーザでのログインを選択し、「パスワードをお忘れですか?」から入りパスワードを設定します。

続いて設定したパスワードでログイン後、指示に従いMFAの設定を行います。

2.支払情報の設定

新アカウントでログイン後、右上のアカウント名のところから「Billing and Cost Management」を選択、請求とコスト管理の画面に入ります。

左メニューの支払い設定から、設定画面に入り支払い情報の設定を行います。

3.SMS認証の実施、4.サポートプランの設定

子アカウントにてAWS Organizationsを開き「この組織を離れる」を選択します。

未完了のためエラーとなり、この時点で完了していない、電話番号認証とサポートプランの設定を促す表示が出るので、指示の通り実施します。

SMS認証を実施する。スマートフォンに届いたSMSにて認証を行います。
※以下スクリーンショットでUnited Statesになっていますが、日本の電話番号であれば当然日本です。

サポートプランの設定を行う。個人検証環境ではベーシックで良いでしょう。

ここまで設定を行うことで、改めて「この組織を離れる」を選択することで組織からの離脱(除外)が完了することができます。

なお、新規アカウントは作成後4日経過する必要があります

③ IIC・Organizations組織の削除

子アカウントが不在になったので、いよいよAWS Organizations組織を削除します。

まず当方ではIAM Idetity CenterでのSSOが有効になっていますので、インスタンスの削除を行います。
設定から「IAM Identity Centerインスタンスを削除」を選択します。

なお事前準備は不要で、この処理で全設定がクリアされます(ちょっと怖い)

そして、AWS Organizations組織を削除します。
AWS Organizationsの設定から「組織を削除する」を選択します。

 

組織が削除されました。あっけないものです。

 

④ 新Organizations組織の構成

ここまでの手順でOrganizationsの組織が削除され、AWSアカウントがスタンドアロン構成になりましたので、改めて新しい組織を構成します。

AWS Organizations組織の作成

新管理アカウントでOrganizationを開き「組織を作成する」をクリックする。

注意事項が表示されますが、そのまま進めます。

組織が作成されました。驚くほどシンプルです。

組織への招待

旧管理アカウントを新しく作成した組織に招待し、子アカウントとします。

AWS Organizationsのコンソール、AWSアカウントの追加より「既存のアカウントを招待」を選択します。
アカウントIDもしくはEメールアドレスを入力し、「招待を送信」をクリックします。

ルートユーザのメールアドレスに招待メールが届きます。
「Accept Invitation」をクリックします。

ログイン後、招待の内容が表示されます。
「組織を承認する」をクリックします。

組織に参加できました。

組織単位(OU)の作成

AWS Organizationsでは、各AWSアカウントをグルーピングしてポリシー(SCP)を適用する、組織単位(Organizations Unit:OU)を作成することが推奨されます。
今回は、本番環境用(Production)・検証環境用(Test)各OUを作成することにします。

AWS Organizationsのアクションメニューから「組織単位ー新規作成」を選択します。

組織単位名を入力します。

作成できました。
先程招待した本番環境用アカウント(旧管理アカウント)を本OUに移動させます。

これで諸々の手続きが終了しました。お疲れ様でした。

引き続きIAM Identity CenterでのSSOを実現する場合は、下記記事を参考にして頂ければと思います。

AWS IAM Identity Centerで多要素認証つきシングルサインオン環境の実現
AWS Organizationsを用いたマルチアカウント環境を構成した際は管理が増え煩雑になりがちですが、AWS IAM Identity Centerを用いればシングルサインオンが実現できます。設定方法を解説します

 

まとめ

今回のAWS Organizations組織の是正作業、私は早めにやるべきだと思いつつも面倒くさがってなかなか着手できておりませんでした。しかしやってみると意外と簡単でしたね。

今後はSCPによる制御も取り入れて管理レベルを高めていければと想います。

コメント