AWSアカウントを組織アカウントに変更する
だいぶ前に個人用AWSアカウントを取得して、以降はずっとそのアカウント1つのみで運用してきた。しかし、最近は色々なプロダクト(といいつつ、実態は実験目的の細々したプログラムばかりだが)をひとつのAWSアカウント上で動かすことに、少し限界を感じ始めている。
つまり、プロダクトごとにAWSアカウントを分けたいということである。
そして、それをうまく実現する方法として、AWSには「組織アカウント」という機能がある。
本記事は、その機能を利用するために実践した具体的な手順を、備忘として残すものである。
公式ドキュメント
- https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_introduction.html
- https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_getting-started_concepts.html
最低限必要な知識
組織アカウント
AWSの「組織アカウント」とは、すごくざっくり言うと、AWS上で「組織」というもを作成し、その下に「管理アカウント」と「メンバーアカウント」をぶら下げる、という構成を取るものである。
「組織」を作成したAWSアカウントが、その「組織」の「管理アカウント」になる。つまり、管理アカウントもまた「組織」に所属する、という形になる。このあたりは正直、ドキュメントを読んでみてもいまいちピンと来なかったが、ひとまず組織アカウントの設定を最後までやってみた結果、「ああ、そういうことを言っていたのか」とすんなり理解できたので、まずは試してみるのが早いと思う。
組織
「組織」には、次の2種類のアカウントが所属する。
管理アカウント
(必ず1つ)メンバーアカウント
(0以上の任意の数)
管理アカウント
管理アカウントは次の特性を持つ。つまり、マスターアカウントである。
- (重要)組織の管理アカウントを変更することはできない
- その組織に所属する、全てのメンバーアカウントに発生する料金の支払いを行う義務を持つ
- 管理アカウント自身の上でも、色々なインフラを普通に構築することが可能
- だが、管理アカウントは何も構築していないアカウントにすることを推奨・・・と、どこかで読んだはずだが、どこで読んだかは覚えていない
前提
既存のアカウントがあり、AWS組織アカウントを作成する場合、次の2通りの方法がある。
- 既存AWSアカウントを、そのまま管理アカウントにする
- 新規AWSアカウントを管理アカウントとして取得し、その組織にメンバーアカウントとして既存AWSアカウントをぶら下げる
どちらもありだと思うが、個人的には、管理アカウント上では何もインフラが動いていないほうが良いと思うため、後者の方法とした。 そのため、以下の手順は、新規アカウントを取得して管理アカウントとすることを前提とするものである。
手順
新規アカウントにて組織を作成
- まず、新たにAWSアカウントを作成する。
- https://signin.aws.amazon.com/
- (既存アカウントを作成した時と同様)連絡先やクレジットカード情報など色々入力する必要がある。
- 既存アカウントとは異なるメールアドレスにする必要がある。
- https://signin.aws.amazon.com/
- アカウントを作成したら、そのアカウントでサインインし、
AWS Organizations
ページ(下記URL)へアクセスする。 組織を作成する
をクリックする。- この後に色々入力するステップがある・・・と思いきや、実はこの1クリックだけで作成が完了してしまう。
AWS Organizations email verification request
というメールが届いているので、本文のVerify your email address
をクリックする- その後、下記ページに遷移すると、
AWS アカウントを追加
ボタンがあるため、これをクリックする。 AWS アカウントを作成
と既存の AWS アカウントを招待
が選べるので、既存の AWS アカウントを招待
をクリックする。招待する AWS アカウントの E メールアドレスまたはアカウント ID
に、 AWSアカウントIDを入力する。(emailでも良いが、アカウントIDのほうがより正確な気がする)
既存アカウントを組織に追加
- 先ほど招待した 既存のAWSアカウントにて、サインインする。
- https://console.aws.amazon.com/organizations/v2/home/
- 同じブラウザでログインする場合、アカウントを切り替えるごとにサインアウト・サインインしなければいけないため、可能であれば別ブラウザでサインインすると効率が良くなる。
- その後、下記ページに遷移すると、
1 件の招待の表示
ボタンがあるため、これをクリックする。 - 次の画面で、招待に関する詳細が表示される。自分の招待であることが確認できたならば、
招待を承認する
をクリックする。
新規アカウントにて、組織に既存アカウントが追加されたことを確認
- 再び、最初に作成した新規アカウントでサインインし、下記ページへ遷移する。
- ここで、先ほど招待したアカウントが表示されていれば、無事に完了となる。
余談:AWSアカウントに設定した「組織」を削除する
AWS Organizations > 設定 > 組織を削除する から削除可能。 https://console.aws.amazon.com/organizations/v2/home/settings
一度、間違えて既存アカウントにて「組織」を作成してしまったのだが(つまり既存アカウントを管理アカウントにした)どうやったらこれを取り消すことができるのかに手間取ってしまったため、備忘としてこの手順も残しておく。