AWS Organizaionsで複数のアカウントを一元管理する
awsAWS Organizationsは複数のAWSアカウントを一元管理する機能。 既存のアカウントを一元管理できるだけではなく新規アカウントを簡単に作成することができるので、 セキュリティの向上やコストの分離、クォータなどアカウント全体に及ぶ影響の局所化などのためにサービスや環境ごとにアカウントを分けるハードルが下がる。 引き続きアカウントごとのコストも確認できるが、請求は一括で行われるので支払いの管理が楽になるし、ボリュームディスカウントの使用量が合算されRIも共有できるのでコストの上でも不利にならない。
また、アカウントやそれをグルーピングしたOrganizational Unit(OU)およびOrganizaion全体に対して、 サービスやアカウントを制御するService control policies (SCPs)などのポリシーを設定することもできる。
Organizationを作成したアカウントがマスターアカウントとなる。変更するにはOrganizationを削除する必要があるため管理専用のアカウントを作成するのがおすすめらしい。
通常、新規アカウントを作成するには住所や支払い情報などを入れる必要があるが、
Organizationだとその辺りが省略されアカウント名とルートアカウントのメールアドレスだけで済む。
管理に用いられるIAMロール名を入れる項目もあるが何も入れなければデフォルトのOrganizationAccountAccessRole
になる。
新アカウントのルートユーザーのパスワードは発行されないので必要なら再発行することになるが、
マスターアカウントのIAMユーザーにアカウント作成時に入力したロールのsts:AssumeRole
権限を与えれば
新アカウントの方にユーザーを作らなくてもコンソール上部のメニューからスイッチできる。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::<new_account_id>:role/<role_name>"
}
]
}
基本的にマスターアカウントのリソースの権限は必要ないと思われるが、MFAの権限はないと設定できないので追加する。
初回はアカウントIDとロール名を入力することになる。一度入力すると履歴に残るのでそこから選べる。