【初心者向け】「AWS Control Tower で始める はじめての AWSアカウント管理」というセッションを視聴しました。#AWSBuilders

どうもさいちゃんです。AWS Builders Online Seriesが開催されています。その中から気になるセッション「AWS Control Tower で始める はじめての AWSアカウント管理」を視聴してみたので、今日はそのレポートブログになります。
2022.07.14

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS Builders Online Seriestとは

AWS Builders Online Seriesとは2022年7月14日に開催されたAWS初心者のためにゼロからAWSを学ぶイベントです。

AWS 初心者向けの大規模イベント AWS Builders Online Series が本日を開催です。ゼロから AWS を知りたい方や、Web アプリケーション開発、機械学習、コンテナ、サーバーレス、分析などの AWS サービスを基礎から学びたい方は必見です。

AWS Builders Online Seriest:イベント概要

「AWSについて学びたいけど、用語が分からない。。」という方にも、「いちばんはじめに押さえておきたい!初学者向け AWS キーワード Top 10」というセッションも用意されていますので、安心してイベントに参加できるようになっています。

セッション概要

「AWS Control Tower で始める はじめての AWSアカウント管理」
登壇者:AWS 技術統括本部 西日本ソリューション部 ソリューションアーキテクト 白石 一乃 氏

AWSアカウントを利用する全てのお客様に推奨される設定を、AWS Control Tower が自動でAWSアカウントに展開します。 このセッションでは、そんな AWS Control Tower が提供する各機能をご紹介します。

ということで、AWS Control Towerを使ってアカウント管理をする方法を初心者にも分かりやすく説明してくれるセッションです。

AWSアカウントとは

AWSアカウントの特徴

AWSの各種サービスを使い始めるにはまずAWSアカウントが必要である。 AWSアカウントの特徴は以下のとおりである。

  • 様々なサービスを利用するための区画
    • VPCやEC2などの様々なAWSリソースをこのアカウントの中に構築していくことになる。
  • 複数のユーザーで利用することが可能
    • 色々な立場のユーザーに合わせてAWSアカウント内のリソースにアクセスをしたり、アクセス制限をすることが可能
  • 単一の人・組織がAWSアカウントを不空数所有して環境を分離することができる

AWSアカウントが実現すること

  • セキュリティ境界
    • 他のAWSアカウントにアクセスすることは明示的に許可しない限り不可能である
    • そのためAWSアカウントを分離することは環境の分離、セキュリティの境界とすることができる。
  • リソースの分離
  • 課金の分離
    • 一つのアカウント内でも、設定をすれば明細を分けることもできるが、デフォルトの請求単位はAWSアカウントとなる

AWSアカウントの展開

現在AWSでは複数のアカウントで環境を構築することがベストプラクティスとなっており推奨されている。
こういった複数のアカウントによる構成をマルチアカウント構成と呼んでいる。

ではなぜマルチアカウント構成が推奨されているのか。

例えば一アカウントに開発・本番・検証などのすべての環境を詰め込んだとした場合を考えてみる。
一つのプロジェクトや数個のプロジェクトの場合はこれでもよいが、ビジネスの拡大により、複数のプロジェクト、複数の部門にまたがって使っていくとなると、管理運用がきつくなってくる。

そのため各環境をVPCのようなネットワークの単位切り分けるのではなく、AWSアカウント単位で切り分けるマルチアカウントが推奨されるようになったという背景があるそうだ。

しかし、マルチアカウント構成に対してのよくある疑問として下記のようなものがある。

  • 管理が煩雑にならないか
  • アカウントごとに設定でばらつきが出ないか
  • 初めからマルチアカウント構成では難しいのでは

こういった疑問を解決することができるのがAWS Control Towerであると白石氏は語る。

AWS Control Towerのご紹介

AWS Control Towerとは

AWS Control TowerはAWSが長年培った経験から導き出したベストプラクティスに基づくAWS環境を簡単に数クリックで展開することができるマネージド型サービスである。
AWSには様々なサービスが用意されているが、初心者にとってはどういったサービスをどのように設定すればよいのか調査や検討するだけでもかなりの時間が取られてしまうことが考えられる。

そこで、AWS Control Towerはユーザーが必要とする最低限のベストプラクティスな環境ユーザーに変わりプリセットとしてまとめて提供するというコンセプトのサービスである。
ユーザーは事前の学習コストや工数をかけずにAWSのロケットスタートができる。

AWS Control Towerのしくみ

上記はAWS Control Towerののしくみを図で表したものである。 Control Towerはそれ自体が何か特殊な機能を持っているわけではなく、AWSアカウントを運用する上で役に立つセキュリティや運用のためのサービス群をControl Towerから自動で起動、セットアップをしてくれるようになっている。

AWS Control Towerの4つの機能

シングルサインオン

AWSアカウントをいくつも運用し始めるとせてくる課題がユーザーIDとパスワードの管理である。

利用者にとっての課題として下記のようなものがある。

  • 使いたい環境を切り替えるたびに別々のID/パスワードでログインする必要がある。
  • ID/パスワードの管理が大変
  • 毎回のログイン/ログアウト作業に不便さを感じる

また、管理者にとっても同じように不便な面が出てくる。

  • AWSアカウントごとにユーザーの作成、権限の設定を行う必要がある

こういった管理の大変さから解放してくれるのがControl Towerの有効化で自動的に使えるようになるシングルサインオンの機能である。
この機能によって、ログインとユーザー管理を一本化することができる。

ユーザーは共通ログイン画面から一度ログインすることで権限のあるアカウント一覧画面に遷移することができ、AWSアカウントの切り替えを行うことができる。

この機能はAWS Single Sign-Onというサービスが提供している機能であり、この機能をControl Towerが自動で有効化&セットアップしてくれるようになっている。

ログ集約

AWSのログはアカウントの数だけ個別に設定されている。
ログ集約のメリットは、想定していなかった動きやセキュリティ上の問題が発生した際などに、過去にどんな操作が行われたのかを原因分析のために記録を追跡できるというところにある。

操作ログは短期間であればデフォルトでAWSによって自動で記録、保存されるが、より長期にわたってログの記録を行いたい場合は設定を行う必要がある。

ここでマルチアカウントでのログ集約の課題が出てくる。

  • 複数アカウントの管理者の場合こういったログ設定をアカウントごとに個別に行っていく必要がある。
  • ユーザーのオペレーションミスによって操作ログを削除してしまう可能性
  • 悪意ある人物が意図的にログを無効化/削除する可能性

AWS Control Towerの機能の一つであるログの意自動収集と集約機能を使うことでこういった課題を解決することができると白石氏は語る。

  • 個別のアカウントに対してログの設定を自動で有効化
  • アカウントの外に操作ログを保存(保存先の分離によってセキュリティ向上)
  • 複数アカウントのログを一か所で管理しているため調査が楽になる。

この機能はAWS CloudTrailというサービスが提供している機能であり、この機能をControl Towerが自動で有効化&セットアップしてくれるようになっている。

ガードレール

AWS初心者にとって、どういった行為がリスクとなりえるのかを最初から把握しておくことは難しいといえる。

セキュリティ担当者がAWSアカウントが安全に利用されれるように、個別のアカウントで設定して欲しくないことをチェックリスト形式で配布することもできるが、

  • 利用者はチェックリストへの定期的な入力や確認が大きな負担になる
  • セキュリティ担当者はリストの作成、更新、各ユーザーの入力結果の確認などの手間がかかる

そこでAWS Control Towerが自動でセットアップしてくれるガードレールの機能を使い運用を楽にすることができる。

ガードレール機能とは、道路わきに設置されてい柵(ガードレール)のようにリスクある操作の予防発見のためのしくみである。

主な機能はとしては以下の二つがある。

  • リスクある操作の禁止
  • リスクある操作の監視(通知)

このガードレール機能はAWS Control Towerの中でプリセットとして提供されている。

適用したいガードレールを選ぶだけでControl Towerが操作の禁止や通知を行うAWS ConfigAWS Organizationを裏側で自動的にセットアップしてくれるようになっている。

アカウント作成

通常、AWSで新規のアカウントを作る際には、連絡先矢支払い委情報など各種入力が必要になる。 また、今まで紹介が会ったような初期セットアップの数々をまた一から設定していく必要がある。

もし、Control Towerを有効化した環境をすでに持っている場合は新規作成したアカウントを後からControl Towerの管理下に加えることも可能だが、それでも一定の手順を踏まなければならない手間がある。

これを解決するための機能として本セッションでは、セットアップ済みの新規AWSアカウントの発行という機能について説明されている。

Control Towerの管理画面から、直接新しいAWSアカウントを発行することができる。 そして、この新規アカウントには、先ほど説明があった各種機能が初めから設定されている。 つまり追加の手順なくAWSアカウントの作成管理が行えるということである。

このアカウント作成&自動セットアップの機能はAWS Service CatalogAWS CloudFormationを裏で動かすことで実現している。

視聴を終えて

かなり詳しくAWS Control Towerの機能と利用方法について説明がされていて、非常に理解が深まりました。 また、話を進めていく中でベストプラクティスについても学ぶことができ、マルチアカウントでの運用の際に陥りがちな不安や設定ミスについても細かい紹介があったので、Control Towerに限らずAWS環境を作っていきたい方や自信の環境を見直すのにも最適なセッションでした。