はじめに
どうも、道産子エンジニアのkitonです。
AWS SAAの更新期限が迫っていて、更新せずに上位資格(SAP)を取ることに決めました!
試験勉強していく過程で、
「全然理解していないサービスがあるじゃないか!!」
と絶望したので、一旦知識整理してきます。
今回はAWS Organizationsについてです。
難易度(個人的感想)
★★★★☆
Why??
- 個人開発者としては、実際に手を動かして網羅的に理解するには結構しんどい。
- 組織の分析経験、一括請求の確認など。。
- ポリシーの許可・拒否設定を理解する上で、IAMの知識が必要。
- 特にactionの理解
- 実務で使うにあたっては、企業毎の組織分析、請求管理、アクセスポリシーの設計スキルが必要。
AWS Organizations
- 複数のAWSアカウントを一元管理
- グループ化して、ポリシーを適用し利用サービスを制限することが可能。
- AWSアカウント新規作成の自動化
- AWSコンソール、SDK、CLIでアカウントを新規作成可能。
- CloudTrailでアカウント作成の操作を追跡可能。
- 請求の簡素化
- 複数のAWSアカウントへの請求を一括請求にできる。
すべての AWS 商用リージョン、AWS GovCloud (米国) リージョンおよび中国リージョンで利用可能。
グローバルにアクセス可能(組織を作成するときにリージョン指定は不要ということ。ただし、中国を除く)
管理アカウントになるAWSアカウントは変更できないので、管理アカウントは慎重に選択すること!!
イメージ図
主な構成要素
- AWSアカウント
- マスターアカウント
- メンバーアカウント(↑ではアカウントを指します)
- 組織単位(OU)
- サービス管理ポリシー(SCP)
特徴
機能セット
AWS Organizationsを始めるにあたって、2つの機能セットを選ぶ必要がある。
下記は「マスターアカウントにしたいAWSアカウントで操作すること!!」
- 一括請求を行うだけの場合: Consolidated Billing Only
- 複数のAWSアカウントをまとめたい時: All Feature
※以前から一括請求を利用していた場合は、後からAll Featureを有効にすることができる。
AWSアカウント
追加方法
- 新規アカウントを作成して組織内に追加する
- アカウント名、メールアドレス、IAMロール名を指定する。
※ロール名はマスターアカウントの管理を考えると統一するべきである。 - 初回ログイン方法
- ルートアカウントのパスワードリセット
- スイッチロール
- AWS SSOなどでフェデレーションログイン
※招待した利用者が複数の認証情報を覚えずに使える方法で管理するのがおすすめ。
- アカウント名、メールアドレス、IAMロール名を指定する。
- 既存のAWSアカウントを追加する
- 招待したいアカウントの指定とメッセージを入力して招待する。
- 招待を受けたアカウントは招待内容を確認して招待を受ける。
注意
- 1つのAWSアカウントが複数のOUのメンバーになることはできない。
- 1つのOUが同時に複数のOUのメンバーになることはできない。
削除方法
- マスターアカウントから削除する
- メンバーアカウントから削除する
注意
- 削除されたアカウントは独立したアカウントとなり、個別に請求などが開始される。アカウント自体が消されるわけではなく、使い続けれる。
- Organizationsを使用して作成したアカウントを削除するには、情報の追加が必要になる場合がある。
サービスコントロールポリシー(SCP)
-
組織のアカウントでプリンシパル(アカウントルート、IAMユーザー、IAMロール)にアクセスできるAWSのサービスアクションを管理できる。
-
マスターアカウントは適用対象外。メンバーアカウントでは、IAMユーザ・ロール、ルートアカウントも対象。
-
IAMポリシーと同じルールと文法に従う。
【参考】SCP Syntax- ポリシーの許可・拒否
- 許可:複数のポリシーがアカウントに適応される場合、許可はAND条件となる
- 拒否:SCPで拒否とすると他で許可されていても、利用できない。
- 管理方法
- ブラックリスト方式:特定のサービスやアクションを禁止するポリシーの割り当て
- ホワイトリスト方式:特定のサービスやアクションを許可するポリシーの割り当て
- ポリシーの許可・拒否
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
},
{
"Effect": "Deny",
"Action": "ec2:*",
"Resource": "*"
}
]
一括請求
- 組織内の全てのAWSアカウントの利用料が1つの請求として、まとめてマスターアカウントにされるようになる。
- ボリュームディスカウントが合算される。(個別アカウントより安価になる場合も)
- リザーブドインスタンスによる割引がデフォルトで共有される。
※特定アカウントに割引が共有されないよう設定することができる。 - 使用状況レポートでは割引を共有しない場合の料金(Unblended Rate)も確認が可能。
- AWS Organizationsを利用すること自体に追加料金はかからない。
- 組織内で定義された構造は請求書に反映されないので、個別のAWSアカウントでコスト配分タグを適用することで、AWSコストのカテゴリ分けと追跡ができる。
参考サイト