アカウントの新規追加
★アカウントの払い出し方法
2つあります。
①ControlTowerから払い出す(AccountFactory経由)
②Organizationsから払い出す
ControlTowerとOrganizationsで払い出したアカウント間に見た目上の差異はないので、どちらから行っても問題はありません。
★両者の違い
--ControlTower--
ControlTower経由では、払い出し時点でOU登録まで行うことができる(SecurityHub、SSO等周辺設定も一気に行われる)ので時短になります。
大きな違いとしては、自動的にサービスカタログに製品登録されます。
これは毎回行われる上に一度作成したサービスカタログから再度払い出すことはできない(複数アカウントを作成することはできない)ため、サービスカタログ自体が増えていくことは受け入れるしかありません。つまり1製品1アカウントで毎回払い出している形になります。
--Organizations--
Organizationsの方からアカウントを作成すると、Organizationsに組み込まれているだけでControlTowerには組み込まれていない素のアカウントが払い出されます。
そのため、ControlTowerに組み込んで使用していきたい場合は、OUに登録するところから始めなければいけません。
サービスカタログでは製品が作成されず、SSOも作られません。
では、実際に払い出してみます。
今回はControlTower経由で払い出してみます。
管理アカウントよりControlTowerのサービスページに移動し、【組織】ページに移動します。
右上の【リソースを作成】より、【アカウントの作成】を押下します。
アカウントの作成ページに遷移するため、アカウントの詳細(Eメール、表示名)・アクセス設定(SSOユーザーのEメール、ユーザー名)→(続く)
→(続き)組織単位を設定します。組織単位はこのアカウントをどのOUに所属させるかということで、今回はSandboxを設定しています。
ここまで完了したら【アカウントの作成】を押下します。
AccountFactoryページに遷移し、画面上部に青い帯で「作成リクエストが送信されました」と表示されたら作成が開始された通知になります。
リクエストの詳細(状況)に関してはSrevice catalogより確認できるとのことなので、見てみます。
service catalog>プロビジョニングされた製品欄で払い出したアカウントの詳細を確認します。まだステータスが変更中となっており、作成中であることが分かります。
時間が経つと画面上に「成功」と表示されます。
これで払い出しが完了したことが確認できます。
プロビジョニングされた製品のところに作成したアカウントの名前がありますね。
ControlTowerに戻ると、今作成したtestアカウントが想定通りSandboxOU内に作成されていることが確認できます。
【ポイント】
・製品登録の際にエラーが出てしまったことがありました。
<エラー文>AWS Control Tower cannot create an account because you have reached the limit on the number of accounts in your organization.
これはOrganizationsで登録するアカウントの上限に引っかかって起きたエラーでした。
※現在の上限(クォータ)は、us-east-1 リージョン(バージニア北部リージョンでないと確認できません)の Service Quotas より AWSのサービス>AWS Organizations>Default maximum number of accounts において確認が出来ます。この時私たちはアカウントは10個までという上限がありました。
※↑ですが、私たちは何故か確認が出来ず、「上限の平均数」は見ることが出来ました。サポートに問い合わせると、 Service Quotas で見れないものは見れないとのことで、自分の持つアカウント上限を知るためにはサポートに問い合わせなければいけないそうです。
この解決方法として、ControlTowerの"組織から除外"をにて不要なアカウントを除外することも挙げられましたが、AWSのベストプラクティスとしてはOrganizations のアカウント数クォータの引き上げをリクエストすることを推奨しているそうです。("組織を除外"でも解消は可能だそうです。)
・公式情報として、
Organizationsの組織に登録できるアカウント上限数:10
ControlTowerの1OUにつき登録できるアカウント上限数:300
と開示されていますが、AccoutnFactoryを経由してもアカウント数の上限自体はOrganizationsの方が適用されます。
OrganizationsとControlTowerの登録アカウント数はそれぞれ別の上限を持つものだそうです。
アカウント上限の引き上げは、Service Quotasからリクエスト or サポートケースを起票することで可能です。
・閉鎖され、組織から削除されるのを待っているアカウントもこの数に含まれます。
アカウント閉鎖
今度は閉鎖していきます。
https://dev.classmethod.jp/articles/202312-close-control-tower-managed-account/
上記サイトを参考にしました。
★アカウントの閉鎖(停止)方法
2つあります。
・ControlTowerの管理下からは除外するが、Organizationsに所属させたまま閉鎖を行った場合。停止までの期間が選べるので、その期間アカウント自体は存在はしますが、特別な手続きはなくいつも通りポチポチするだけで閉鎖がされます。指定の日数が経つと、自然にOrganizationsには表示されなくなります。(これで完全削除となる)
・Organizations(組織)からも除外して閉鎖を行う場合。支払情報等を入力する必要があります。これは避けて通れません。入力したくない場合は、1つ目の手順を踏むしかなありません。
【ポイント】
・一例として閉鎖までの間は新たにSuspendOU(仮)を作成し、そこに移動させて置いておくという考え方もあります。このOUに全てのアクションを拒否するSCPをアタッチして、簡単にはリソースに触れられないようにします。
・https://dev.classmethod.jp/articles/202304-cannot-close-my-member-account-due-to-closure-restrictions/
アカウントの作成・閉鎖の検証をしすぎたため、上記のようなエラーも遭遇しました・・・。
(私たちは時が経つのを待ちました)
では閉鎖を行っていきます。
今回はControlTowerから閉鎖を行っていきます。Organizationsの除外は行いません。
まずアカウントを閉鎖するにあたってベストプラクティスにあたる、ControlTowerの管理下から解除を行います。
該当のアカウントのラジオボタンを押下し選択、右上の【アクション】より【管理を解除】を押下します。
「管理を停止するようControlTowerにリクエストしました」と表示されたらOKです。
確認中→未登録となりました。ここまでで、ControlTowerからは外れたけどOrganizatonsにはいる、という状態が出来上がります。
いよいよ閉鎖です。Organizationsに移動し、AWSアカウントページに遷移します。
Organizationsで管理されているアカウントの一覧が表示されるため、閉鎖したいアカウントを選択し、右上の【アクション】から【閉鎖】を押下します。
ガイドに従い、【アカウントを閉鎖する】を押下します。
画面上部に「閉鎖要求に成功しました」と表示されたらOKです。
しばらくすると、閉鎖を選択したアカウントが「中止済み」と表示されるようになります。これで閉鎖完了です。
ControlTowerの方は「停止」と表示されます。
また、登録メールアドレス宛に閉鎖の確認メールが来ます。
ここまでで、閉鎖までの一連作業が完了です!
アカウントの再開
【ポイント】
・Organizationsを管理しているアカウントのroot(本当の長にあたるアカウント)で再開依頼を出さないと、突き返されます!!!!セキュリティの観点から、この方法しか受け付けてくれないようです。
閉鎖したアカウントのrootでも、Organizationsのアカウントのadmin権限でもできません。(2.3回引っかかりました)
・閉鎖後、該当アカウントに直接アクセス可能なのは該当アカウントのrootユーザーのみです。IAMユーザー、SSOユーザーはアクセス不可となります。
ここからは再開をしていきます。
サポート画面を開き(コンソール画面上部の検索窓から検索できます)、【ケースを作成】を押下します。
以下のようにカテゴリ等選択し、【次のステップ:追加情報】を押下します。
またまた以下のように簡潔な文ですが記載し、依頼を出します。
testの横はtestアカウントのアカウントIDを記載しています。
ここもデフォルトでOKです。【送信】を押下します。
この後、閉鎖と同様に再開依頼もらいましたよ(=サポート起票されましたよ)メールが来ます。
さらにこの数日後、再開できましたよーという旨を同じようにご連絡いただけるので、
それが来たら今まで通り管理アカウント等から該当アカウントを確認すると今まで通りのようになっています。
再開直後はControlTowerから外れた状態ですが、OUに該当アカウントを追加し、OU再登録を行うと今まで通り使用できるようになります。
一度ControlTowerから除外してはいますが、ControlTower管理下に置いた際に作成されたリソースは削除されていないため、再登録後も特に不便することなく使用することができます。
(比較として、再開後testアカウントを作成した日とControlTowerExecutionの作成日を確認しましたが、どちらも閉鎖して再開しても、作成した日は払い出した日となっており、ControlTower作成にあたり付与されたロール類などは閉鎖&再開に伴って削除されたりしていないことが確認できます。)
実際にやってみた感想としては、色々パターンがあったり、サポートとのやりとりに苦戦したりなど、環境自体に大きく変更を加えないものの地味に大変でした・・・。
アカウントの新規追加・閉鎖・再開は以上になります!