個人アカウントでAWS Control Towerを利用する
経緯
会社のアカウントでもAWS Control Towerを使用していますが、個人アカウントも本格利用することを機にAWS Control Towerを使用することにしました。
AWS Control Towerとは
AWSのマルチアカウントにおけるベストプラクティスを実施してくれるサービスです。AWS OrganizationsやAWS CloudTrailの有効化・AWS Configの自動設定等々、マルチアカウント構成の複雑なセットアップ部分を自動化してくれます。
そもそもマルチアカウント構成をする必要性
1つのAWSアカウントで様々なリソースを管理していくと問題が発生することが多いです。VPCの作成上限等、リソースの上限に引っかかったことがある人は多いんじゃないでしょうか。そうした場合はAWSのService Quotasで上限緩和申請を行う必要があります。しかし、その対応の必要性が本番環境のリリース時に判明した時はどうでしょう。
これは私が初心者の頃に実際にやってしまったパターンです。当時の私はVPCがデフォルトで5つまでしか作られないことを知らず、「検証環境で確認できたから大丈夫」だと安心して本番環境リリースをかけたところデプロイが失敗して冷や汗をかいた覚えがあります。下図はそのイメージです。
何が問題か
様々な問題があると思いますが私が一番問題だと考えるのは再現性です。
検証環境を用いる目的は本番環境と同等の環境で動作を確認することのはずです。しかし、シングルアカウントで運用するということはせっかく担保した再現性を損なっていることになります。全ての環境でクォータを共有しているのですから(かなり)極端な言い方をすれば本番環境と検証環境を一つのマシンで運用することに似ています。
AWS Control Towerを始める
シングルアカウントの課題を説明したところで、AWS Control Towerを始めていきましょう。
AWS Control Towerのコンソール画面へアクセスしランディングページの設定
をクリックします。
料金の確認とリージョンの選択
ここでホームリージョンを選択しますが、ホームリージョンは後から変更できないため慎重に選んでください。変更ができないとは言ったものの機能自体は基本的にどこのリージョンを選んでも問題ありません。どうしても変えたくなった場合はAWS Control Towerの解除が必要となっており、簡単な作業ではありませんのでご注意を。私は東京リージョンで利用できるようになった際にホームリージョンを東京リージョンへ変更しましたがかなりの痛みを伴いました。
リージョン拒否設定は以前はなかったオプションです。こちらは後から変更できるので特定リージョン以外使用する予定がない場合は有効にしていきます。
組織単位 (OU) の設定
デフォルトで作成するOU名を設定します。デフォルトで進めます。
共有アカウントと暗号化を設定する
ログアーカイブアカウントと監査アカウントと呼ばれる2種類の共有アカウントが作成されるためメールアドレスを設定します。個人で利用している場合、メールアドレスを複数用意するのは大変ですのでエイリアスを利用するのが簡単です。(e.g username+alias@gmail.com
)
ランディングゾーンの確認とセットアップ
先ほどまでの入力内容の確認です。入力内容とアクセス許可の詳細を一通り確認したら「了承する」旨のチェックボックスにチェックを入れてランディングゾーンの設定
をクリックします。
ランディングゾーンの設定中
コンソール画面上部にプログレスバーが表示されて進捗が表示されます。およそ1時間かかるようです。
30分ほどでしょうか。しばらくするとランディングゾーンが利用できるようになります。
ランディングゾーンの設定後
もう少し触ってみましょう。今回はOUの追加とアカウントの作成をやってみます。
OUの追加
組織単位
からOUの追加
をクリックします。
Service
というOU名でRoot
内に追加します。
なお、以前はネストされたOUがサポートされていなかったため親OUを選択する画面を見た時は少し感動しました。
少し時間がかかります。
推定残り時間に57分とありましたが3分ほどで作成されました。
アカウントの作成
Account Factory
からアカウントの登録
をクリックします。
アカウントの情報を登録します。こちらのアカウントEメールも新規メールアドレスが必要ですのでエイリアスで対応します。
アカウント作成中になります。
しばらくするとアカウントの登録が確認できます。
さいごに
マルチアカウントの管理がここまで簡単にできました。個人利用でもマルチアカウント構成は有効ですので是非お試しください。
次回はアカウントを別のOUへ移動させた時の情報を記述します。
Discussion