À propos de l'accès aux API Google via des points de terminaison

Ce document offre un aperçu des points de terminaison Private Service Connect utilisés pour accéder aux API Google.

Par défaut, si vous disposez d'une application qui utilise un service Google, tel que Cloud Storage, elle se connecte au nom DNS par défaut pour ce service, comme storage.googleapis.com. Les noms DNS par défaut des services Google sont associés à des adresses IP routables publiquement. Cependant, le trafic envoyé à partir de ressources Google Cloud vers ces adresses IP reste dans le réseau de Google.

Avec Private Service Connect, vous pouvez créer des points de terminaison privés à l'aide d'adresses IP internes globales dans votre réseau VPC. Vous pouvez attribuer des noms DNS explicites à ces adresses IP internes tels que storage-vialink1.p.googleapis.com et bigtable-adsteam.p.googleapis.com. Ces noms et adresses IP sont internes à votre réseau VPC et à tous les réseaux sur site qui y sont connectés à l'aide de tunnels Cloud VPN ou de rattachements de VLAN. Vous pouvez contrôler le trafic et décider de son point de terminaison, puis démontrer que le trafic reste au sein de Google Cloud.

Cette option vous permet d'accéder à l'ensemble des services et API Google inclus dans les bundles d'API.

Figure 1 : Private Service Connect vous permet d'envoyer du trafic vers les API Google à l'aide d'un point de terminaison qui est réservé à votre réseau VPC (cliquez pour agrandir).

Fonctionnalités et compatibilité

Ce tableau récapitule les fonctionnalités compatibles avec les points de terminaison permettant d'accéder aux API Google.

Configuration Détails
Configuration du client (point de terminaison)
Joignabilité globale  Utilise une adresse IP interne globale
Trafic d'interconnexion
Trafic Cloud VPN
Configuration DNS automatique
Pile d'adresses IP IPv4
Producteur
Services compatibles API Google globales compatibles

Accès sur site

Les points de terminaison Private Service Connect que vous utilisez pour accéder aux API Google sont accessibles à partir d'hôtes sur site connectés compatibles. Pour en savoir plus, consultez la section Accéder au point de terminaison à partir d'hôtes sur site.

Private Service Connect et annuaire des services

Les points de terminaison sont enregistrés dans l'annuaire des services. L'annuaire des services est une plate-forme qui permet de stocker, gérer et publier des services. Lorsque vous créez un point de terminaison pour accéder aux API et services Google, vous sélectionnez une région et un espace de noms de l'annuaire des services.

Région de l'annuaire des services

L'annuaire des services est un service régional. La région que vous sélectionnez définit l'emplacement du plan de contrôle de l'annuaire de service. Il n'existe aucune différence fonctionnelle entre les régions, mais vous pouvez avoir une préférence pour des raisons administratives.

Lorsque vous créez le premier point de terminaison pour les API Google d'un réseau VPC, la région que vous sélectionnez est utilisée par défaut pour tous les points de terminaison ultérieurs créés dans ce réseau. Si aucune région n'est déjà définie pour un réseau et que vous ne spécifiez pas de région, la valeur est définie sur us-central1. Tous les points de terminaison d'un réseau doivent utiliser la même région de l'annuaire des services.

Espace de noms de l'Annuaire des services

Lorsque vous créez le premier point de terminaison pour les API Google d'un réseau VPC, l'espace de noms que vous sélectionnez est utilisé par défaut pour tous les points de terminaison ultérieurs créés dans ce réseau. Si l'espace de noms n'est pas déjà défini pour un réseau et que vous ne le spécifiez pas, un espace de noms généré par le système est utilisé. Tous les points de terminaison d'un réseau doivent utiliser le même espace de noms de l'annuaire des services. L'espace de noms que vous choisissez ne doit être utilisé que pour les points de terminaison permettant d'accéder aux API Google. Vous pouvez utiliser le même espace de noms pour les points de terminaison sur plusieurs réseaux.

Lorsque vous créez un point de terminaison, les configurations DNS suivantes sont créées :

  • Une zone DNS privée de l'annuaire des services est créée pour p.googleapis.com.

  • Les enregistrements DNS sont créés dansp.googleapis.com pour les services et API Google couramment utilisés disponibles via Private Service Connect et dont le nom DNS par défaut se termine pargoogleapis.com.

    Pour savoir comment créer des enregistrements DNS pour les API et les services qui n'ont pas d'enregistrement DNS dans p.googleapis.com, consultez la section Créer des enregistrements DNS.

Les services disponibles varient selon que vous sélectionnez le bundle d'API all-apis ou vpc-sc.

Une zone DNS de l'annuaire des services est créée pour chaque réseau VPC contenant un point de terminaison.

Les noms DNS d'un point de terminaison sont accessibles dans toutes les régions de votre réseau VPC.

API compatibles

Lorsque vous créez un point de terminaison pour accéder aux API et services Google, vous choisissez le groupe d'API auquel vous avez besoin d'accéder : Toutes les API (all-apis) ou VPC-SC (vpc-sc) :

Les bundles d'API n'acceptent que les protocoles HTTP via TCP (HTTP, HTTPS et HTTP/2). Tous les autres protocoles, y compris MQTT et ICMP, ne sont pas compatibles.

Bundle d'API Services compatibles Exemple d'utilisation
all-apis

Autorise l'accès API à la plupart des API et services Google, qu'ils soient ou non compatibles avec VPC Service Controls. Inclut l'accès des API à Google Maps, Google Ads, Google Cloud et à la plupart des autres API Google, y compris la liste ci-dessous. Non compatible avec les applications Web Google Workspace, telles que Gmail et Google Docs. Non compatible avec les sites Web interactifs.

Noms de domaine correspondant à :

  • accounts.google.com (uniquement les chemins d'accès nécessaires à l'authentification 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 ou *.gcr.io
  • *.googleapis.com
  • *.gstatic.com
  • *.ltsapis.goog
  • *.notebooks.cloud.google.com
  • *.notebooks.googleusercontent.com
  • packages.cloud.google.com
  • pkg.dev ou *.pkg.dev
  • pki.goog ou *.pki.goog
  • *.run.app
  • source.developers.google.com
  • storage.cloud.google.com

Choisissez all-apis dans les cas suivants :

  • Vous n'utilisez pas VPC Service Controls.
  • Vous utilisez VPC Service Controls, mais vous devez également accéder aux API et services Google qui ne sont pas compatibles avec VPC Service Controls. 1

vpc-sc

Autorise l'accès API aux API et services Google compatibles avec VPC Service Controls.

Bloque l'accès aux API et services Google qui ne sont pas compatibles avec VPC Service Controls. Non compatible avec les API Google Workspace ni avec les applications Web Google Workspace telles que Gmail et Google Docs.

Choisissez vpc-sc si vous devez exclusivement accéder aux API et services Google compatibles avec VPC Service Controls. Le bundle vpc-sc n'autorise pas l'accès aux API et services Google qui ne sont pas compatibles avec VPC Service Controls.1

1 Si vous devez limiter les utilisateurs aux API et services Google compatibles avec VPC Service Controls, utilisez vpc-sc. Bien que VPC Service Controls s'applique aux services compatibles et configurés, quel que soit le bundle que vous utilisez, vpc-sc offre une atténuation des risques supplémentaire pour l'exfiltration de données. Utiliser vpc-sc permet de refuser l'accès aux API et services Google qui ne sont pas compatibles avec VPC Service Controls. Pour en savoir plus, consultez la page Configurer une connectivité privée dans la documentation VPC Service Controls.

Exigences relatives à l'adresse IP

Lorsque vous configurez Private Service Connect sur un réseau VPC, vous fournissez une adresse IP à utiliser pour le point de terminaison.

L'adresse est prise en compte dans le quota du projet pour les adresses IP internes globales.

L'adresse IP doit respecter les spécifications suivantes :

  • Il doit s'agir d'une adresse IP unique et non d'une plage d'adresses.

  • Il doit s'agir d'une adresse IPv4 valide. Il peut s'agir d'une adresse RFC 1918 ou d'une adresse non-RFC 1918. Les adresses IPv6 ne sont pas compatibles avec Private Service Connect.

  • Elle ne peut pas se trouver dans la plage des sous-réseaux configurés dans le réseau VPC.

  • Elle ne peut pas se trouver dans une plage d'adresses IP principale ou secondaire d'un sous-réseau du réseau VPC ou d'un réseau connecté au réseau VPC à l'aide de l'appairage de réseaux VPC.

  • Elle ne peut pas chevaucher une route statique personnalisée /32 dans le réseau VPC local. Par exemple, si le réseau VPC possède une route statique personnalisée pour 10.10.10.10/32, vous ne pouvez pas réserver l'adresse 10.10.10.10 pour Private Service Connect.

  • Elle ne peut pas chevaucher une route statique personnalisée d'appairage de /32 si vous avez configuré le réseau appairé pour exporter les routes personnalisées et que vous avez configuré votre réseau VPC pour importer les routes personnalisées.

  • Elle ne peut pas appartenir à l'une des plages d'adresses IP en mode automatique (comprises dans 10.128.0.0/9) si le réseau VPC local est un réseau en mode automatique ou s'il est appairé avec un réseau en mode automatique.

  • Elle ne peut pas se trouver dans une plage d'adresses IP allouée sur le réseau VPC local. Cependant, elle peut se trouver dans une plage d'adresses IP allouée dans un réseau VPC appairé.

  • Si un point de terminaison chevauche une route dynamique personnalisée dont la destination est identique à /32, le point de terminaison est prioritaire.

  • Si une adresse IP de point de terminaison est située dans la plage de destination d'une route statique personnalisée, d'une route dynamique personnalisée ou d'une route personnalisée d'appairage, et si cette route dispose d'un masque de sous-réseau plus court que /32, le point de terminaison est prioritaire.

Cas d'utilisation

Vous pouvez créer plusieurs points de terminaison dans le même réseau VPC. Aucune limite ne s'applique à la bande passante totale envoyée à un point de terminaison particulier. Étant donné que les points de terminaison utilisent des adresses IP internes globales, ils peuvent être utilisés par n'importe quelle ressource de votre réseau VPC ou un réseau sur site connecté à l'aide de tunnels Cloud VPN ou de rattachements Cloud Interconnect.

Avec plusieurs points de terminaison, vous pouvez spécifier différents chemins d'accès réseau à l'aide de Cloud Router et de règles de pare-feu.

  • Vous pouvez créer des règles de pare-feu pour empêcher certaines VM d'accéder aux API Google via un point de terminaison, tout en autorisant l'accès à d'autres VM.

  • Une règle de pare-feu peut être définie sur une instance de VM qui interdit tout le trafic vers Internet. Le trafic envoyé aux points de terminaison Private Service Connect est toujours acheminé vers Google.

  • Si vous disposez d'hôtes sur site connectés à un VPC à l'aide d'un tunnel Cloud VPN ou d'un rattachement de VLAN, vous pouvez envoyer des requêtes via le tunnel ou le VLAN en envoyant d'autres demandes via le réseau Internet public. Cette configuration vous permet de contourner le tunnel ou le VLAN pour les services tels que Google Livres qui ne sont pas compatibles avec l'Accès privé à Google.

    Pour mettre en place cette configuration, créez un point de terminaison Private Service Connect, annoncez les adresses IP du point de terminaison à l'aide d'annonces de routage personnalisées Cloud Router et activez une règle de transfert entrant Cloud DNS. L'application peut envoyer des requêtes via le tunnel Cloud VPN ou un rattachement de VLAN en utilisant le nom du point de terminaison, ainsi que d'autres requêtes via Internet à l'aide du nom DNS par défaut.

  • Si vous connectez votre réseau sur site à votre réseau VPC à l'aide de plusieurs rattachements de VLAN, vous pouvez envoyer du trafic provenant d'un réseau sur site via un VLAN et le reste via d'autres, comme l'indique la figure 2. Vous pouvez ainsi utiliser votre propre réseau étendu plutôt que celui de Google, et contrôler le déplacement des données afin de répondre aux exigences géographiques.

    Pour créer cette configuration, créez deux points de terminaison. Créez une annonce de routage personnalisée pour le premier point de terminaison sur la session BGP du router cloud gérant le premier VLAN, puis créez une annonce de routage personnalisée différente pour le deuxième point de terminaison sur la session BGP du router cloud gérant le deuxième VLAN. Les hôtes sur site configurés pour utiliser le nom du point de terminaison envoient le trafic au rattachement de VLAN correspondant.

  • Vous pouvez également utiliser plusieurs rattachements de VLAN dans une topologie active/active. Si vous annoncez la même adresse IP de point de terminaison à l'aide d'annonces de routage personnalisées pour les sessions BGP sur les routeurs cloud gérant les VLAN, les paquets envoyés depuis les systèmes sur site vers les points de terminaison sont acheminés via les VLAN à l'aide d'ECMP.

    Figure 2. En configurant Private Service Connect, Cloud Router et des hôtes sur site, vous pouvez contrôler le rattachement de VLAN utilisé pour envoyer du trafic vers les API Google.

Tarifs

La tarification de Private Service Connect est décrite sur la page des tarifs relatifs aux VPC.

Quotas

Le nombre de points de terminaison Private Service Connect que vous pouvez créer pour accéder aux API Google est contrôlé par le quota PSC Google APIs Forwarding Rules per VPC Network. Pour en savoir plus, consultez la page consacrée aux quotas.

Contraintes liées aux règles d'administration

Un administrateur des règles d'administration peut utiliser la contrainte constraints/compute.disablePrivateServiceConnectCreationForConsumers pour définir l'ensemble des types de points de terminaison pour lesquels les utilisateurs ne sont pas autorisés à créer des règles de transfert.

Pour en savoir plus sur la création d'une règle d'administration utilisant cette contrainte, consultez Empêcher les clients de déployer des points de terminaison par type de connexion.

Étapes suivantes