サービスのプライベート アクセス オプション

Google Cloud には、いくつかのプライベート アクセス オプションがあります。各オプションの使用により、内部 IP アドレスを持つ仮想マシン(VM)インスタンスから特定の API やサービスにアクセスできるようになります。アクセスする必要がある API やサービスをサポートするオプションを選択してください。

次の表に、各オプションの概要を示します。これらのオプションを 1 つまたはすべて構成できます。各オプションの動作はお互いに独立しています。

オプション クライアント 接続 サポート サービス 用途
限定公開の Google アクセス
外部 IP アドレスを持たない Google Cloud VM インスタンス Virtual Private Cloud(VPC)ネットワークのデフォルト インターネット ゲートウェイを経由して、Google API とサービスの標準外部 IP アドレスまたは限定公開の Google アクセスのドメインと VIP に接続します。 ほとんどの Google API とサービスをサポート。App Engine アプリケーションへのアクセスもサポートされます。 このオプションを使用すると、Google Cloud リソースの外部 IP アドレスを指定せずに Google API やサービスに接続できます。
オンプレミス ホスト用の限定公開の Google アクセス
オンプレミス ホスト(外部 IP アドレスの有無に関係なく)。 限定公開の Google アクセス固有のドメインと VIP のいずれかを使用して、Cloud VPN トンネルまたは Cloud Interconnect 経由でオンプレミス ネットワークから Google API とサービスに接続します。 アクセス可能な Google サービスは、使用している限定公開の Google アクセス固有のドメインによって異なります。 このオプションを使用すると、VPC ネットワーク経由で Google API とサービスに接続します。この方法では、オンプレミス ホストで外部 IP アドレスを使用する必要はありません。
プライベート サービス アクセス
Google Cloud VM インスタンス(外部 IP アドレスの有無に関係なく)。 VPC ネットワーク ピアリング接続を経由して、Google またはサードパーティが管理する VPC ネットワークに接続します。 Google またはサードパーティの一部のサービスをサポート このオプションを使用すると、Google Cloud、Google またはサードパーティのリソースに外部 IP アドレスを割り当てずに、特定の Google サービスやサードパーティ サービスに接続します。
サーバーレス VPC アクセス
Google Cloud VM インスタンス(外部 IP アドレスの有無に関係なく)。 内部 VPC 接続を経由して、サーバーレスの Google サービスから直接接続します。 Cloud Run(フルマネージド)、App Engine スタンダード環境、Cloud Functions このオプションを使用すると、Google Cloud のサーバーレス環境から、内部 IP アドレスを使用して VPC ネットワーク内のリソースに直接接続できます。

限定公開の Google アクセス

内部 IP アドレスしか持たない VM インスタンス(外部 IP アドレスなし)は、限定公開の Google アクセスを使用して、Google API とサービスの外部 IP アドレスにアクセスできます。パケットの送信元 IP アドレスは、ネットワーク インターフェースのプライマリ内部 IP アドレスか、インターフェースに割り当てられたエイリアス IP 範囲です。限定公開の Google アクセスを無効にすると、それらの VM インスタンスは Google API とサービスにアクセスできなくなり、VPC ネットワーク内でのみトラフィックを送信できます。

限定公開の Google アクセスは外部 IP アドレスを持つインスタンスには影響しません。外部 IP アドレスを持つインスタンスは、インターネット アクセス要件に従ってインターネットにアクセスできます。Google API とサービスの外部 IP アドレスにリクエストを送信するための特別な構成は必要ありません。

サブネットごとに限定公開の Google アクセスを有効にします。これは VPC ネットワークのサブネットの設定です。限定公開の Google アクセスのサブネットを有効にして要件を表示するには、限定公開の Google アクセスの構成をご覧ください。

サポート サービス

限定公開の Google アクセスでは、Cloud と Developer の API、およびほとんどの Google Cloud サービスにアクセスできますが、以下のサービスは例外です。

  • App Engine Memcache
  • Filestore
  • Memorystore
  • Cloud SQL

プライベート サービス アクセスでは、これらの中のいくつかがサポートされる場合があります。

次の例の VPC ネットワークには、Google API とサービスの外部 IP アドレスへのルートがあり、そのネクストホップがデフォルト インターネット ゲートウェイであるため、限定公開の Google アクセスのルーティング要件を満たしています。限定公開の Google アクセスは subnet-a では有効ですが、subnet-b では有効でありません。

限定公開の Google アクセスの実装(クリックで拡大)

次のリストで、上記の図の詳細について説明します。

  • VPC ネットワークのファイアウォール ルールは、0.0.0.0/0(少なくとも Google API とサービスのサーバー IP)への下り(外向き)トラフィックが許可されるように構成されています。
  • VM A1 は Google API とサービス(Cloud Storage を含む)にアクセスできます。これは、このネットワーク インターフェースが subnet-a にあり、このサブネットで限定公開の Google アクセスが有効になっているためです。このインスタンスは内部 IP アドレスしか持っていないため、限定公開の Google アクセスが適用されます。
  • VM B1 は、内部 IP アドレスしか持っておらず、subnet-b では限定公開の Google アクセスが無効になっているため、Google API とサービスにアクセスできません
  • VM A2VM B2 はそれぞれ外部 IP アドレスを持っているため、どちらも Cloud Storage を含む Google API とサービスにアクセスできます。限定公開の Google アクセスは、これらのインスタンスが Google API とサービスにアクセスできるかどうかに影響を与えません。これは、どちらも外部 IP アドレスを持っているためです。

オンプレミス ホスト用の限定公開の Google アクセス

オンプレミス ホストは、Cloud VPN または Cloud Interconnect を使用してオンプレミス ネットワークから Google Cloud に接続し、Google API やサービスにアクセスできます。オンプレミス ホストは、次のタイプの送信元 IP アドレスからトラフィックを送信できます。

  • プライベート IP アドレス(RFC 1918 アドレスなど)。
  • Google が所有するパブリック IP アドレスを除く非公開のパブリック IP アドレス(オンプレミス ホスト用の限定公開の Google アクセスの場合、オンプレミス ネットワークの送信元として Google のパブリック IP アドレスを再利用することはできません)。

オンプレミス ホスト用の限定公開の Google アクセスを有効にするには、オンプレミス ネットワークと VPC ネットワークで、DNS、ファイアウォール ルール、ルートを構成する必要があります。VPC ネットワーク内のサブネットに対して限定公開の Google アクセスを有効にする必要はありません。この作業は、Google Cloud VM インスタンス用の限定公開の Google アクセスで行います。

オンプレミス ホストが Google API またはサービスに接続するには、restricted.googleapis.com または private.googleapis.com のいずれかのドメインの仮想 IP アドレス(VIP)を使用する必要があります。詳しくは、限定公開の Google アクセス固有のドメインと VIPをご覧ください。

Google では、ドメインを VIP 範囲に解決する DNS A レコードを公開しています。その範囲が外部 IP アドレスであっても、Google はその範囲のルートは公開していません。したがって、Cloud Router にカスタム ルート アドバタイズを追加し、VIP の宛先用に VPC ネットワークで適切なカスタム静的ルートを設定する必要があります。

ルートには、VIP 範囲の 1 つと一致する宛先を含め、ネクストホップをデフォルト インターネット ゲートウェイにする必要があります。VIP 範囲に送信されるトラフィックは、公開のインターネットではなく Google のネットワーク内にとどまります。これは、Google がルートを外部に公開していないためです。

構成の詳細については、オンプレミス ホスト用の限定公開の Google アクセスの構成をご覧ください。

限定公開の Google アクセス固有のドメインと VIP

次の表にドメイン名と VIP 範囲を示します。オンプレミス ホストの限定公開の Google アクセスには、次のいずれかの VIP を使用する必要があります。

ドメインと VIP サポート サービス 使用例
restricted.googleapis.com
199.36.153.4/30
VPC Service Controls でサポートされている Google API およびサービスへの API アクセスを有効にします。
VPC Service Controls をサポートしない Google API とサービスへのアクセスをブロックします。G Suite ウェブ アプリケーションや G Suite API はサポートしていません。
restricted.googleapis.com を使用して、VPC ネットワークまたはオンプレミス ネットワーク内のホストが VPC Service Controls 制限付きサービスのみを使用できるようにします。
private.googleapis.com
199.36.153.8/30
VPC Service Controls でサポートされているかどうかにかかわらず、ほとんどの Google API とサービスへの API アクセスを有効にします。Google マップ、Google 広告、Google Cloud Platform、名前が googleapis.com で終わるほとんどの Google API への API アクセスが含まれます。G Suite ウェブ アプリケーションはサポートしていません。 次の状況で Google API とサービスにアクセスする必要がある場合は、private.googleapis.com を使用します。
  • VPC Service Controls を使用していない場合。
  • VPC Service Controls を使用しているものの、VPC Service Controls でサポートされていないサービスにもアクセスする必要がある場合。

サポート サービス

オンプレミス ホストで使用可能なサービスは、アクセスに使用されるドメイン名と VIP によってサポートされるサービスに限定されます。詳しくは、限定公開の Google アクセス固有のドメインと VIP をご覧ください。

次の例では、Cloud VPN トンネルを介して、オンプレミス ネットワークが VPC ネットワークに接続されています。オンプレミス ホストから Google API へのトラフィックは、トンネルを通って VPC ネットワークに到達します。VPC ネットワークに到達した後、トラフィックは、ネクストホップとしてデフォルト インターネット ゲートウェイを使用するルート経由で送信されます。このネクストホップにより、トラフィックは VPC ネットワークを離れて restricted.googleapis.com199.36.153.4/30)に配信されます。

ハイブリッド クラウド用の限定公開の Google アクセスのユースケース(クリックして拡大)
  • オンプレミス DNS 構成では、*.googleapis.com リクエストが restricted.googleapis.com にマッピングされ、199.36.153.4/30 に解決されます。
  • Cloud Router は、カスタムルート アドバタイズを使用して Cloud VPN トンネル経由で 199.36.153.4/30 IP アドレス範囲をアドバタイズするように構成されています。Google API に送信されるトラフィックは、このトンネル経由で VPC ネットワークにルーティングされます。
  • VPC ネットワークに追加されているカスタム静的ルートにより、宛先が 199.36.153.4/30 のトラフィックがネクストホップとしてデフォルト インターネット ゲートウェイに転送されます。これにより、Google は適切な API またはサービスにトラフィックをルーティングします。
  • 199.36.153.4/30 にマッピングされる Cloud DNS 管理の限定公開ゾーンを *.googleapis.com に作成し、そのゾーンで VPC ネットワークによる使用を承認している場合、googleapis.com ドメインに対するリクエストは、restricted.googleapis.com によって使用される IP アドレスに送信されます。この構成では、サポートされている API にのみアクセス可能であるため、他のサービスにはアクセスできなくなる可能性があります。Cloud DNS は部分的なオーバーライドをサポートしていません。部分的なオーバーライドが必要な場合は BIND を使用してください。

プライベート サービス アクセス

Google とサードパーティ(サービス プロデューサーとも呼ばれます)は、VPC ネットワークでホストされている内部 IP アドレスでサービスを提供できます。プライベート サービス アクセスを使用すると、これらの内部 IP アドレスにアクセスできます。これは、VPC ネットワーク内の VM インスタンスに、外部 IP アドレスではなく内部 IP アドレスを使用させる場合に便利です。プライベート サービス アクセスの使用方法の詳細については、プライベート サービス アクセスの構成をご覧ください。

プライベート サービス アクセスには、まず内部 IP アドレス範囲を割り当ててプライベート接続を作成する必要があります。割り当て範囲は、ローカル VPC ネットワークでは使用できない予約済みの CIDR ブロックです。これはサービス プロデューサー用に確保されていて、VPC ネットワークとサービス プロデューサーの VPC ネットワークの重複を防ぎます。プライベート接続を作成するときは、割り当てを指定する必要があります。

プライベート接続は、VPC ネットワークをサービス プロデューサーの VPC ネットワークにリンクします。この接続により、VPC ネットワーク内の VM インスタンスは内部 IP アドレスを使用して、内部 IP アドレスを持つサービス リソースにアクセスできます。インスタンスに外部 IP アドレスを指定することもできますが、外部 IP アドレスは必須ではなく、プライベート サービス アクセスには使用されません。

1 つのサービス プロデューサーで複数のサービスを提供する場合でも、必要なプライベート接続は 1 つのみです。プライベート接続を作成するときは、Service Networking API を使用します。ただし、Google Cloud はこの接続を VPC ネットワークとサービス プロデューサーの VPC ネットワーク間の VPC ネットワーク ピアリング接続として実装します。たとえば、VPC ネットワークではこの接続はピアリング接続として表示され、プライベート接続を削除するには、ピアリング接続を削除する必要があります。

プライベート サービス アクセスは、それをサポートするサービスでのみ使用できます。プライベート接続を作成する前に、サービス プロデューサーに確認してください。

サービス プロデューサー ネットワーク

プライベート接続のサービス プロデューサー側には VPC ネットワークがあり、そこではサービス リソースがプロビジョニングされています。サービス プロデューサーのネットワークはそれぞれのお客様専用に作成され、そこにはお客様のリソースのみが含まれます。

サービス プロデューサー ネットワーク内のリソースは、VPC ネットワーク内の他のリソースと似ています。たとえばこのリソースは、VPC ネットワーク内の他のリソースから内部 IP アドレスを経由して到達可能です。VPC ネットワークにファイアウォール ルールを作成して、サービス プロデューサーのネットワークへのアクセスを制御することもできます。

サービス プロデューサー側の詳細については、Service Infrastructure のドキュメントのプライベート サービス アクセスの有効化をご覧ください。このドキュメントは参考情報であり、プライベート サービス アクセスを有効化または使用するために必須ではありません。

プライベート サービス アクセスとオンプレミス接続

ハイブリッド ネットワーキングのシナリオでは、Cloud VPN または Cloud Interconnect 接続を経由して、オンプレミス ネットワークを VPC ネットワークに接続します。デフォルトでは、オンプレミス ホストはプライベート サービス アクセスを使用してサービス プロデューサーのネットワークに到達することはできません。

VPC ネットワークでは、トラフィックをオンプレミス ネットワークに正しく転送するためのカスタム静的ルートまたは動的ルートがあります。ただし、サービス プロデューサーのネットワークにはこれらと同じルートが含まれていません。プライベート接続を作成すると、VPC ネットワークとサービス プロデューサー ネットワークはサブネット ルートのみを交換します。

サービス プロバイダのネットワークがルートをインポートし、オンプレミス ネットワークにトラフィックを正しく転送できるように、VPC ネットワークのカスタムルートをエクスポートする必要があります。

カスタムルートをエクスポートするには、プライベート接続を作成してから、基になる VPC ピアリング構成を変更してカスタムルートをエクスポートする必要があります。プライベート接続の作成については、プライベート サービス アクセスの構成をご覧ください。カスタムルートのエクスポートについては、ピアリング接続の更新をご覧ください。

サポート サービス

プライベート サービス アクセスをサポートする Google サービスは次のとおりです。

次の例では、お客様の VPC ネットワークが Google サービスの 10.240.0.0/16 アドレス範囲を割り当て、割り当て範囲を使用するプライベート接続を確立しました。各 Google サービスは、Cloud SQL インスタンスなどの新しいリソースを所定のリージョンにプロビジョニングするために、割り当てられたブロックからサブネットを作成します。

プライベート サービス アクセス(クリックして拡大)
  • プライベート接続には 10.240.0.0/16 割り当て範囲が割り当てられます。Google サービスは、新しいリソースがプロビジョニングされるサブネットをこの割り当てから作成できます。
  • プライベート接続の Google サービス側では、Google がお客様のプロジェクトを作成します。このプロジェクトは分離されていて他のお客様と共有されることはなく、費用はお客様がプロビジョニングしたリソースに対してのみ発生します。
  • 各 Google サービスは、リソースをプロビジョニングするためのサブネットを作成します。サブネットの IP アドレス範囲は通常、/24 CIDR ブロックです。これはサービスによって選択されるもので、割り当てられた IP アドレス範囲から取得されます。サービス プロデューサーのサブネットは変更できません。サービスは、そのサービスで以前に作成された既存のリージョン サブネットに新しいリソースをプロビジョニングします。サブネットがいっぱいの場合、サービスは同じリージョンに新しいサブネットを作成します。
  • お客様のネットワーク内の VM インスタンスは、サービスがサポートしていれば、あらゆるリージョンのサービス リソースにアクセスできます。サービスによっては、リージョン間通信をサポートしていないものもあります。たとえば、VM インスタンスは、同じリージョンにある Cloud SQL インスタンスとのみ通信できます。詳細については、関連するサービスのドキュメントをご覧ください。
  • VM インスタンスが異なるリージョンのリソースと通信する場合、リージョン間トラフィックの下り(外向き)料金が引き続き適用されます。
  • Cloud SQL インスタンスには、IP アドレス 10.240.0.2 が割り当てられます。お客様の VPC ネットワークでは、宛先が 10.240.0.2 のリクエストは、プライベート接続を経由してサービス プロデューサーのネットワークへとルーティングされます。サービス ネットワークに到達すると、サービス ネットワークにはリクエストを正しいリソースに送るルートが含まれます。
  • VPC ネットワーク間のトラフィックは、公共のインターネットを経由せず、Google のネットワーク内を内部的に転送されます。

サーバーレス VPC アクセス

サーバーレス VPC アクセスを使用すると、Google Cloud のサーバーレス環境から VPC ネットワークに直接接続できます。この接続により、サーバーレス環境が内部 IP アドレスを経由して VPC ネットワーク内のリソースにアクセスできるようになります。

サーバーレス VPC アクセスでは、Google Cloud プロジェクトにコネクタを作成して VPC ネットワークに接続します。次に、内部ネットワーク トラフィックにコネクタを使用するように、サーバーレス サービス(Cloud Run サービス、App Engine アプリ、Cloud Functions など)を構成します。

サーバーレス VPC アクセスは、サーバーレス環境でのみリクエストを開始できます。VM によって開始されたリクエストでは、サーバーレス サービスの外部アドレスを使用する必要があります。詳細については、限定公開の Google アクセスをご覧ください。

サーバーレス VPC アクセスは、レガシー ネットワークまたは共有 VPC をサポートしていません。詳細については、サーバーレス VPC アクセスの構成をご覧ください。

サポート サービス

Serverless VPC Access コネクタをサポートする Google サービスは次のとおりです。

  • Cloud Run(フルマネージド)
  • App Engine スタンダード環境
    • PHP 5 を除くすべてのランタイム
  • Cloud Functions

次の例では、App Engine、Cloud Functions、Cloud Run がサーバーレス VPC アクセス コネクタを使用して、VPC ネットワークの内部リソースにリクエストを送信します。

サーバーレス VPC アクセスの例(クリックして拡大)
サーバーレス VPC アクセスの例(クリックして拡大)
  • サーバーレス VPC アクセス コネクタは、サーバーレス サービスと同じプロジェクトとリージョンにあります。
  • コネクタは、宛先リソースを含む VPC ネットワークに接続されています。VPC ネットワーク ピアリングを使用している場合、コネクタは他の VPC ネットワークと Google Cloud プロジェクトのリソースにアクセスできます。
  • コネクタには、IP 範囲 10.8.0.0/28 が割り当てられています。コネクタから宛先に送信されたリクエストには、この範囲の送信元 IP アドレスがあります。
  • App Engine、Cloud Functions、Cloud Run は、リクエストをそれらの内部 IP アドレス(10.0.0.410.1.0.2)に送信して、宛先リソースに到達します。宛先リソースはどのリージョンに存在しても構いません。下り(外向き)料金は、コネクタから別のリージョンのリソースに送信されたトラフィックに適用されます。
  • サーバーレス環境から内部 IP アドレスに送信されたリクエストは、サーバーレス VPC アクセス コネクタを経由して宛先リソースに送信されます。外部 IP アドレスに送信されたリクエストは、インターネット経由で送信されます。

次のステップ