個人利用でAWS Organizationsを使ってみる
目次
はじめに
正直に申し上げますと……以前 AWS SysOps アドミニストレーターの試験を受けた際に、「これはOrganizations を使ったことがない人には厳しい」と感じる問題に出会ったことが、本記事を書くきっかけになりました。
個人で AWS アカウントを複数使っていると、アカウントごとにログイン情報や IAM の設定がバラバラになり、切り替えのたびに手間がかかります。検証用・本番用のようにアカウントを分けたいけれど管理は一元化したい、という悩みを持つ方も多いのではないでしょうか。
そこで本記事では、AWS Organizations を個人利用のレベルで実際に触りながら、複数の AWS アカウントを1つの管理アカウントの配下でまとめて管理する方法を解説します。同じような構成を検討している方の参考になれば幸いです。なお、Organizations を使うことで得られる一括請求(Consolidated Billing)などのメリットや費用面の説明は本記事では扱いませんので、あらかじめご了承ください。
本記事で扱う範囲
- 管理用の AWS アカウントを作成し Organizations を有効化する
- 既存の AWS アカウントを招待してメンバーアカウントにする
- 組織単位(OU)を作成してアカウントを整理する
- Organizations 経由で新規 AWS アカウントを作成する
- スイッチロールでアカウント間を簡単に切り替える
注意:AWS アカウントを個人で複数持つこと自体は問題ありませんが、アカウントは作成時に12ヶ月、一部のサービス利用が無料になります。この無料枠を目的に不必要にアカウントを量産するのは AWS の規約違反になりますので注意しましょう。
管理アカウントを作成して Organizations を有効化する
1. 管理用の AWS アカウントを作成する
課題:すでに利用している既存アカウントをそのまま管理アカウントにしてしまうと、後から Organizations 単体を切り離せなくなる。
解決策:アカウントと OU の管理だけを行う管理専用の AWS アカウントを新規に作成し、他のサービスは動かさない運用にする。
管理用のアカウントを作成したら MFA を有効にし(その他の諸々の設定を行った後に)、Organization のページに移動して「組織を作成する」をクリックしていきましょう。

早速、組織が作成され、AWS アカウントの管理画面を見ることが出来ます。同時にメールアドレスの認証メールが飛びますので、クリックして認証しておきましょう。

既存アカウントをメンバーアカウントとして招待する
1. 既存アカウントに招待を送信する
次は、すでに利用していた既存アカウントを Organizations のメンバーアカウントにしたいと思います。画面右上にある「AWS アカウントを追加」をクリックします。追加の画面では「既存の AWS アカウントを招待」を選択し、招待する既存アカウントのメールアドレスを入力した後に「招待を送信」をクリックします。

2. 招待を承認してメンバーアカウントにする
管理アカウントから既存アカウントに招待を送信したら、今度は既存アカウントのほうで Organizations のページを開きましょう。管理アカウントからの招待が確認できるはずなので「招待を承認する」をクリックします。これでこの作業も完了です。
思えば、見知らぬアカウントから招待を受けることも可能性としてあるわけで……この場合は絶対に承認しないようにしましょう。

これで管理アカウント側で既存アカウントが見えるようになりました。

組織単位(OU)を作成してアカウントを整理する
ここで OU がまだ作れていないことに気が付きました。どう見ても既存アカウントが Root 直下になってしまっているので、新たに OU を作成し、その中に既存アカウントを移動したいと思います。
1. OU を作成する
組織の画面から Root をクリックすることで、詳細画面に遷移します。

ここでアクションのメニューから組織単位(OU)の新規作成を行います。

今回は仮に本番環境として Prod の OU を作成します。名前を入力したら「組織単位の作成」をクリックすれば完了です。

2. 既存アカウントを作成した OU に移動する
次に組織のページから、所属する OU を変更したいアカウントのチェックボックスにチェックを入れ、アクションのメニューから「移動」を選択します。

アカウントを選択すると、この画面では移動先の OU を指定します。指定が終わったら「AWS アカウントを移動」をクリックしてください。これでアカウントの移動についても完了です。

設定完了後は、Prod OU の配下にアカウントが移動していることを確認できるようになります。

Organizations 経由で新規 AWS アカウントを作成する
ここまでは既存アカウントに対しての操作を説明しましたが、ここでは AWS の新規アカウントの作成方法についても説明します。こちらの場合も Organizations のメニューから「AWS アカウントを追加」をクリックしてください。

作成する AWS のアカウント名と有効なメールアドレスを入力し、「AWS アカウントを作成」をクリックするのみです。

すぐにアカウントの作成が始まりますが、10分程度かかるのでお待ちください。

アカウントの作成が完了すると、以下のように一覧にも表示されるようになります。

スイッチロールで複数アカウントを簡単に切り替える
課題:AWS Organizations の機能を利用することで簡単にアカウントの作成を行えたが、複数の AWS アカウントを利用していると、都度ログインし直してのアカウント切り替えは結構面倒。
解決策:「スイッチロール」の機能を利用し、管理アカウントにログインしたまま他のアカウントへ切り替えられるようにする。
AWS Organizations を利用してアカウントを作成した場合、(デフォルトで)作成されたアカウントに「OrganizationAccountAccessRole」という名前の IAM ロールが作成されます。
https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_manage_accounts_access.html
この IAM ロールには「信頼されたエンティティ」に「このアカウントを作成した AWS アカウント(管理アカウント)」が設定されています。IAM ロールは AWS サービスに付けるものだと思っていたのですが、それは正しくありません。詳細は割愛させて頂きますが、今回は管理アカウントからこの作成されたアカウントの IAM ロールを使って、作成されたアカウントにログインを行う、というイメージを持って頂ければ OK です。(表現としては正しくありませんので、こちらが気になる方は AWS 公式のドキュメントをご参照ください。)
実際に新規作成したアカウントにスイッチロールしていきます。AWS コンソールの画面右上のアカウントをクリックして表示されるメニューから、「ロールの切り替え」をクリックしてください。

ロールの切り替えのページが表示されますので、ここで先ほど作成した AWS アカウントの12桁のアカウント ID を入力し、ロールには「OrganizationAccountAccessRole」を設定してください。表示名、色については任意のものを選択してください。ロールの切り替えをクリックすると……

こんな感じでアッサリとアカウントの切り替えが実施できました。

以降は、「スイッチバック」をクリックすることで元の管理アカウントのコンソールに戻りますし、一度この設定をしておけばロール履歴の中から対象のアカウントをクリックするだけで簡単にアカウントの切り替えが実施できるようになります。

まとめ:個人でも AWS Organizations を導入する価値がある理由
本記事では AWS Organizations による基本操作について解説しました。今回紹介したポイントをまとめます。
- 管理アカウントの分離:アカウントと OU の管理専用アカウントを用意することで、既存アカウントを安全に取り込める
- 既存アカウントの招待:メールアドレスを指定した招待・承認だけでメンバーアカウント化できる
- 組織単位(OU):本番・検証のようにアカウントを目的別にグルーピングして管理できる
- 新規アカウントの作成:Organizations 経由なら、アカウント名とメールアドレスの入力だけで数分待つだけの手軽さ
- スイッチロール:デフォルトで作成される IAM ロールを使えば、都度ログインし直さずアカウントを切り替えられる
デフォルトで作成される IAM ロールを使ったスイッチロールでは admin 権限を持つことになるので、ここから先は権限やセキュリティの整備が必要になりますが、まずは本記事を通じて AWS Organizations を使ったことがない方が機能を理解するための一助になれば良いと考えております。
次回は、AWS Organizations を使った監査アカウントの運用方法について記載予定です。では、また。






ディスカッション
コメント一覧
まだ、コメントがありません