AWS Organizationsでアカウント管理してみる

過去、AWSを大きな組織や複数のプロジェクトで利用する場合、AWSのアカウント自体を複数用意して利用していたわけですが、2017年2月に登場した「AWS Organizations」を利用すると、請求先の一元化や、ユーザーの権限管理が一括して行えます。

考え方

これまで

それぞれのアカウントが独立して存在しており、請求情報やユーザー管理もそれぞれ行う必要がありました。

AWS Organizations導入後

図はイメージですが、AWSアカウント内に「組織」を作成することで、独立した世界を用意することができます。

請求情報は「親」で一元管理できます。 また必要があれば各ユーザーに対し制限をまとめてかけることもできます。

「子ユーザー」はルートユーザーと同じ権限が与えられますので、組織内のユーザーから見ても、使い勝手はこれまでと変わりません。また各組織が影響を与えることもありませんので万が一の場合の影響範囲を心配する必要がないのもこれまでと変わらないポイントです。

新しく組織を作成する

子アカウントを作成

ルートアカウントでログインし、「AWS Organizations」へ移動します。

「AWS Organizations」のトップページです。「組織の作成」ボタンをクリックします。

説明が表示されますので、一読して「組織の作成」ボタンをクリックします。

Organizationsの設定画面がようやく開くのですが、まずは現在ログインしているルートアカウントのメールアドレス認証が入ります。なぜだwという疑問が脳内に沸き起こりますが何か事情があるのだと思うので、気にせず行きましょう。一回だけですしね。

ログイン中のルートアカウントのメールアドレスに以下のような確認メールが飛んでいるので、忘れないうちに「Verify your email address」ボタンをクリックして確認を終わらせます。

 メールアドレスの確認が終わったら先ほどの画面にもどり、「アカウントの追加」ボタンをクリック。

「アカウントの作成」をクリックすると、画面下部に入力欄が現れますので、子アカウントの名前とメールアドレスを入力します。IAMロール名はひとまず空欄にしておきます。入力を終えたら「作成」ボタンをクリック。これで完了画面が表示されればユーザーが新たに作成されています。

エラーが表示されたら?

初期化中は組織にアカウントを追加することはできませんと表示されたら、1時間ほど待ちます。

組織がまだ初期化中であるため、アカウントを追加できないことを示すエラーが表示された場合は 1 時間待ってから、もう一度試してください。 ※公式ドキュメントより

組織の作成

子アカウント用のユーザーが作成できたら、次はお待ちかねである組織を作ります。 画面上部のタブ「アカウントの整理」をクリックすると、組織とユーザーの一覧画面に遷移しますので、「+新規組織単位」ボタンをクリック。

好きな組織名を入力し「組織単位の作成」ボタンをクリック。ここではankoinという名前で作成しています。

これで組織ができました。簡単ですね。

子アカウントを組織に移動

最後に子アカウントを先ほど作成した組織に移動させます。 移動させたいアカウントの左上のチェックボックスをクリックするとメニューが登場しますので、「移動」をクリック。

移動先を聞いてきますので、先ほど作成した組織を選択し、「移動」ボタンをクリック。これで移動が完了しました

確認しましょう。 今は一番上の階層にいますが、先ほどまで表示されていた子アカウントがいなくなっていることが確認できます。お次に左側にある組織名をクリックし、組織内に移動します。

先ほど作成した組織に移動し、子アカウントが表示されれば成功です。

子アカウントでログインする

Welcomeメール

時を同じくして、子アカウントのメールボックスに、AWSからのWelcomeメールが届いていればアカウントは無事に作成されていることがわかります。特にメール中のボタンをクリックする必要はありません。無料枠の説明ページに飛ぶだけです。

ログインを試みる

先ほど作成した子アカウントは、組織内ではルートアカウントの扱いになっています。よってログインもルートアカウント用のログインページから行います。子アカウントのメールアドレスを入力したら「次へ」ボタンをクリック。

問題はパスワードです。子アカウントを作成する際にも入力した覚えがないので、ここは「パスワードをお忘れですか?」をクリックし、パスワードの設定を行います。文言的に腑に落ちませんが、ここは一つ大人になりましょうw 画面の指示に従うとメールアドレス宛に確認メールが飛び、クリックすると新しくパスワードを入力する画面が表示されますので適当な物を入力します。

最終的にいつものManagementConsoleが表示されれば成功です。試しに各メニューを開くと何も設定されていない真っ白な状態だということが確認できると思います。

もちろん「請求」も0円!このアカウントで発生した費用はすべて親アカウントに請求されることになります。

一般ユーザーを作成して運用する

子アカウントとは言え、先ほど作成したのはルートユーザーですので何でもできてしまうため、このまま運用するのはさすがに怖すぎます。そこで特定の権限だけが利用できるIAMユーザーを新たに作成し普段の運用はこちらのユーザーで行います。

今回はCloudFrontだけが利用できるIAMユーザーを作成します。

IAMユーザーを作成

子アカウントでManagementConsoleにログインし、IAMへ移動します。

IAMへ移ったら、左側メニューの「ユーザー」をクリック、その後画面上部にある「ユーザーを追加」ボタンをクリックします。

ユーザー情報

各種情報の入力が始まります。

  1. 「ユーザー名」はログインIDとなりますので、短すぎたり管理しずらい物は避けます。
  2. 「アクセスの種類」は今回はManagementConsoleへログインするユーザーを作成するので下を選択
  3. 「コンソールのパスワード」は自動生成を選びましたがここはポリシー次第でご自由に
  4. 「パスワードのリセットが必要」もポリシー次第でご自由に。ユーザー任せにすると安易な物を入れられてしまう可能性があるので管理者側で決めてしまっても良いかもしれません

権限

本来はグループなどを作成して管理した方が楽なのですが、今回は直接アタッチしてしまいます。

  1. 「既存のポリシーを直接アタッチ」をクリック
  2. CloudFrontだけが使えるユーザーを作成するという趣旨でしたので、検索窓にCloudFrontと入力
  3. 「CloudFrontFullAccess」にチェック

タグ

ユーザー管理用に必要があればタグを入力します。今回は割愛します。

確認

最後に確認画面が表示されます。問題なければ「ユーザーの作成」ボタンをクリック。

完了

これでIAMユーザーの作成が完了しました。 ここで「初期パスワード」をメモすることを忘れないでください。パスワード列にある「表示」 リンクをクリックすると表示されます。

IAMユーザーでログインする

IAMユーザーは専用のURLでログインする必要があるのですが、IAMページのトップ(ダッシュボード)に表示されていますので、これをメモします。

ユーザー名と初期パスワードを入力し、「サインイン」ボタンをクリック。

ユーザー作成時に「パスワードのリセットが必要」にチェックしたので、パスワード設定画面が出ました。適宜入力し「パスワード変更の確認」ボタンをクリック。

ManagementConsoleが表示されれば成功です。メニューにはすべてのAWSの機能が表示されていますが、実際に利用しようとすると、権限を付与した物以外はエラーで弾かれますのでご安心を。

参考ページ

aws.amazon.com

Amazon Web Services パターン別構築・運用ガイド 改訂第2版 (Informatics&IDEA)
NRIネットコム株式会社 佐々木 拓郎 林 晋一郎 小西 秀和 佐藤 瞬
SBクリエイティブ
売り上げランキング: 10,179