AWS Organizationsとは
AWS Organizationsとは、組織で用いる複数のAWSアカウントを一括管理するためのサービスを指します。AWSアカウントにまたがる環境を保護し適切に拡張するなど、AWSサービスの運用を一元管理することができます。ここでは、AWS Organizationsの概要から使い方まで解説していきます。
【参考】:AWS Organizations
AWS Organizationsの概要
AWS Organizationsの概要をお伝えする前に、AWSの通常の運用を考えてみます。AWSは小規模に始めることができますが、組織体の規模が大きくなると業務や役割がいくつか必要となり、クラウドサービスに求める機能や利用するサービスに違いが出てきます。
これらの異なる利用形態を同一のAWSアカウントで運用するのは、逆に不便になることがあります。
AWSでは利用形態やワークロードに応じて、AWSアカウントを細分化することを推奨しています。例えば開発環境と本番環境のアカウントを分けたり、業務サービスの利用部署ごとに役割に応じてアカウントを分けたりします。このようにアカウントを分割すると、今後はアカウント管理や全体統制の問題も生じてきます。
このような不便さを解消するものとして、AWS Organizationsが提供されます。AWS Organizationsは、全体を統合管理することで、使用状況の把握と利用料を一元管理し、全体のセキュリティを想定レベルに維持し、全体の運用工数を低減することを目的としています。
AWS Organizationsの特徴
AWS Organizationsの特徴としては、AWSアカウントを統制するにあたって、他のAWSサービスと統合された管理運用サービスを提供できることが挙げられます。
AWSアカウントを作成し、必要な権限を付与しますが、その対象を組織単位(OU、Organizational Unit)や単一アプリケーション・アカウントグループなどに分けて設定することができます。そこでアクセス許可を制御しながら、アカウントのモニタリングを行います。
AWS Organizationsの概念
AWS Organizationsの概念ですが、大まかに以下の様な要素に分解できます。1つの組織・ルートに、複数の組織単位やアカウントを組み入れて全体を統制します。
・組織(Organization)
AWS Organizationsで管理する全体を呼び、1つの管理アカウントが必ず含まれます。組織の所属するアカウントは、一元的に表示され管理することができます。
・ルート(Root)
AWS Organizationsで「組織」を作成したときに1つのみ自動で作成されます。組織単位(OU)とアカウントすべてが含まれます。すべての親となる容器(コンテナ)で、ポリシーを設定する際に使用します。
・組織単位(OU)
ルートの配下で管理される単位で、アカウントや下位の組織単位を含むコンテナです。樹木に例えると、最上部の親はルートで根に相当します。組織単位は幹や枝で、その先にあるアカウント(葉)を束ねることができます。
・アカウント(Account)
AWSアカウントで、リソースにアクセスするIDなどを含みます。アカウントは組織を管理する管理アカウントと、メンバーアカウントに大別されます。
AWS Organizationsの料金と請求方法
AWS Organizations は、追加料金なしで使用することができます。請求は組織で利用するサービスに応じて請求されます。請求書は組織に対して1つの請求書を受け取る一括請求に対応します。
組織内で発生するリソース利用を可視化し、料金の割引を設定することで個別の支払いよりも費用を低減することができます。
【参考】:AWS スタートアップ:コストの管理
【参考】:AWS Organizations の一括請求 (コンソリデーティッドビリング)
AWS Organizationsの使い方
AWS Organizationsを使うには、最初に組織の管理に使用するAWSアカウントを決めておきます。AWSアカウントは、管理者として組織を管理するために使用します。
進め方に戸惑う場合は、「AWS Organizationsユーザーガイド」の「AWS Organizations のチュートリアル」や「AWS Organizations のベストプラクティス」に管理アカウントやメンバーアカウントの補足説明がありますので、参考にすると良いでしょう。
【参考】:AWS Organizations のチュートリアル
【参考】:AWS Organizations のベストプラクティス
組織を作成する
組織を作成するには、AWSアカウントを用いてAWSマネジメントコンソールにサインインし、AWS Organizations コンソールを開きます。ここで利用するAWSアカウントは、あらかじめ決めておいた組織を管理するアカウントです。
AWS Organizations コンソールから、「Create Organization (組織の作成)」を選択し、有効にする機能を選択します。機能は一括請求やすべての機能などから指定します。必要に応じて、「Create organizational unit in Root」で組織単位を作成していきます。
組織のAWS アカウントの管理
組織のアカウントは、管理の一元化が可能です。既存のAWSアカウントは、組織に招待することで組織に取り込むことができます。また作成するAWSアカウントを、自動的に組織に所属させることもできます。ここで用いるAWSアカウントは、同時に複数の組織に所属することはできませんので、ご注意ください。
【参考】:組織内の AWS アカウント の管理
【参考】:組織内での AWS アカウント の作成
組織で必要なポリシーを設定する
サービスコントロールポリシー(SCP)は、組織で必要なポリシーによりアクセス制御を行う機能です。ポリシーは、アカウントグループに適用するコントロールを記述します。使用するにはSCPを有効化します。
アクセス制御で不足する部分は、 IAMユーザー・グループやロール、アカウントのリソースにアクセス許可を付与し、アクセスをコントロールします。
【参考】:AWS Organizations サービスコントロールポリシー (SCP)
【参考】:AWS Organizations でアイデンティティベースのポリシー (IAM ポリシー) を使用する
AWSサービスの有効化
AWS Organizationsでは、AWSのサービスと連携して「信頼されたアクセス」や「委任管理者」のサービス機能を提供します。具体的には統合の有効化により、組織のアカウントによるサービスオペレーションの実行や、管理者の委任による組織内のAWSメンバーアカウントによる管理操作が可能となります。
【参考】:AWS Organizations で使用できる AWS のサービス
【参考】:AWS Organizations を他のAWSサービスと併用する
AWS Organizationsは大きな組織で効果が期待できる
AWS Organizationsは、複数の権限をもつAWSアカウントを一括管理し全体を可視化することができます。全体の可視化は運用効果を高め、一括請求は支払いコストの低減が期待できます。組織の役割が明確になることで、大きな組織や複雑なプロジェクトでは運用効率をさらに高めることができるでしょう。