限定公開のGoogleアクセスでGoogle APIへセキュアに接続したい

限定公開のGoogleアクセスでGoogle APIへセキュアに接続したい

2025.10.14

クラウド事業本部コンサルティング部の渡邉です。

Google Cloudには、Google APIへセキュアに接続することができる 限定公開のGoogleアクセス という機能があることをご存じでしょうか?
今回は、限定公開のGoogleアクセスについての解説と、限定公開のGoogleアクセスを利用したGoogle APIへの接続を実際に試してみたいと思います。

限定公開のGoogleアクセスとは

限定公開のGoogleアクセスとは、インターネットに出ることができない内部IPアドレスしか持たないVMインスタンス(Compute Engine)がCloud StorageやBigQueryなどのGoogle APIへGoogle内部のネットワークを経由してアクセスすることができる機能です。限定公開のGoogleアクセスはPrivate Google Access (PGA)とも呼ばれたりします。
通常、Cloud StorageやBigQueryなどのGoogle APIへアクセスするためには
インターネットを経由する
必要があり、外部IPアドレスが必要になりますが、セキュリティ要件の厳しいお客様や統制の取れた環境ではCompute Engineに外部IPを付与することができないケースがあると思います。そういったケースでもGoogle APIへアクセスしたい場合に、この限定公開のGoogleアクセスは非常に有効な機能となります。

限定公開のGoogleアクセス
限定公開のGoogleアクセス

限定公開のGoogleアクセスの仕様

以下を満たす場合に、限定公開のGoogleアクセスを使用してGoogle APIに接続することができます。

  • 限定公開のGoogleアクセスが有効なサブネットにVMインスタンスが接続されていること。(限定公開のGoogleアクセスはサブネット単位で有効/無効を選択することができます。)
  • VMインスタンスに外部IPアドレスが付与されていないこと。
  • 接続したいサービスのGoogle APIを有効化していること。(storage.googleapis.com APIへアクセスしたい場合は、Cloud Storage API を有効にする必要がある。)
  • ネクストホップがデフォルトのインターネットゲートウェイである適切なルート(0.0.0.0/0)が存在すること(VPCネットワーク作成時に自動的に作成される。)
  • VPCネットワークのファイアウォールでデフォルトのインターネットゲートウェイ(0.0.0.0/0)へのHTTPS(443)アクセスが許可されていること(暗黙のEgress許可のため基本的に対応不要)

ドメインオプション

限定公開のGoogleアクセスにはセキュリティ要件とアクセス範囲により、3つのドメインオプションから選択することができます。デフォルトドメインはほぼすべてのGoogle APIとサービスにアクセスできることができますが、セキュリティ上の制限は最も緩くなります。private.googleapis.comはGoogle APIのみに限定し、Google Workspaceなど一部サービスへのアクセスを遮断することで、不要なサービスへの接続を防ぐことができます。restricted.googleapis.comは最も厳格で、VPC Service Controls対応サービスのみにアクセスを制限し、データ境界の保護が必要な環境に最適です。

今回はデフォルトドメインを利用するパターンで検証を行っていきたいと思います。
デフォルトドメイン、private.googleapis.com、restricted.googleapis.comを利用するにあたっての比較内容や、Cloud DNSの必要な設定内容については、以下の公式ドキュメントをご参照ください。

ドメイン オプション  | 限定公開の Google アクセスを構成する  |  VPC  |  Google Cloud

DNS構成  | 限定公開の Google アクセスを構成する  |  VPC  |  Google Cloud

試してみた

今回は、限定公開のGoogleアクセスを使用して、Compute EngineからCloud Storageに存在するファイルを確認することができるか検証してみようと思います。

アーキテクチャ

検証するアーキテクチャとしては以下になります。
限定公開のGoogleアクセスをオンにしたサブネット上に存在するCompute EngineからCloud Storageへアクセスできることの確認と、限定公開のGoogleアクセスをオフに更新したサブネット上に存在するCompute EngineからCloud Storageへアクセスできないことの確認をしていきます。

限定公開のGoogleアクセスオン
限定公開のGoogleアクセスオフ
検証するアーキテクチャ

限定公開のGoogleアクセスを使用するパターン

VPCネットワークの作成

まずは、VPCネットワークを作成していきます。

			
			gcloud compute networks create test-vpc \
    --subnet-mode=custom \
    --bgp-routing-mode=regional

		

VPCネットワーク
VPCネットワーク

VPCネットワークを作成したと同時にネクストホップがデフォルトインターネットゲートウェイのルートが作成されることも確認できます。

デフォルトインターネットゲートウェイのルート
デフォルトインターネットゲートウェイのルート

サブネットワークの作成

限定公開のGoogleアクセスを有効化にしたサブネットを作成していきます。

			
			gcloud compute networks subnets create test-subnet \
    --network=test-vpc \
    --range=192.168.0.0/24 \
    --region=asia-northeast1 \
    --stack-type=IPV4_ONLY \
    --enable-private-ip-google-access

		

限定公開のGoogleアクセスを有効化にしたサブネット
限定公開のGoogleアクセスを有効化にしたサブネット

Compute Engineの作成

限定公開のGoogleアクセスを有効化にしたサブネット内に内部IPアドレスのみを持つCompute Engineを作成します。

			
			gcloud compute instances create vm-01 \
    --zone=asia-northeast1-a \
    --machine-type=e2-medium \
    --image-family=ubuntu-2204-lts \
    --image-project=ubuntu-os-cloud \
    --network=test-vpc \
    --subnet=test-subnet \
    --no-address 

		

Compute Engine
Compute Engine

ファイアウォールの作成

内部IPアドレスのみを持つCompute EngineにSSH接続をするためには、Identity-Aware Proxy(IAP)TCP 転送を使用してアクセスします。
IAPのTCP転送を利用してSSHをするためには、ファイアウォールを作成する必要があるので作成します。
今回はこちらの詳細な説明は省略します。

			
			gcloud compute firewall-rules create allow-iap-ssh-access \
    --network test-vpc \
    --direction=INGRESS \
    --action=allow \
    --rules=tcp:22 \
    --source-ranges=35.235.240.0/20

		

IAP利用許可のファイアウォール
IAP利用許可のファイアウォール

インターネットへの接続確認

まずは、Compute Engine内へIAP経由でSSHを行い、Compute Engine内からインターネットへ接続できないことを確認します。curlコマンドを利用しhttps://classmethod.jp/へアクセスしましたが、
内部IPアドレスのみで、外部IPアドレスが付与されていないためインターネットへアクセスすることはできません。(タイムアウトしました)

インターネットへの接続確認
インターネットへの接続確認

Cloud Storageへのアクセス確認

次に、Compute EngineからCloud Storageへアクセスできることを確認します。
事前に、Cloud Storageバケットの作成とテストファイルをアップロードしておきます。
Compute Engine内からgsutilコマンドを実行することで、限定公開のGoogleアクセスの機能を利用してCompute EngineからCloud Storageバケットのテストファイルへアクセスすることができました。

限定公開のGoogleアクセスを利用したCloud Storageアクセス
限定公開のGoogleアクセスを利用したCloud Storageアクセス

限定公開のGoogleアクセスを無効化するパターン

限定公開のGoogleアクセスを無効化

サブネットを更新し、限定公開のGoogleアクセスを無効化にしていきます。

			
			gcloud compute networks subnets update test-subnet \
    --region=asia-northeast1 \
    --no-enable-private-ip-google-access

		

限定公開のGoogleアクセスが無効化になりました。

限定公開のGoogleアクセスを無効化
限定公開のGoogleアクセスを無効化

Cloud Storageへのアクセス確認

次に、Compute EngineからCloud Storageへアクセスできないことを確認します。
先ほどと同様に、Compute Engine内からgsutilコマンドを実行しましたが、限定公開のGoogleアクセスを無効化にしていることで、Cloud Storageバケットのテストファイルへアクセスすることができませんでした。

限定公開のGoogleアクセスを利用したCloud StorageアクセスNG

さいごに

今回は、限定公開のGoogleアクセスについての解説と限定公開のGoogleアクセスを利用したGoogle APIへの接続を実際に試してみました。
限定公開のGoogleアクセスを利用することで、Google内部のネットワークを経由してGoogle APIへセキュアにアクセスすることができました。サブネット作成時にオンするだけの簡単な設定で限定公開のGoogleアクセスを利用することができるので、是非、積極的に利用していただくとよいと思います。
今回試した、限定公開のGoogleアクセスはデフォルトドメインのパターンのみでしたが、private.googleapis.comrestricted.googleapis.comなどの特殊なドメインを利用した限定公開のGoogleアクセスの方法についてはまた別の機会で検証したいと思います。

この記事が誰かの助けになれば幸いです。

以上、クラウド事業本部コンサルティング部の渡邉でした!

この記事をシェアする

FacebookHatena blogX

関連記事