18
Resource Hierarchy(リソース階層)
リソース階層とは、Google Cloud のリソース(プロジェクト、仮想マシン、ストレージなど)を整理し、管理するための構造的な仕組みです。企業の組織図のように、親と子の関係でリソースを配置することで、アクセス権限の管理、ポリシーの適用、費用の把握などを効率的に行うことができます。
例えるなら、会社の「組織図」や「部署ごとのフォルダ分け」のようなものです。会社全体(組織)の下に事業部があり、さらにその下に部署があり、各部署が様々な業務(リソース)を行っています。また、部署ごとにアクセスできる情報が異なったり、予算が割り当てられたりします。リソース階層もこれと同様の考え方で、Google Cloudの様々なリソースを論理的に整理します。
リソース階層を構成する要素
Google Cloud のリソース階層は、主に以下の3つの主要な要素で構成されます。
- 組織(Organization)
- リソース階層の最上位に位置します。
- 通常、Google Workspace または Cloud Identity のユーザーである企業や団体のドメイン(例:yourcompany.com)と紐付けられます。
- 企業全体を表し、組織ポリシー、アクセス管理(IAM)、費用の可視化などを一元的に管理できます。
- 企業や組織がGoogle Cloudを利用する上で、ガバナンスとセキュリティを確保するための基盤となります。
- リソース階層の最上位に位置します。
- フォルダ(Folder)
- 組織とプロジェクトの間に位置する中間的なグループ化の単位です。
- 部門、チーム、プロジェクトの種類(例:開発環境、本番環境)など、論理的なグループ分けを行うために利用されます。
- フォルダを作成することで、そのフォルダ配下のすべてのプロジェクトに、アクセス権限やポリシーを一括で適用することができます。これにより、大規模な組織における管理が簡素化されます。
- フォルダは多層構造にすることも可能です(フォルダの中にさらにフォルダを作成)。
- 組織とプロジェクトの間に位置する中間的なグループ化の単位です。
- プロジェクト(Project)
- Google Cloud のすべてのリソース(仮想マシン、ストレージバケット、データベースなど)が含まれる基本単位です。
- 各プロジェクトは、それぞれ独立したリソースセット、アクセス制御ポリシー、サービスアカウント、課金設定を持ちます。
- アプリケーションの開発やデプロイ、特定のビジネス要件に対応するITインフラの構築は、このプロジェクト単位で行われます。
- プロジェクトは、フォルダまたは組織に属します。
- Google Cloud のすべてのリソース(仮想マシン、ストレージバケット、データベースなど)が含まれる基本単位です。
リソース階層のメリットと活用例
リソース階層を適切に設計・利用することで、以下のような多くのメリットが得られます。
- アクセス権限の一元管理(IAM):
- 親のリソース(組織やフォルダ)に設定したアクセス権限は、その下にある全ての子リソース(フォルダやプロジェクト)に自動的に継承されます。
- これにより、「開発チームは開発環境のプロジェクトにのみアクセス可能」「経理部門は全プロジェクトの費用データのみ閲覧可能」といった細かい権限管理が容易になります。
- 親のリソース(組織やフォルダ)に設定したアクセス権限は、その下にある全ての子リソース(フォルダやプロジェクト)に自動的に継承されます。
- ポリシーの一括適用(組織のポリシー):
- 特定のサービスの使用を制限したり、リソースの作成ルールを定めたりする組織のポリシーを、組織やフォルダレベルで設定し、配下のすべてに強制できます。
- 例えば、「特定のリージョンにのみVMを作成を許可する」といったセキュリティポリシーを、組織全体に適用できます。
- 特定のサービスの使用を制限したり、リソースの作成ルールを定めたりする組織のポリシーを、組織やフォルダレベルで設定し、配下のすべてに強制できます。
- 費用の可視化と管理:
- プロジェクトごとに課金されるため、各プロジェクトやフォルダ単位で費用を明確に把握し、管理できます。
- 部門やプロジェクトごとのITコストを正確に把握し、適切な予算配分やコスト最適化を進めることが可能です。
- プロジェクトごとに課金されるため、各プロジェクトやフォルダ単位で費用を明確に把握し、管理できます。
- リソースの整理と発見の容易さ:
- 論理的な構造でリソースを整理することで、目的のリソースを素早く見つけ出し、管理しやすくなります。
- 特に大規模な組織で多数のプロジェクトが稼働している場合に、この整理機能が重要になります。
- 論理的な構造でリソースを整理することで、目的のリソースを素早く見つけ出し、管理しやすくなります。