Shared VPC しぇあーどぶいぴーしー
VPCGoogle Cloudネットワーク共有ホストプロジェクトサービスプロジェクトIAM
Shared VPCについて教えて
Shared VPCとは
Shared VPC(共有VPC)は、Google Cloudが提供する機能で、1つのVPC(Virtual Private Cloud)ネットワークを複数のGoogleCloudプロジェクトにまたがって共有できる仕組みです。通常、プロジェクトごとに独立したネットワークを持つのが基本ですが、Shared VPCを使うと「ネットワークの管理」と「アプリケーションの開発・運用」を明確に分離できます。
企業の情報システム部門が会社全体のネットワークをまとめて管理しながら、各事業部門はそのネットワーク上で自由にシステムを動かせる、という構成が実現します。セキュリティポリシーの一元管理、コストの集約、ネットワーク設計の標準化といったメリットがあり、複数チーム・複数プロジェクトが存在する中〜大規模な組織で特に有効です。
なお、Shared VPCはGoogle Cloud固有の機能名ですが、AWSの「RAM(Resource Access Manager)によるVPC共有」やAzureの「共有サービスVNet」など、他クラウドにも類似の概念が存在します。クラウド選定・設計時には各社の用語を確認することが重要です。
Shared VPCの構造と仕組み
Shared VPCは「ホストプロジェクト」と「サービスプロジェクト」という2種類の役割で成り立っています。
| 役割 | プロジェクト名 | 誰が管理するか | 主な役割 |
|---|---|---|---|
| ネットワーク管理側 | ホストプロジェクト | インフラ・情シスチーム | VPC・サブネット・ファイアウォールを定義 |
| アプリ利用側 | サービスプロジェクト | 各開発チーム・事業部門 | ホストのサブネットを借りてVMやコンテナを動かす |
鍵となる概念の整理
- VPC(Virtual Private Cloud): クラウド上の仮想的な「プライベートネットワーク空間」
- サブネット: VPCをさらに細かく区切ったネットワークの区画
- IAM(Identity and Access Management): 「誰がどのリソースを使えるか」を制御する権限管理の仕組み
- Shared VPC Admin ロール: ホストプロジェクトを設定し、サービスプロジェクトをアタッチできる特権ロール
覚え方:「大家さんと店子(たなこ)」
Shared VPCはビルのオーナーとテナントの関係に似ています。
- ホストプロジェクト=大家さん:建物(ネットワーク)を所有・管理する
- サービスプロジェクト=テナント:部屋(サブネット)を借りて、自分のビジネス(アプリ)を運営する
大家さんが電気・水道・セキュリティを一括管理し、テナントは内装と営業に集中できるイメージです。
歴史と背景
- 2016年頃: Google Cloudがプロジェクトをまたいだネットワーク共有の需要に対応すべく、機能の検討を開始
- 2017年: 「XPN(Cross-Project Networking)」という名称でプレビュー提供が始まる
- 2018年: 正式に「Shared VPC」という名称でGA(一般提供)開始。企業向けのセキュリティ・ガバナンス要件への対応が加速
- 2019年以降: Organizationポリシーとの統合が強化され、企業全体のガバナンスフレームワークとして位置づけられるようになる
- 現在: GKE(Google Kubernetes Engine)やCloud RunなどのマネージドサービスもShared VPC上のサブネットに対応し、利用シーンが拡大
Shared VPCのネットワーク構成図
Shared VPCと通常構成の比較
| 比較ポイント | 通常構成(プロジェクト別VPC) | Shared VPC |
|---|---|---|
| ネットワーク管理 | プロジェクトごとに個別管理 | ホストプロジェクトで一元管理 |
| セキュリティポリシー | チームごとにバラバラになりがち | 全体で統一・標準化できる |
| プロジェクト間通信 | VPC Peeringなど別途必要 | 同一VPCなので自然に通信可能 |
| コスト追跡 | プロジェクト単位で把握しやすい | ネットワークコストはホスト側に集約 |
| 向いている規模 | 小規模・独立したチーム | 中〜大規模・複数チームの組織 |
関連する規格・RFC
| 規格・ドキュメント | 内容 |
|---|---|
| Google Cloud Shared VPC 公式ドキュメント | ホスト/サービスプロジェクトの設定手順・IAMロールの詳細 |
| RFC 4632 | CIDR(サブネット表記 /24 など)の基本仕様 |
| CIS Google Cloud Foundations Benchmark | Shared VPC利用を含むGoogle Cloudのセキュリティ標準 |
関連用語
- VPC(Virtual Private Cloud) — クラウド上の仮想プライベートネットワーク。Shared VPCの土台となる概念
- VPC Peering — 別々のVPC同士を接続する方法。Shared VPCと異なり、ネットワークは分離したまま
- IAM(Identity and Access Management) — 誰がどのリソースを操作できるか制御する権限管理の仕組み
- サブネット — VPCを区画に分けた単位。Shared VPCでは各サービスプロジェクトに割り当てる
- GKE(Google Kubernetes Engine) — Shared VPC上で動かすことができるGoogleのKubernetesマネージドサービス
- Cloud Interconnect — オンプレミスとGoogle Cloudを専用線で接続する機能。Shared VPCと組み合わせてハイブリッド構成を組む