見出し画像

Azure リソース グループ 活用のススメ

はじめに

Azure の重要な概念のひとつに「リソース グループ」があります。
Azure を活用する上で、様々なリソースを作成することになると思いますが、リソース グループは名前のとおりリソースをグループ分けすることができます。
しかし、「グループ分けできる」といっても、『どのような基準でグループにすればよいのか…』とお悩みの方もいるかもしれません。

この記事では、実際に Azure を使用・運用した経験上、オススメできるグループ分けの基準を紹介したいと思います。

リソース グループを分けるメリット

リソース グループを活用すると、このようなメリットがあります。

どのリソースが、どのようなまとまりなのか、わかりやすくなる

リソース グループ名を適切な名称にして、その名称に合うリソースを所属させることで、「何に使用しているリソースなのか?」、「どこが管理しているリソースなのか?」がわかりやすくなります。

アクセス制御が管理しやすくなる

Azure のアクセス制御 (Azure RBAC) は、下記 4 つのスコープに対して設定できます。


【影響範囲:大】
・ 管理グループ
・ サブスクリプション
・ リソース グループ
・ リソース
【影響範囲:小】


この中で「管理グループ」、「サブスクリプション」でのアクセス制御は、おそらくあまりしないのではないかと思います。(サブスクリプションの運用方針にもよりますが…)
もちろん、サブスクリプションの管理者権限を誰かに付与することはあると思います。
たとえば、経理部に所属する全員に対して、サブスクリプション全体の閲覧者権限や、共同作成者権限などを付与するといったことはあまりなさそうです。
(サブスクリプションに含まれるすべてのリソースに対して、権限が継承されてしまうため。)

「リソース」でのアクセス制御は、しっかり運用できれば、非常にセキュアだと思います。
ただし、Azure の活用が進み、リソースの数が増えてくると、アクセス制御の管理は難しくなってきます。
社内でもごく一部のメンバーしか触れてはいけないリソースなど、特に重要なリソースのみ、この方法でアクセス制御を行い、あとのリソースはもう少しまとめてアクセス制御するのがベターだと思います。

「リソース グループ」でアクセス制御すれば、リソース グループに対して付与した権限が、リソース グループに含まれるすべてのリソースに継承されます。
「A システムのリソース グループ」、「B システムのリソース グループ」のようにリソース グループを分けておけば、「A システムに関連するリソースのみ閲覧者権限を付与する」といったことが、簡単に実現できます。
リソース グループの数は、リソースの数より少ないはずなので、アクセス制御を管理する手間も減少します。

リソース グループごとの使用状況が取得できる

Azure の「コストの管理と請求」>「請求書」の一覧でダウンロードを選択すると、下記の 2 種類のドキュメントをダウンロードできます。

  • 使用状況の詳細 (CSV)

  • 請求書 (PDF)

「使用状況の詳細」をダウンロードすると、その中に「コスト」や「リソース名」とともに「リソース グループ」の項目もあります。
この CSV を利用すれば、リソース グループごとのコストを確認することができます。

オススメの分け方

さっそく、リソース グループのオススメの分け方を紹介したいと思います。
それは、「システムごと、環境ごとにリソース グループにする」です。
文章だとわかりにくいかもしれないので、図にしてみました。

リソース グループの分け方 (サンプル)
リソース グループの分け方 (サンプル)

上図では、7 つのリソース グループに分けてみました。

  • A システム - 開発環境 (sys-a-dev-rgp)

  • A システム - 検証環境 (sys-a-stg-rgp)

  • A システム - 本番環境 (sys-a-pro-rgp)

  • B システム - 開発環境 (sys-b-dev-rgp)

  • B システム - 検証環境 (sys-b-stg-rgp)

  • B システム - 本番環境 (sys-b-pro-rgp)

  • 全体で共有するネットワーク関連 (cmn-network-rgp)

このように分けることで、「どのリソースが、どのシステムのどの環境で使用されているか?」がわかりやすくなったかと思います。
また、開発・検証・本番と環境ごとに分けることで、「開発環境・検証環境は、管理者も開発者も操作できる。本番環境は管理者のみ操作できる。」といったアクセス制御も簡単に実現できます。
もし、A システム全体で使用するリソースがあるなら「A システム - 共通」、B システムの運用で使用するリソースがあるなら「B システム - 運用」のようにリソース グループを作成するといいと思います。

おわりに

実業務でも使用しているオススメのリソース グループの分け方を紹介しましたが、いかがでしたでしょうか。 この記事で紹介したグループ分けの基準は、あくまで一例です。 様々なケースがあるので、この方法ではうまくいかないケースもあるかもしれません。 そのような場合でも、この記事の内容が一助となれば幸いです。

いいなと思ったら応援しよう!