インターネット経由不要!Private Service Connectで実現するセキュアなGoogle API接続ガイド


セキュリティ要件でインターネット経由の通信が許可されない環境でも、Googleの強力なサービスを利用したい...。この記事では、Private Service Connectを使い、VPCやオンプレミスからGoogle APIへ安全にプライベート接続する方法を、設計のポイントから実践的な設定手順まで詳しく解説します。

はじめに

Cloud StorageやBigQueryといったGoogle Cloudの便利なマネージドサービスは、通常インターネット経由で利用します。しかし、企業のセキュリティポリシーによっては「社内システムからインターネットへの通信は原則禁止」といった厳しい要件がある場合も少なくありません。

このような課題を解決するのが、Private Service Connect (PSC) です。PSCを利用することで、VPCネットワークやオンプレミス環境から、インターネットに出ることなく、プライベートIPアドレスを使ってGoogleの各種サービスへ安全に接続できます。この記事では、PSCの基本から設計のポイント、そしてGoogle APIに接続するための「エンドポイント」の構築手順を具体的に解説します。

Private Service Connectの概要

2.1 Private Service Connectとは?

Private Service Connectは、コンシューマー(利用者)のVPCネットワーク内から、プロデューサー(提供者)が公開するサービスへプライベートに接続するためのGoogle Cloudネットワーキング機能です。接続先はGoogle自身のAPIやサービスだけでなく、サードパーティ製や自社開発のサービスも対象にできます。

Google Cloud ドキュメントから引用

2.2 3つの接続タイプを理解する

PSCには、ユースケースに応じて3つの接続タイプがあります。

  • エンドポイント (Endpoint): コンシューマーVPC内に内部IPアドレスを持つエンドポイントを作成し、Google APIや公開サービスに接続します。今回はこのタイプを詳しく解説します。
  • バックエンド (Backend): Cloud Load Balancingのバックエンドとしてサービスに接続します。より高度なトラフィック制御が可能です。
  • インターフェース (Interface): プロデューサー側のVMにコンシューマーVPCのIPを持つネットワークインターフェースを追加し、双方向のプライベート通信を実現します。

設計時の重要ポイント

3.1 PSCエンドポイントの利用シナリオ

PSCエンドポイントは、特に以下のような場合に有効です。

厳しいセキュリティ要件: 社内規定により、システムからのインターネットアクセスが禁止されている場合。PSCを使えば、通信経路をGoogle Cloudのネットワーク内に閉域化できます。

ネットワーク的に隔離されたVPC: VPCピアリング等ができず、他のVPCやオンプレミスと接続されていないVPCから、別のプロジェクトで公開されているサービスを利用したい場合。

3.2 IPアドレスとサブネットの計画

Google API接続用のエンドポイントIPアドレスは、VPC内のいかなるサブネットのIP範囲とも重複してはいけません。エンドポイント専用のサブネットを作成する必要はありませんが、IPアドレス管理の観点から、/24などの範囲を予約し、ドキュメント化しておくことが推奨されます。

3.3 オンプレミス接続のためのルート広報

オンプレミスからPSCエンドポイントを利用する場合、Cloud RouterのBGP設定で、エンドポイントのIPアドレス範囲をオンプレミス側に広報する必要があります。デフォルト設定ではサブネットの経路しか広報されないため、カスタムルートを追加する作業が必須です。

3.4 オンプレミスからの名前解決(DNS設定)

オンプレミスのクライアントがstorage.googleapis.comなどの名前解決を行うと、通常はパブリックIPアドレスが返されます。プライベート接続を行うには、オンプレミスのDNSサーバーからGoogle CloudのCloud DNSへ、特定のドメイン(例:googleapis.com)の名前解決リクエストを転送(フォワーディング)する設定が必要です。

実践!PSCエンドポイントの設定手順

4.1 今回の構成ゴール

オンプレミス環境(ホームラボ)とVPN接続されたGoogle Cloud環境を準備し、Google Cloud上のVMとオンプレミス上のVMの両方から、PSCエンドポイント経由でCloud Storageへアクセスすることを目指します。

4.2 PSCエンドポイントの作成

[Private Service Connect] - [接続エンドポイント]画面で、[+エンドポイントを接続]をクリックします。

ターゲットは「すべての Google Cloud API」を選択し、エンドポイント名と対象ネットワークを指定します。

IPアドレスは、事前に計画したVPC内のどのサブネットとも重複しないIPアドレス(例:10.24.5.100)を静的に作成・指定します。

設定内容を確認し、エンドポイントを追加します。

4.3 Cloud DNSの設定

PSCエンドポイントへの名前解決を行うため、Cloud DNSでプライベートゾーンを作成します。

ゾーン名「googleapis-com」、DNS名「googleapis.com」でプライベートゾーンを作成します。

以下の2つのDNSレコードを作成します。

googleapis.com. (Aレコード): 値にエンドポイントのIPアドレス 10.24.5.100 を設定。

*.googleapis.com. (CNAMEレコード): 値に googleapis.com. を設定。

4.4 Cloud Routerのカスタムルート設定

オンプレミスへエンドポイントの経路を広報するため、Cloud Routerの設定を編集します。

オンプレミスと接続しているCloud Routerの編集画面を開き、「アドバタイズされたルート」で「カスタムルートの作成」を選択します。

既存のサブネットの広報設定は維持しつつ、カスタムルートとしてエンドポイント用に確保したIPアドレス範囲(例:10.24.5.0/24)を追加して保存します。

オンプレミス側のルーター(Fortigate)で、10.24.5.0/24のルート情報をBGPで受信できていることを確認します。

  1. C:\work>nslookup storage.googleapis.com
  2. Server: UnKnown
  3. Address: 10.24.3.1
  4. Name: googleapis.com
  5. Address: 10.24.5.100
  6. Aliases: storage.googleapis.com

動作確認

5.1 Google Cloud VMからの確認

まず、Google Cloud上のVMから、storage.googleapis.comの名前解決結果がエンドポイントのIPアドレス(10.24.5.100)になることを確認します。

  1. C:\work>nslookup storage.googleapis.com
  2. Server: UnKnown
  3. Address: 10.24.3.1
  4. Name: googleapis.com
  5. Address: 10.24.5.100
  6. Aliases: storage.googleapis.com

次に、gsutilコマンドでCloud Storageバケットにアクセスできることを確認します。

  1. C:\work>gsutil ls gs://homebucket01
  2. gs://homebucket01/index.html
  3. C:\work>gsutil cp gs://homebucket01/index.html c:\work
  4. Copying gs://homebucket01/index.html...
  5. / [1 files][ 1.7 KiB/ 1.7 KiB]
  6. Operation completed over 1 objects/1.7 KiB.

5.2 オンプレミス環境からの確認

同様に、オンプレミスのPCからも名前解決とgsutilコマンドによるアクセスを試みます。DNSフォワーディングとBGPカスタムルートが正しく設定されていれば、Google CloudのVMと同様にプライベートアクセスが成功します。

  1. [root@cent91 /]# dig storage.googleapis.com
  2. ;; ANSWER SECTION:
  3. storage.googleapis.com. 213 IN CNAME googleapis.com.
  4. googleapis.com. 213 IN A 10.24.5.100
  5. [root@cent91 /]# gsutil ls gs://homebucket01
  6. gs://homebucket01/index.html

まとめ

本記事では、Private Service Connectのエンドポイント機能を使い、VPC内およびオンプレミス環境からインターネットを経由せずにGoogle APIへプライベートに接続する方法を解説しました。設計時のIPアドレス計画、Cloud Routerのカスタムルート設定、Cloud DNSの活用が重要なポイントであることがお分かりいただけたかと思います。

PSCを適切に利用することで、厳しいセキュリティ要件を満たしつつ、Google Cloudのパワフルなサービスを安全に活用できます。

次回は、Private Service Connectを使用した「公開済みのサービス」へのアクセス方法について紹介します。

富士ソフトでは、お客様のセキュリティポリシーやハイブリッドクラウド戦略に合わせた、高度なネットワークアーキテクチャの設計・構築をご支援しています。Private Service Connectの導入やセキュアなクラウド接続でお困りの際は、ぜひお気軽にご相談ください。