AWS Organizationsを有効化したときのメモ

# 背景・目的
AWS Organizationを触る機会があったので、作業のメモを残しておきます。また、概要を簡単にまとめます。

# まとめ
- 複数のAWS アカウントを統合するためのアカウント管理サービス。
- 一括請求機能が備わっている。
- 管理者が組織内にアカウントを新規に作成 or 既存アカウントをOrganizationに招待させることができる。
- メンバーアカウントをOU（組織単位）という単位にグルーピングが可能。
- SCP(サービスコントロールポリシー)を使用して、組織内のメンバーアカウントに対するアクセス許可を指定できる。

# 概要
[こちら](https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_introduction.html)の内容を元に概要を整理します。

> AWS Organizations は、ユーザーが作成して一元管理する組織に、複数の AWS アカウント を統合するためのアカウント管理サービスです。AWS Organizations には、お客様のビジネスの予算、セキュリティ、コンプライアンスのニーズをより適切に満たすアカウント管理および一括請求 (コンソリデーティッドビリング) 機能が備わっています。組織の管理者は、組織内にアカウントを作成したり、既存のアカウントを組織に招待して参加させることができます。

- 複数のAWS アカウントを統合するためのアカウント管理サービス。
- 一括請求機能が備わっている。
- 管理者が組織内にアカウントを新規に作成 or 既存アカウントをOrganizationに招待させることができる。

## AWS Organizations の機能
### すべての AWS アカウント を一元管理
> 既存のアカウントを組織に結合して、アカウントを一元管理することができます。自動的に組織の一部であるアカウントを作成し、他のアカウントを組織に招待することができます。アカウントの一部または全部に影響するポリシーをアタッチすることもできます。

- アカウントを一元管理できる。
- ポリシーをアタッチできる。

### すべてのメンバーアカウントの一括請求
> 一括請求は AWS Organizations の機能です。組織の管理アカウントを使用して、すべてのメンバーアカウントを統合して支払うことができます。一括請求 (コンソリデーティッドビリング) を行う場合、管理アカウントは、組織のメンバーアカウントの請求情報、アカウント情報、アカウントアクティビティにアクセスできます。この情報は、Cost Explorer などのサービスに使用され、管理アカウントが組織のコストパフォーマンスを向上させるのに役立ちます。

- すべてのアカウントを統合して一括で支払い（一括請求）可能。
- 管理アカウントでは、Cost Explorerなどから、メンバーアカウントの請求情報等が確認できる。

### 予算、セキュリティ、コンプライアンスのニーズを満たすアカウントの階層的なグループ化
> アカウントを組織単位 (OU) にグループ化し、各 OU に異なるアクセスポリシーをアタッチすることができます。たとえば、特定の規制要件を満たす AWS サービスにのみアクセスする必要があるアカウントがある場合、それらのアカウントを 1 つの OU に入れることができます。その後、それらの規制要件を満たさないサービスへのアクセスをブロックする OU にポリシーをアタッチすることができます。OU は、他の OU 内に 5 レベルまでネストできるため、アカウントグループを柔軟に構成できます。

- アカウントをOU（組織単位）にグルーピング可能。
- 各OUに異なるアクセスポリシーをアタッチできる。
- OUは、他のOUは内に5レベルまでネストできる。

### 各アカウントがアクセスできる AWS サービスと API アクションのコントロールを一元化するポリシー
> 組織の管理アカウントの管理者は、サービスコントロールポリシー (SCP) を使用して、組織内のメンバーアカウントに対するアクセス許可の上限を指定できます。SCP を使用すると、各メンバーアカウントのユーザーとロールがどの AWS サービスリソースおよび個々の API アクションにアクセスできるかを制限することができます。また、AWS のサービス、リソースおよび API アクションへのアクセスをいつ制限するかの条件も定義できます。これらの制限は、組織内のメンバーアカウントの管理者よりも優先されます。AWS Organizations がメンバーアカウントのサービス、リソース、または API アクションへのアクセスをブロックすると、そのアカウントのユーザーまたはロールはアクセスできません。このブロックは、メンバーアカウントの管理者が IAM ポリシーで明示的にそのようなアクセス許可を付与した場合でも有効なままです。

- SCP(サービスコントロールポリシー)を使用して、組織内のメンバーアカウントに対するアクセス許可を指定できる。

# 実践
## シナリオ
2つのアカウント（AccountAとAccountB）を用意し、AccountAを管理アカウントとして、AccountBをメンバーアカウントに招待し、Organizationで管理します。


## AccountA
1. AWS Organizationsのトップページで、有効化をクリックします。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/c5891c9d-8508-0e69-1746-36a18bfa5c65.png)

1. しばらくするとメールが届きますので、「Verify your email address」をクリックします。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/9f926ffb-1540-ac52-c75c-4f4f89dc70e4.png)

1. 「Eメールアドレスは正常に確認されました」と表示されます。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/ed528738-03ba-bcde-2542-6334db622a5e.png)

1. AccountBを招待するため、下記を入力し、③.「招待を送信」をクリックします。
    1. 既存のAWSアカウントを招待
    1. 招待するAWSアカウントのEメールアドレスまたはアカウントIDを入力
    1. 招待を送信
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/eb4fbc40-925c-d066-8fc7-aeaf3f07bdae.png)

## AccountB
1. Organizationsを開くと、「１件の招待の表示」というボタンが確認できますので、クリックします。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/1b0d8303-75bd-d470-886a-d72a2fb532fa.png)

1. 招待が届いているので、「招待を承認する」をクリックし承認します。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/ca6e4265-c587-3952-022e-967fdeeb8fbf.png)

## 再びAccountA
1. 追加されました。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/330ccb4c-d20e-aa56-c319-4818f8866320.png)

# 考察
今回は、メンバーアカウントを追加するのみでしたが、今後はOUやSCPを作成し、一括請求の見え方など確認してみたいと思います。

# 参考
https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_introduction.html