個人利用でAWS Organizationsを使ってみる

はじめに

本記事ではAWS Organizationを個人で利用する方法について記事です。

正直に申し上げますと、、、AWS SysOpsの試験した際に、「これは…Organization使ったことある人じゃないと厳しい…(座学の知識では厳しい)」と感じたことが本記事を書くきっかけとなりました。

Organizationについてどんな風に設定を進めていけば良いか、実際に何が出来るのか、ハンズオンは面倒だけど知りたい、という人向けの記事となります。

本記事では、機能の利用方法について説明しますが、Organizationを使うことのメリットや費用集約といった機能の説明は致しませんので、ご注意下さい。

注意:AWSアカウントを個人で複数持つことは問題ありませんが、アカウントは作成時に12カ月、一部のサービス利用が無料になります。この無料枠は利用しないように注意しましょう。これはAWSの規約違反になります。

実施内容

管理者用のAWSアカウントの作成

まずは管理用のAWSアカウントを作成します。

既に利用中のアカウントを管理用のアカウントにすることも考えていたのですが、どうしても削除することの出来ないサービス利用があったため断念しました。管理アカウントではアカウントとOUの管理のみを行い、サービスは動かさないこととします。

管理用のアカウントを作成したらMFAを有効にし(その他諸々の設定を行った後に)、Organizationのページに移動し、「組織を作成する」をクリックしていきましょう。

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

既存アカウントの招待

次は既に利用していた既存アカウントをOrganizationのメンバーアカウントにしたいと思います。画面右上にある「AWSアカウントを追加」をクリックします。

追加の画面では「既存のAWSアカウントを招待」を選択し、招待する既存アカウントのメールアドレスを入力した後に「招待を送信」をクリックします。

Organizationメンバーへの招待の承認

上記、管理アカウントから既存アカウントに招待を送信すると、今度は既存アカウントでOrganizationのページを開きましょう。管理アカウントから招待が確認出来るはずなので「招待を承認する」をクリックします。これでこの作業も完了です。

思えば、、見知らぬアカウントから招待を受けることも可能性としてあるわけで…この場合は絶対に承認しないようにしましょう。

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

ここでOUが作れていないことに気が付きました。どう見ても既存アカウントがRootになってしまっていますので、ここでは新たにOUを作成し、その中に既存アカウントを置きたいと思います。

OUの作成と既存のアカウントのOUへの参加

組織の画面からRootのクリックすることで、詳細画面に遷移します。

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

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

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

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

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

AWSアカウントの新規作成

ここまでは既存アカウントに対しての操作を説明しておりましたが、ここではAWSの新規アカウントの作成方法についても説明します。

こちらの場合もOrganizationのメニューから、「AWSアカウントを追加」をクリックして下さい。

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

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

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

スイッチロールの動作確認

AWS Organizationの機能を利用することで、簡単にアカウントの作成を行うことが出来ましたが、複数のAWSアカウントを利用している場合、アカウント切り替えって結構面倒ですよね?

ここでは「スイッチロール」の機能を利用し、アカウントの切り替えを簡単に実施する方法について説明します。

AWS Organizationを利用してアカウントを作成した場合、(デフォルトで)作成されたアカウントに「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 Organization利用の記事はここまでとします。

さいごに

本記事ではAWS Organizationによる基本操作について説明致しました。デフォルトで作成されるIAMロールを使ったスイッチロールでは、adminの権限を持つことになりますので、ここから色々な整備・設定が必要ですが、まずはこちらの記事を見て頂くことでAWS Organizationを使ったことがない方にとって、機能を理解するための一助になれば良いと考えております。

次回はAWS Organizationを使った、監査アカウントの運用方法について記載予定です。ではまた。