Azure / AWS / Google Cloud の組織階層とリソース管理モデルを比較する

AWS方面から来ましたという状態で、Azureのことはめちゃくちゃ詳しいわけではなかったのだが最近業務でAzureを毎日触る機会を得てAzureについてだいぶ詳しくなってきたと感じた。

AWSプロフェッショナルのためのAzureというページがあり、これが大変わかりやすかった。AWSでいうところのあの概念はこちらです。という説明がされており非常に丁寧に感じた。クラウド初学者以外のこうした学習パスがあるのは非常に助かる。AWSGoogle Cloudにもこのようなページがあるのだろうか?きっとあるのだろう。

learn.microsoft.com

今日はその中でも、アカウントとサブスクリプションの考え方について書き残したいと思う。

アカウントとサブスクリプション

数年前にAzureを触った時に、サブスクリプションって何?と思った記憶がある。個人利用レベルだったので、特段うまみを感じなかっただけでなく、面倒な仕組みだと感じたことを覚えている。当時はサブスクという言葉が今よりも広く使われる前だったと記憶していて、概念がつかみにくかったのだと思う。今ならサブスクと言われたらすぐにわかる。(がAWSアカウントと同じ概念とすぐわかるかどうかは別の話)

AWSGoogle Cloudに業務で触れることがあり、またAzureに戻ってきた。 今回の業務はかなり大きな企業でのAzure利用だった。大きな企業でAzureを使う場合にはサブスクリプションや管理グループ、リソースグループという概念が非常に便利だということに気がついた。

AWSにもResouce Groupsというものがあるらしいのだが、自分はこれまであまり意識したことがなかった。

docs.aws.amazon.com dev.classmethod.jp

表にしてみた

クラウド ルート階層 中間階層 リソースを格納する最小単位 補足
Azure Entra ID(テナント) Management Group Subscription → Resource Group ResouceGroup は必須であり、デプロイ・IAM・Policy 単位
AWS AWS Organizations OU(任意) Account ResourceGroup は任意の論理ビュー(タグ or Stack)
Google Cloud Cloud Identity / Organization Folder Project → リソース Project が課金・IAM・API の最小単位

比較してみたら、各社の設計が少しずつ違って興味深い。

  • Azure
    • Resource Group は物理的な配置単位で、必ずどこか1つの RG に属する
    • デプロイ、RBAC、Lock、Policy 適用が RG レベルで可能
  • AWS
    • Resource Groups はタグ or スタックで絞る“フィルタ結果”であり論理ビュー
    • 属さないリソースがあっても OK(構造ではない)
    • IAM/Policy/Network などの境界は Account が単位
  • Google Cloud
    • Project が Azure の Resource Group + Subscription の中間のような存在
    • Project が API 有効化 / 課金 / IAM の最小単位
    • Folder で大規模組織階層を構成
    • Resource Group という名前の機能は無いが、Project が Azure の Resource Group よりも強力な境界

Azure の Resource Group は“箱”であり、AWS のそれは“ラベルで集めた一覧”ということのようだ。

アカウント管理

アカウント管理方法というかSSOあたりについてはAzureが変わっていると思うのだが、Entra IDという強力なサービスを持っているのがデカいと思う。IAMについて触れるとそれだけで長くなるのでこの記事では触れないことにする。

レイヤー Azure AWS Google Cloud
ID基盤 Entra IDテナントが全 Azure 組織の根幹となる IAM Identity Centerで外部IdP連携可能 Cloud Identityで外部IdP連携可能
ID/SSOの構成 Entra ID で SSO と RBAC を統合する IAM Identity Center を使い、Org 配下の複数 Account に SSO構成可能 Cloud Identity を使ってSSO構成可能
ポリシー適用単位 Management Group / Subscription / Resource Group(Azure Policy / RBAC) Org / OU / Account(SCP / IAM) Org / Folder / Project(IAM Policy)

Azureの場合はAzureを管理する側にもEntra IDについて分かる人がいると良いように思う。PIMなどEntra IDの機能を使ってAzureの権限管理することもあるだろうし、Azureを使っている以上Entra IDだけでなくActive Directoryについての知識も求められることがあるので、知っていて損はまったくないと思う。

さいごに

マルチクラウドやオンプレとの接続を考えたときに、どれもわかっている人の存在が必要になると最近思っているので、こうした比較も大事だろうと思ったのだった。物理機器に好んで触れている昨今だったが、クラウドにどっぷり浸かる久しぶりの体験をしているなかでこの記事が生まれた。テーマごとに書いていくのが面白そうだなと思うが、ネットワークや仮想マシンについてはこの分量では全く収まらないと予想されるので戦々恐々としている。