AWS Organizationsを整理して理解する
AWS Organizationsについて、実際にAWSマネジメントコンソールを操作しながら確認していきます。

AWS Organizationsとは
AWS Organizationsは、複数のAWS環境アカウントをまとめて管理するためのサービスです。
AWSを利用していると、用途に応じてAWS環境アカウントを分けることがあります。
例えば、
- 本番環境用アカウント
- ID: xxxxxxxxxxxx
- 開発環境用アカウント
- ID: xxxxxxxxxxxx
- 検証環境用アカウント
- ID: xxxxxxxxxxxx
などです。
AWS Organizationsを利用すると、これらのAWSアカウントを1つのOrganizationとしてまとめて管理できます。
まず、AWS Organizationsの構成をざっくり確認します。
Organization
└── Root
├── OU
│ └── AWSアカウント
│
└── AWSアカウント
それぞれの関係は以下のようになります。
- Organization:組織全体
- Root:Organizationの中にある最上位のコンテナ
- OU:Rootの配下に作成し、AWSアカウントをグループ化するための単位
- AWSアカウント:実際にAWSリソースを利用する単位
- OU:Rootの配下に作成し、AWSアカウントをグループ化するための単位
- Root:Organizationの中にある最上位のコンテナ
基本的には、
Organization
↓
Root
↓
OU
↓
AWSアカウント
という階層で考えると分かりやすいです。
ただし、AWSアカウントは必ずOUに入れる必要はなく、Rootの直下に配置することもできます。
例えば、本番環境、開発環境、検証環境でOUを分けると以下のようになります。
Organization
└── Root
├── Production OU
│ └── 本番環境用AWSアカウント
│
├── Development OU
│ └── 開発環境用AWSアカウント
│
└── Test OU
└── 検証環境用AWSアカウント
つまり、Organizationという組織全体の中にRootがあり、Rootの配下に複数のOUを作成し、そのOUの中にAWSアカウントをグループ化して管理できます。
ここから実際にAWS Organizationsの画面を確認していきます。
AWS accountsを確認する
AWS Organizationsを開き、左メニューから「AWS accounts」を開きます。

画面中央の「Organizational structure」から、現在のOrganizationの構成を確認できます。
今回の環境では以下のようになっています。
Organization
└── Root
└── 管理アカウント(management account)
まだOUやメンバーアカウントを作成していないため、Rootの直下に管理アカウントだけが配置されています。
「management account」と表示されているAWSアカウントは、このOrganizationを管理する管理アカウントです。
OUを作成する
次にOUを作成します。
「AWS accounts」からRootを選択し、「Actions」からOUを作成します。
OUは「Organizational Unit」の略で、Rootの配下に作成するAWSアカウントのグループです。
例えば、以下のように複数のOUを作成できます。
Root
├── Production OU
├── Development OU
└── Test OU
そして、それぞれのOUの中にAWSアカウントを配置します。
Root
├── Production OU
│ └── 本番環境用AWSアカウント
│
├── Development OU
│ └── 開発環境用AWSアカウント
│
└── Test OU
└── 検証環境用AWSアカウント
つまりOUは、AWSアカウントを用途ごとにまとめておくためのフォルダのようなイメージです。
OUの中にさらにOUを作成することもできます。
また、OUを作成せず、AWSアカウントをRootの直下に配置することもできます。
AWS環境のアカウントを追加する
次にAWSアカウントを追加します。
「AWS accounts」画面から「Add an AWS account」を選択します。
AWS Organizationsでは、新しいAWSアカウントを作成する方法と、既存のAWSアカウントをOrganizationに招待する方法があります。
例えば、以下のAWSアカウントを追加します。
本番環境用AWSアカウント
開発環境用AWSアカウント
検証環境用AWSアカウント
Organizationに所属する管理アカウント以外のAWSアカウントを、メンバーアカウント(Member account)と呼びます。
追加したAWSアカウントを、それぞれ対応するOUに配置すると以下のようになります。
Organization
└── Root
├── Production OU
│ └── 本番環境用AWSアカウント
│
├── Development OU
│ └── 開発環境用AWSアカウント
│
└── Test OU
└── 検証環境用AWSアカウント
これがAWS Organizationsの基本的な構成です。
Policiesを確認する
次に左メニューの「Policies」を開きます。
Policiesでは、Organization内のAWSアカウントに対するポリシーを管理できます。
代表的なものがSCP(Service Control Policy)です。
SCPを利用すると、AWSアカウントで利用できるAWSサービスや操作の範囲を制御できます。
例えば、Development OUにSCPを適用するとします。
Development OU
├── 開発環境用AWSアカウントA
└── 開発環境用AWSアカウントB
Development OUに対して「特定のAWSサービスを利用できない」という制限を設定すると、その配下のAWSアカウントにも制限が適用されます。
このようにOUでAWSアカウントをグループ化しておくことで、複数のAWSアカウントにまとめてルールを適用できます。
なお、SCPは権限を付与するものではなく、利用できる権限の上限を制御するものです。
AWS service accessを確認する
次に左メニューの「AWS service access」を開きます。
ここでは、AWS Organizationsと他のAWSサービスとの連携を管理します。
AWS Organizationsと連携することで、他のAWSサービスからOrganization内の複数のAWSアカウントを扱えるようになります。
AWS Organizations
↓
他のAWSサービス
↓
Organization内のAWSアカウント
どのAWSサービスにAWS Organizationsへのアクセスを許可しているのかを確認する場所です。
Settingsを確認する
次に「Settings」を開きます。
Settingsでは、現在のOrganization自体に関する情報を確認できます。
例えば、Organization IDなどを確認できます。
AWSアカウントやOUではなく、Organizationそのものの情報を確認する場所です。
Getting startedを確認する
「Getting started」では、AWS Organizationsを使い始めるための案内を確認できます。
AWSアカウントの追加やOUの作成など、AWS Organizationsの基本的な使い方を確認するためのガイドです。
まとめ
AWS Organizationsは、複数のAWSアカウントをまとめて管理するためのサービスです。
基本的な構成は以下になります。
Organization
└── Root
├── OU
│ └── AWSアカウント
│
└── AWSアカウント
Organizationの中にRootがあり、Rootの配下にOUを作成し、そのOUの中にAWSアカウントをグループ化して管理できます。
さらにOUにSCPを適用することで、複数のAWSアカウントにまとめて制限を設定することもできます。