Configurer l'accès privé à Google dans Firestore compatible avec MongoDB

Cette page explique comment activer et configurer l'accès privé à Google dans Cloud Firestore.

À propos de l'accès privé à Google dans Cloud Firestore

Par défaut, lorsqu'une VM Compute Engine n'a pas d'adresse IP externe attribuée à son interface réseau, elle ne peut envoyer des paquets qu'à d'autres destinations d'adresses IP internes. Vous pouvez autoriser ces VM à se connecter au service Cloud Firestore en activant l'accès privé à Google sur le sous-réseau utilisé par l'interface réseau de la VM.

Services et protocoles applicables

  • Les instructions de ce guide ne s'appliquent qu'à Cloud Firestore.

  • Les domaines par défaut et VIP utilisés par Cloud Firestore et leurs plages d'adresses IP ne sont compatibles qu'avec le protocole MongoDB sur le port 443. Tous les autres protocoles ne sont pas compatibles.

Configuration réseau requise

Une interface de VM peut accéder aux API et services Google via le réseau Google interne à l'aide de l'accès privé à Google, si toutes ces conditions sont remplies :

  • L'interface de VM est connectée à un sous-réseau dans lequel l'accès privé à Google est activé.

  • Aucune adresse IP externe n'est attribuée à l'interface de VM.

  • L'adresse IP source des paquets envoyés à partir de la VM correspond à l'une des adresses IP suivantes.

    • L'adresse IPv4 interne principale de l'interface de la VM
    • Une adresse IPv4 interne d'une plage d'adresses IP d'alias

Une VM avec une adresse IPv4 externe attribuée à son interface réseau n'a pas besoin d'un accès privé à Google pour se connecter aux API et services Google. Cependant, le réseau VPC doit répondre aux exigences d'accès aux API et services Google.

Autorisations IAM

Les propriétaires de projet, les éditeurs et les comptes principaux IAM dotés du rôle d'administrateur réseau peuvent créer ou mettre à jour des sous-réseaux et attribuer des adresses IP.

Pour en savoir plus sur les rôles, consultez la documentation sur les rôles IAM.

Journalisation

Cloud Logging capture toutes les requêtes API effectuées à partir d'instances de VM dans des sous-réseaux sur lesquels l'accès privé à Google est activé. Les entrées de journal identifient la source de la requête API en tant qu'adresse IP interne de l'instance appelante.

Vous pouvez configurer l'envoi de rapports d'utilisation quotidienne et de rapports cumulés mensuels à un bucket Cloud Storage. Pour en savoir plus, consultez la page Afficher les rapports d'utilisation.

Résumé de la configuration

Le tableau suivant récapitule les différentes manières de configurer l'accès privé à Google dans Cloud Firestore. Pour obtenir des instructions plus détaillées, consultez Configuration réseau.

Option de domaine Plages d'adresses IP Configuration DNS Configuration du routage Configuration du pare-feu

Domaine par défaut (firestore.goog)

Les domaines par défaut sont utilisés lorsque vous ne configurez pas d'enregistrements DNS pour restricted.firestore.goog.

136.124.0.0/23 Vous accédez au service Cloud Firestore via ses adresses IP publiques. Aucune configuration DNS spéciale n'est donc requise.

Vérifiez que votre réseau VPC peut acheminer le trafic vers les plages d'adresses IP utilisées par le service Cloud Firestore.

  • Configuration de base : vérifiez que vous disposez de routes par défaut avec default-internet-gateway comme prochain saut et avec une plage de destination 0.0.0.0/0. Créez ces routes si elles sont manquantes.
  • Configuration personnalisée : créez des routes vers la plage d'adresses IP 136.124.0.0/23.

Vérifiez que vos règles de pare-feu autorisent la sortie vers la plage d'adresses IP 136.124.0.0/23.

La règle de pare-feu de sortie par défaut (qui autorise le trafic) autorise ce trafic si aucune règle de priorité plus élevée ne le bloque.

restricted.firestore.goog

Utilisez restricted.firestore.goog pour accéder au service Cloud Firestore à l'aide d'un ensemble d'adresses IP routables seulement depuis Google Cloud. Peut être utilisé dans les scénarios VPC Service Controls.

199.36.153.2/31 Configurez les enregistrements DNS pour envoyer les requêtes à la plage d'adresses IP 199.36.153.2/31. Vérifiez que votre réseau VPC dispose de routes vers la plage d'adresses IP 199.36.153.2/31. Vérifiez que vos règles de pare-feu autorisent la sortie vers la plage d'adresses IP 199.36.153.2/31.

Configuration du réseau

Cette section explique comment configurer votre réseau pour accéder à Cloud Firestore à l'aide de l'accès privé à Google.

Configuration DNS

Contrairement aux autres API Google, l'API Cloud Firestore utilise des noms de domaine et des adresses IP différents pour l'accès privé à Google :

  • restricted.firestore.goog active l'accès à l'API Cloud Firestore.

    • Adresses IP : 199.36.153.2 et 199.36.153.3.

    • Comme Cloud Firestore est conforme à VPC Service Controls, vous pouvez utiliser ce domaine dans les scénarios VPC Service Controls.

Pour créer une zone et des enregistrements DNS pour Cloud Firestore :

  1. Créez une zone DNS privée pour firestore.goog.

    Envisagez de créer une zone privée Cloud DNS à cette fin.

  2. Dans la zone firestore.goog, créez les enregistrements suivants :

    1. Un enregistrement A pour restricted.firestore.goog qui pointe vers les adresses IP suivantes : 199.36.153.2 et 199.36.153.3.

    2. Un enregistrement CNAME pour *.firestore.goog qui pointe vers restricted.firestore.goog.

    Pour créer ces enregistrements dans Cloud DNS, consultez la section Ajouter un enregistrement.

Configuration de routage

Votre réseau VPC doit disposer de routes appropriées dont les prochains sauts sont la passerelle Internet par défaut. Google Cloud n'est pas compatible avec le routage du trafic vers les Google APIs et services via d'autres instances de VM ou des sauts suivants personnalisés. Bien que ces sauts suivants soient considérés comme une passerelle Internet par défaut, les paquets envoyés depuis les VM de votre réseau VPC aux Google APIs et services restent au sein du réseau de Google.

  • Si vous sélectionnez l'option de domaine par défaut, vos instances de VM se connectent au service Cloud Firestore à l'aide de la plage d'adresses IP publiques suivante : 136.124.0.0/23 . Ces adresses IP sont routables publiquement, mais le chemin d'une VM d'un réseau VPC vers ces adresses reste au sein du réseau de Google.

  • Google ne publie pas de routes sur Internet vers les adresses IP utilisées par le domaine restricted.firestore.goog. Par conséquent, ce domaine n'est accessible que par les VM d'un réseau VPC ou de systèmes sur site connectés à un réseau VPC.

Si votre réseau VPC contient une route par défaut dont le prochain saut est la passerelle Internet par défaut, vous pouvez utiliser cette route pour accéder au service Cloud Firestore sans avoir besoin de créer des routes personnalisées. Pour plus d'informations, consultez la section Routage avec une route par défaut.

Si vous avez remplacé une route par défaut (destination 0.0.0.0/0 ou ::0/0) par une route personnalisée dont le prochain saut ne correspond pas à la passerelle Internet par défaut, vous pouvez satisfaire les exigences de routage du service Cloud Firestore en utilisant le routage personnalisé à la place.

Routage avec une route par défaut

Chaque réseau VPC contient une route IPv4 par défaut (0.0.0.0/0) lors de sa création.

La route par défaut fournit un chemin d'accès aux adresses IP des destinations suivantes :

  • Domaine par défaut (firestore.goog) : 136.124.0.0/23
  • restricted.firestore.goog : 199.36.153.2/31

Pour savoir comment vérifier la configuration d'une route par défaut dans un réseau donné à l'aide de la console Google Cloud et de Google Cloud CLI, consultez Configurer l'accès privé à Google.

Routage avec des routes personnalisées

À la place d'une route par défaut, vous pouvez utiliser des routes statiques personnalisées, chacune ayant une destination plus spécifique et chacune utilisant le saut suivant de la passerelle Internet par défaut. Les adresses IP de destination des routes dépendent du domaine que vous choisissez :

  • Domaine par défaut (firestore.goog) : 136.124.0.0/23
  • restricted.firestore.goog : 199.36.153.2/31

Pour obtenir des instructions sur la console Google Cloud et Google Cloud CLI permettant de vérifier la configuration des routes personnalisées dans un réseau donné, consultez Configurer l'accès privé à Google.

Configuration du pare-feu

La configuration de pare-feu de votre réseau VPC doit autoriser l'accès des VM aux adresses IP utilisées par le service Cloud Firestore. La règle allow egress implicite répond à cette exigence.

Dans certaines configurations de pare-feu, vous devez créer des règles d'autorisation de sortie spécifiques. Par exemple, supposons que vous ayez créé une règle de refus du trafic sortant qui bloque le trafic vers toutes les destinations (0.0.0.0 pour IPv4). Dans ce cas, vous devez créer une règle de pare-feu autorisant le trafic sortant avec une priorité supérieure à celle de la règle de refus de sortie pour chaque plage d'adresses IP utilisée par le domaine que vous choisissez :

  • Domaine par défaut (firestore.goog) : 136.124.0.0/23
  • restricted.firestore.goog : 199.36.153.2/31

Pour créer des règles de pare-feu, consultez la page Créer des règles de pare-feu. Vous pouvez limiter les VM auxquelles les règles de pare-feu s'appliquent lorsque vous définissez la cible de chaque règle d'autorisation de sortie.

Configuration de l'accès privé à Google

Vous pouvez activer l'accès privé à Google une fois que votre réseau VPC répond aux exigences réseau. Pour obtenir des instructions sur la console Google Cloud et Google Cloud CLI, suivez la procédure décrite dans Activer l'accès privé à Google.

Étape suivante