組織のあちこちでAWSの活用が進んでいくと、チームやプロジェクト単位で個別にAWSアカウントを所有しがちになります。組織規模が大きくなればなるほど、組織全体でのセキュリティや統制、そしてコストなどの管理に問題が生じてしまい、その設定・管理を行うIT部門にも大きな負担がかかってしまうでしょう。今回は、複数のAWSアカウントの運用における注意点とともに、AWSのアカウント一元管理ツールの機能概要や導入効果を紹介します。
AWSアカウントが増えてしまうことで生じる問題点とは
Amazon Web Services(AWS)は手軽にコンピューティングリソースを使えるクラウドサービスなのは言うまでもありません。ですが、明確な方針・統制のないまま、部署やプロジェクト単位の裁量で利用が進んでいき組織内で複数のAWSアカウントを管理・運用していくことになると、各AWSアカウントで全社的に設定しているセキュリティポリシーに合わせてガバナンスが適用できているかの確認が難しくなります。実際、そのような組織は多いのではないでしょうか。
部署やプロジェクト単位でAWSアカウントを利用する理由のひとつに、コストの管理があります。部門が管理するプロジェクト毎にかかったコストを明確にするためにAWSアカウントを分けて運用するケースは多いです。
もうひとつの理由は、ガバナンスの面で本番環境とステージング環境を分ける、あるいはエンドユーザー単位で分けるなどして、仮に誤った設定をしてしまった場合でも他に影響を及ぼさないように、AWSアカウントを分けて管理をします。
しかし、大きな組織のなかで複数のAWSアカウントが乱立してしまうと、組織で統一されたセキュリティや統制のポリシーを設定することが困難になります。IT担当者は、各アカウントで展開されるリソースに対して個別に設定をしていかなければなりません。もしも部門やプロジェクトごとに管理の権限が移譲されているのであれば、AWSアカウントのセキュリティやポリシーの設定は、その部門の管理者のスキルに頼らざるを得ません。中にはAWSの経験が浅いのに管理者となってしまうケースも考えられます。
AWSを使い慣れているIT部門やインフラ管理担当者であれば、コストや設定などの知見があるはずです。しかし、AWSの管理経験が少なく、ただ利用するだけの人の場合、費用や設定の認識に大きな違いが生じます。強い権限のまま利用して統制が取れず、脆弱なアカウントが野放しになってしまったり、不用意に無駄なリソースを展開して思わぬ高額請求がきたりといった懸念が生じてしまうのです。
組織内のアカウントを束ねるAWS Organizations
複数のAWSアカウントを一元管理したいときに役立つサービスが、「AWS Organizations」です。複数のAWSアカウントを管理するためのAWSアカウント(以降、管理アカウントと記載します)を設定して管理できる仕組みを提供するものです。
利用するにはまず、管理アカウントを新規に作成、または既存のAWSアカウントから選定をし、組織内の誰がどのような権限・役割を持って、この管理アカウントを管理するかを明確に決めておく必要があります。IT部門でインフラ全体を管理するような役割の人が適しているでしょう。
管理アカウントが設定できたら、既存のAWSアカウントを招待してその配下に登録していきます。新しいアカウントを作る場合は、管理アカウントから払い出す形になります。なお、管理アカウントから、配下となったAWSアカウントの登録を解除することもできますが、アカウント自体は独立して残りますので、削除されることはありません。
管理アカウントは、「SCP(サービスコントロールポリシー)」という機能を使うことで、組織内のAWSアカウントに対して制限を適用することが可能になります。SCPで設定する拒否設定は、配下のAWSアカウントのルートユーザーにも適用され、またIAMポリシーの許可設定よりも優先的に適用されます。特定のAWSサービスにはアクセスさせたくない場合など、AWSアカウントの利用に対して組織として、誰に何を許可・拒否するかを一括して管理できるようになります。
また、Organizationsの機能を利用したAWSのサービスを利用することで、AWSアカウントの管理工数が大幅に削減することができます。例えばAWS のサービスによって実行されたアクションを監視するためのサービスである「AWS CloudTrail」も統合して利用することも可能です。ひとつの管理アカウント配下にある全てのアカウントを対象とした証跡の取得が可能となりますので、統制に関する懸念や設定の手間も軽減できます。
さらに、配下のアカウントのリソースに対して特定の設定を配備したい場合、各種設定のテンプレート機能とも言える「AWS CloudFormation」を使って自動的に設定を適用することもできます。これによって、複数アカウント内のリソースを個別に設定しなければならない手間を省けます。
なお、AWS OrganizationsやAWS CloudTrailの設定や、セキュリティ・運用・統制要求を事前にパッケージして組織全体または特定のアカウントに適用する「AWS ControlTower」というサービスもあります。ですが、導入するための学習コストが高く、AWSアカウントを初めて管理する方にはハードルが高く感じられるのではないかと思います。どちらかというとAWS ControlTowerは、すでにAWSのベストプラクティスのアカウント管理をしてきたエキスパートが、既存のアカウント管理を一新するときに使う場合や、新規のプロジェクトなどのAWS導入でAWSに知見の多いパートナーと一緒に新しくOrganizationsを設定する場合などに効果を発揮するサービスと言えます。
AWSアカウント管理の経験が少ない場合、また初めてAWSアカウントを管理するという場合は、まずはAWSが提供している「Well-Architected Framework」を参照して管理をするなど、管理者のスキルやパートナーの有無、導入シーンに合わせて管理方法を選択すると良いでしょう。
関連記事:【AWS入門】AWS Organizationsで、AWSアカウントを一元管理する
コストの圧縮やユーザー体験向上にも寄与
AWS Organizationsには請求のみを束ねるタイプと、サービスのコントロールポリシーも含めて一元管理をするタイプの2種類の方法があり、コスト管理を主とした利用もできます。
同じAWS Organizationsの配下であれば、リザーブドインスタンスやSavings Plansの共有をすることができます。ある部門が3年間のリザーブドインスタンスを契約していて、1年後に使わなくなってしまったとしても、別の部門が使用している同一のインスタンスタイプに自動的に割り当てられるため、全体として継続して割引を適用できるというやりくりも可能になります。また、一定金額以上の利用をしている場合は、ボリュームディスカウントが適用される場合があります。これまでバラバラだったAWSアカウントを統合することで、ボリュームディスカウントの対象になり得るのです。
アカウントが増える背景として、部門やプロジェクトごとの予算の明確化がありました。一括請求となり、各種ディスカウントも適用される状況では、部門へのコスト割り当てには少し工夫が必要になります。AWSのコストと使用状況を見るレポートでは、コスト配分タグというのを設定して記録することができます。このタグをEC2やRDSなど費用の発生するリソースに設定しておくことで、レポートの結果からどの組織が利用したかを把握することが可能となります。
管理者の設定負担やコストの軽減だけでなく、組織内でAWSを利用するユーザーの利便性を高める機能もあります。その1つが、複数の AWS アカウントやアプリケーションへのシングルサインオンアクセスを一元管理できる「AWS SSO」です。アカウントごとにユーザーを作ってポリシーを設定していくという管理者の手間が省けますし、1つのアカウントでログインして、配下にある複数のAWSアカウントをまたいで利用することも可能になります。AWS SSOは、オンプレミス環境などのActive Directoryと接続することも可能です。
AWSアカウントを統合管理してユーザー体験が向上した事例も
ここで、モバイルソリューションを得意とするリアライズ・モバイル・コミュニケーションズ株式会社の事例をご紹介しましょう。同社では、AWS Organizationsを活用し、複雑で多岐に渡るアカウントの統合管理を簡略化。Active Directory認証を用いて、アカウント配下にユーザーを持たせることなく統合管理できるようにし、ユーザー体験の向上を実現しました。
リアライズ・モバイル・コミュニケーションズ 株式会社 様 導入事例
複数のAWSを管理しようとする場合、AWS Organizationsの活用が有効であることをお伝えしましたが、AWSの管理・運用で基本的な考え方として参考になるのが、 Well-Architected Frameworkです。これは、運用やセキュリティ、信頼性、コスト面などを効率良くするための手法を説明するもので、これに則った管理をしていけば、ある程度の水準を保った運用が可能になります。
当社ではWell-Architected Frameworkはもちろんですが、これまでの経験や導入実績から、AWS活用に関するさまざまなベストプラクティスの知見を得ております。複雑なアカウント管理や設定に不安がある場合など、AWSご利用のいろいろな相談を承ります。些細なことでもかまいませんので、どうぞお気軽にお問い合わせください。
AWSの導入、運用、コスト削減でお困りですか?
・自社に合わせた最適な代行サービスが選択できる
・豊富な運用実績
・AWSの認定資格をもったエンジニアが対応