エンドポイントを介した Google API へのアクセスについて

このドキュメントでは、Google API へのアクセスに使用される Private Service Connect エンドポイントの概要について説明します。

デフォルトでは、Cloud Storage などの Google サービスを使用するアプリケーションは、そのサービスのデフォルトの DNS 名(storage.googleapis.com など)に接続されます。Google サービスのデフォルトの DNS 名は、一般公開されたルーティング可能な IP アドレスに解決されます。ただし、Google Cloud リソースからこれらの IP アドレスに送信されたトラフィックは、Google のネットワーク内に残ります。

Private Service Connect を使用すると、VPC ネットワーク内のグローバル内部 IP アドレスを使用してプライベート エンドポイントを作成できます。これらの内部 IP アドレスには、storage-vialink1.p.googleapis.combigtable-adsteam.p.googleapis.com など、意味のある名前で DNS 名を割り当てることができます。これらの名前と IP アドレスは VPC ネットワークの内部用で、Cloud VPN トンネルまたは VLAN アタッチメント経由で接続しているオンプレミス ネットワークでも使用できます。エンドポイントに配信されるトラフィックを制御し、トラフィックを Google Cloud 内にとどめることができます。

このオプションを選択すると、API バンドルに含まれているすべての Google API とサービスにアクセスできます。

図 1. Private Service Connect では、VPC ネットワーク専用のエンドポイントを使用して Google API にトラフィックを送信できます(クリックして拡大)。

機能と互換性

次の表は、Google API へのアクセスに使用されるエンドポイントでサポートされている機能をまとめたものです。

構成 詳細
コンシューマの構成(エンドポイント)
グローバルなネットワーク到達性 内部グローバル IP アドレスを使用
相互接続のトラフィック
Cloud VPN のトラフィック
DNS の自動構成
IP バージョン IPv4
プロデューサー
サポート対象のサービス サポートされているグローバル Google API

オンプレミス アクセス

Google API へのアクセスに使用する Private Service Connect エンドポイントには、接続されているサポート対象のオンプレミス ホストからアクセスできます。詳細については、オンプレミス ホストからエンドポイントにアクセスするをご覧ください。

Private Service Connect と Service Directory

エンドポイントは Service Directory に登録されます。Service Directory は、サービスを保存、管理、公開するためのプラットフォームです。Google API とサービスにアクセスするためのエンドポイントを作成するときに、Service Directory リージョンと Service Directory の名前空間を選択します。

Service Directory リージョン

Service Directory はリージョン サービスです。選択したリージョンによって、Service Directory のコントロール プレーンが存在するリージョンが定義されます。リージョン間で機能的な違いはありませんが、管理上の理由から検討が必要になる場合があります。

VPC ネットワークに Google API の最初のエンドポイントを作成すると、選択したリージョンが、そのネットワークでそれ以降作成するすべてのエンドポイントのデフォルトのリージョンとして使用されます。リージョンがネットワークにまだ設定されておらず、リージョンを指定しないと、リージョンは us-central1 に設定されます。ネットワーク内のすべてのエンドポイントは同じ Service Directory リージョンを使用する必要があります。

Service Directory の名前空間

VPC ネットワークに Google API の最初のエンドポイントを作成すると、選択した名前空間が、そのネットワークでその後に作成したすべてのエンドポイントのデフォルトの名前空間として使用されます。その名前空間がまだネットワークに設定されておらず、名前空間を指定しない場合、システム生成の名前空間が使用されます。ネットワーク内のすべてのエンドポイントは同じ Service Directory の名前空間を使用する必要があります。選択する名前空間は、Google API へのアクセスに使用されるエンドポイントにしか使用できません。複数のネットワークのエンドポイントに同じ名前空間を使用できます。

エンドポイントを作成すると、次の DNS 構成が作成されます。

  • p.googleapis.comService Directory の限定公開 DNS ゾーンが作成されます。

  • DNS レコードは、Private Service Connect を使用して利用できる一般的な Google API とサービスのために p.googleapis.com で作成されており、末尾が googleapis.com のデフォルトの DNS 名となっています。

    p.googleapis.com に DNS レコードがない API とサービスの DNS レコードを作成する方法については、DNS レコードの作成をご覧ください。

利用可能なサービスは、all-apisvpc-sc のどちらの API バンドルを選択するかによって異なります。

エンドポイントを含む VPC ネットワークごとに 1 つの Service Directory DNS ゾーンが作成されます。

エンドポイントの DNS 名は、VPC ネットワークのすべてのリージョンからアクセスできます。

サポートされている API

Google API とサービスにアクセスするエンドポイントを作成するときに、すべての APIall-apis)または VPC-SCvpc-sc)にアクセスするために必要な API のバンドルを選択します。

  • all-apis バンドルを使用すると、すべての *.googleapis.com サービス エンドポイントを含む、ほとんどの Google API とサービスにアクセスできます。

  • vpc-sc バンドルを使用すると、VPC Service Controls をサポートする API とサービスにアクセスできます。

API バンドルは、TCP 上の HTTP ベースのプロトコル(HTTP、HTTPS、HTTP/2)のみをサポートしています。MQTT や ICMP などの他のプロトコルはサポートされていません。

API バンドル サポート対象のサービス 使用例
all-apis

VPC Service Controls でサポートされているかどうかにかかわらず、ほとんどの Google API とサービスへの API アクセスを有効にします。Google マップ、Google 広告、Google Cloud、さらに以下のリストを含む他のほとんどの Google API への API アクセスが含まれます。Gmail や Google ドキュメントなどの Google Workspace ウェブ アプリケーションはサポートされていません。インタラクティブなウェブサイトはサポートされていません。

一致するドメイン名:

  • accounts.google.com(OAuth 認証に必要なパスのみ)
  • *.aiplatform-notebook.cloud.google.com
  • *.aiplatform-notebook.googleusercontent.com
  • appengine.google.com
  • *.appspot.com
  • *.backupdr.cloud.google.com
  • backupdr.cloud.google.com
  • *.backupdr.googleusercontent.com
  • backupdr.googleusercontent.com
  • *.cloudfunctions.net
  • *.cloudproxy.app
  • *.composer.cloud.google.com
  • *.composer.googleusercontent.com
  • *.datafusion.cloud.google.com
  • *.datafusion.googleusercontent.com
  • *.dataproc.cloud.google.com
  • dataproc.cloud.google.com
  • *.dataproc.googleusercontent.com
  • dataproc.googleusercontent.com
  • dl.google.com
  • gcr.io または *.gcr.io
  • *.googleapis.com
  • *.gstatic.com
  • *.kernels.googleusercontent.com
  • *.ltsapis.goog
  • *.notebooks.cloud.google.com
  • *.notebooks.googleusercontent.com
  • packages.cloud.google.com
  • pkg.dev または *.pkg.dev
  • pki.goog または *.pki.goog
  • *.run.app
  • source.developers.google.com
  • storage.cloud.google.com

次の状況では all-apis を選択します。

  • VPC Service Controls を使用しない。
  • VPC Service Controls を使用するものの、VPC Service Controls でサポートされていない Google API とサービスにもアクセスする必要がある1

vpc-sc

VPC Service Controls でサポートされている Google API およびサービスへの API アクセスを有効にします。

VPC Service Controls をサポートしない Google API とサービスへのアクセスをブロックします。Google Workspace API、または Gmail や Google ドキュメントなどの Google Workspace ウェブ アプリケーションはサポートされていません。

VPC Service Controls でサポートされている Google API とサービスにアクセスする必要がある場合にのみ vpc-sc を選択します。vpc-sc バンドルは VPC Service Controls をサポートしていない Google API とサービスへのアクセスを許可しません1

1 ユーザーがアクセスできる対象を、VPC Service Controls をサポートする Google API とサービスのみに制限する必要がある場合は、vpc-sc を使用します。VPC Service Controls は、使用するバンドルに関係なく互換性のある構成済みのサービスに適用されますが、vpc-sc を使用するとデータの引き出しに関するリスクをさらに軽減できます。vpc-sc を使用すると、VPC Service Controls でサポートされていない Google API とサービスへのアクセスを拒否できます。詳細については、VPC Service Controls に関するドキュメントのプライベート接続の設定をご覧ください。

IP アドレスの要件

VPC ネットワークで Private Service Connect を構成するときに、エンドポイントで使用する IP アドレスを指定します。

このアドレスは、グローバル内部 IP アドレスのプロジェクトの割り当てにカウントされます。

IP アドレスは、次の仕様を満たしている必要があります。

  • IP アドレス範囲ではなく、1 つの IP アドレスを指定してください。

  • 有効な IPv4 アドレスを使用してください。RFC 1918 アドレスでも、RFC 1918 以外のアドレスでも構いません。Private Service Connect では、IPv6 アドレスはサポートされていません。

  • VPC ネットワークで構成されているサブネットの範囲内にすることはできません。

  • VPC ネットワークのサブネットのプライマリまたはセカンダリ IP アドレス範囲は使用できません。また、VPC ネットワーク ピアリングを使用して VPC ネットワークに接続されているネットワーク内のアドレスも使用できません。

  • ローカル VPC ネットワーク内の /32 カスタム静的ルートと重複することはできません。たとえば、VPC ネットワークに 10.10.10.10/32 のカスタム静的ルートがある場合、Private Service Connect のアドレスとして 10.10.10.10 を予約することはできません。

  • ピアリングされたネットワークにカスタムルートのエクスポートを構成し、VPC ネットワークにカスタムルートのインポートを構成している場合は、/32 ピアリング カスタム静的ルートと重複することはできません。

  • ローカル VPC ネットワークが自動モード ネットワークの場合、または自動モードのネットワークとピアリングされている場合は、10.128.0.0/9自動モードの IP 範囲を使用することはできません。

  • ローカル VPC ネットワークに割り振り済みの IP 範囲を使用することはできません。ただし、ピアリングされる VPC ネットワークに割り振り済みの IP 範囲は使用できます。

  • エンドポイントが、宛先が同じ /32 のカスタム動的ルートと重複する場合、エンドポイントが優先されます。

  • エンドポイントの IP アドレスがカスタム静的ルートカスタム動的ルート、またはピアリング カスタムルートの宛先範囲内にある場合、そのルートには /32 より短いサブネット マスクがあり、エンドポイントの優先度が高くなります。

ユースケース

同じ VPC ネットワーク内に複数のエンドポイントを作成できます。特定のエンドポイントに送信される合計帯域幅に上限はありません。エンドポイントはグローバル内部 IP アドレスを使用するため、VPC ネットワーク内のすべてのリソースで使用できます。また、Cloud VPN トンネルまたは Cloud Interconnect アタッチメントを使用して接続されたオンプレミス ネットワークでも使用できます。

複数のエンドポイントが存在する場合、Cloud Router とファイアウォール ルールを使用して異なるネットワーク パスを指定できます。

  • エンドポイント経由の Google API へのアクセスを一部の VM に許可し、残りの VM には許可しないように、ファイアウォール ルールを作成できます。

  • インターネットへのトラフィックを許可しないファイアウォール ルールを VM インスタンスに設定できます。この場合、Private Service Connect エンドポイントに送信されたトラフィックは Google に送信されます。

  • Cloud VPN トンネルまたは VLAN アタッチメントを使用して VPC に接続されているオンプレミス ホストがある場合、一部のリクエストをトンネルまたは VLAN 経由で送信し、残りのリクエストをインターネット経由で送信できます。この構成を行うと、限定公開の Google アクセスでサポートされていないサービス(Google ブックスなど)でトンネルや VLAN を回避できます。

    この構成を作成するには、Private Service Connect エンドポイントを作成し、Cloud Router のカスタム ルート アドバタイズを使用してエンドポイントの IP アドレスをアドバタイズします。さらに、Cloud DNS インバウンド転送ポリシーを有効にします。一部のリクエストは、エンドポイントの名前を使用して Cloud VPN トンネルまたは VLAN アタッチメント経由で送信され、残りのリクエストはデフォルトの DNS 名を使用してインターネット経由で送信されます。

  • 複数の VLAN アタッチメントを使用して、オンプレミス ネットワークを VPC ネットワークに接続する場合、図 2 のように、オンプレミスからの一部のトラフィックを VLAN 経由で送信し、残りのトラフィックを VLAN 以外で送信できます。これにより、Google ではなく広域ネットワークを使用し、地理的要件に合わせてデータの移動を制御できます。

    この構成を作成するには、2 つのエンドポイントを作成します。最初の VLAN を管理する Cloud Router の BGP セッションで、最初のエンドポイントにカスタムルート アドバタイズを作成します。2 番目の VLAN を管理する Cloud Router の BGP セッションで、2 番目のエンドポイントに別のカスタム ルート アドバタイズを作成します。エンドポイント名を使用するように構成されているオンプレミス ホストは、対応する VLAN アタッチメント経由でトラフィックを送信します。

  • また、アクティブ / アクティブ トポロジで複数の VLAN アタッチメントを使用することもできます。VLAN を管理する Cloud Router の BGP セッションで、カスタムルート アドバタイズを使用して同じエンドポイントの IP アドレスをアドバタイズすると、オンプレミス システムからエンドポイントに送信されるパケットは、ECMP を使用して VLAN 間でルーティングされます。

    図 2.Private Service Connect、Cloud Router、オンプレミス ホストを構成することで、Google API へのトラフィックの送信に使用する VLAN アタッチメントを制御できます。

料金

Private Service Connect の料金については、VPC の料金ページをご覧ください。

割り当て

Google API にアクセスするために作成できる Private Service Connect エンドポイントの数は、PSC Google APIs Forwarding Rules per VPC Network 割り当てによって制御されます。詳細については、割り当てをご覧ください。

組織ポリシーの制約

組織のポリシーの管理者は、constraints/compute.disablePrivateServiceConnectCreationForConsumers 制約を使用して、ユーザーが転送ルールを作成できないエンドポイント タイプのセットを定義できます。

この制約を使用する組織のポリシーの作成方法については、利用者によるエンドポイントのデプロイを接続タイプによってブロックするをご覧ください。

次のステップ