Gérer les services et les bases de données Data Connect

Vos projets Data Connect se composent de deux éléments d'infrastructure majeurs :

  • Une ou plusieurs instances de service Data Connect
  • Une ou plusieurs instances Cloud SQL pour PostgreSQL

Ce guide explique comment configurer et gérer vos instances de service Data Connect, et présente la gestion de vos instances Cloud SQL associées.

Configurer des régions pour Firebase Data Connect

Les projets qui utilisent Data Connect nécessitent un paramètre de localisation.

Lorsque vous créez une instance de service Data Connect, vous êtes invité à sélectionner l'emplacement du service.

Régions acceptées

Les services Data Connect peuvent être créés dans les régions suivantes.

  • asia-east1
  • asia-east2
  • asia-northeast1
  • asia-northeast2
  • asia-northeast3
  • asia-south1
  • asia-southeast1
  • asia-southeast2
  • australia-southeast1
  • australia-southeast2
  • europe-central2
  • europe-north1
  • europe-southwest1
  • europe-west1
  • europe-west2
  • europe-west3
  • europe-west4
  • europe-west6
  • europe-west8
  • europe-west9
  • me-west1
  • northamerica-northeast1
  • northamerica-northeast2
  • southamerica-east1
  • southamerica-west1
  • us-central1
  • us-east1
  • us-east4
  • us-south1
  • us-west1
  • us-west2
  • us-west3
  • us-west4
L'intégration de Vertex AI à

Gérer les instances de service Data Connect

Elle crée des services

Pour créer un service, utilisez la console Firebase ou exécutez l'initialisation du projet local à l'aide de la CLI Firebase. Ces workflows créent un service Data Connect.

Ces flux vous guident également à travers les étapes suivantes :

  • Provisionner une instance Cloud SQL (niveau sans frais)
  • Associer une instance Cloud SQL existante à Data Connect (forfait Blaze)

Gérer les utilisateurs

Data Connect fournit des outils pour gérer l'accès des utilisateurs en suivant le principe du moindre privilège (accorder à chaque utilisateur ou compte de service les autorisations minimales nécessaires pour prendre en charge les fonctionnalités requises) et la notion de contrôle des accès basé sur les rôles (RBAC) (avec des rôles prédéfinis pour gérer les autorisations de base de données, ce qui simplifie la gestion de la sécurité).

Pour ajouter des membres de projet en tant qu'utilisateurs pouvant modifier les instances Data Connect de votre projet, utilisez la console Firebase pour sélectionner les rôles utilisateur prédéfinis appropriés.

Ces rôles accordent des autorisations à l'aide d'Identity and Access Management (IAM). Un rôle est un ensemble d'autorisations. Lorsque vous attribuez un rôle à un membre d'un projet, vous lui accordez toutes les autorisations contenues dans ce rôle. Pour en savoir plus, consultez les ressources suivantes :

Choisir des rôles pour activer des workflows spécifiques

Les rôles IAM permettent aux workflows de l'interface de ligne de commande Firebase de gérer vos projets Data Connect.

Commande CLI, autre workflow Rôle(s) requis
firebase init dataconnect
  • Aucune autorisation (lorsqu'aucune instance Cloud SQL n'est associée)
  • roles/cloudsql.admin (lors de la création d'une instance Cloud SQL)
firebase deploy -–only dataconnect
  • firebasedataconnect.connectors.*
  • firebasedataconnect.services.*
  • firebasedataconnect.schemas.*
  • roles/cloudsql.admin
firebase dataconnect:sql:diff
  • firebasedataconnect.services.*
  • firebasedataconnect.schemas.*
firebase dataconnect:sql:migrate
  • roles/cloudsql.admin sur l'instance Cloud SQL cible
firebase dataconnect:sql:grant
  • roles/cloudsql.admin sur l'instance Cloud SQL cible

Surveiller les performances du service Data Connect

Examen des performances des services

Les performances du service Data Connect et du service Cloud SQL pour PostgreSQL peuvent avoir un impact sur votre expérience.

  • Pour le service Cloud SQL pour PostgreSQL, consultez les conseils généraux de la documentation sur les quotas et limites.
  • Pour le service Data Connect, il existe un quota pour les requêtes GraphQL, qui affecte la fréquence à laquelle vous pouvez appeler et exécuter des requêtes :

    • Un quota global par projet de 6 000 requêtes par minute à partir des connecteurs d'application cliente.
    • Un quota global par projet de 6 000 requêtes par minute à partir de l'Firebase Admin SDK et de l'API REST.
    • Un quota par utilisateur de 1 200 requêtes par minute. Ici, "par utilisateur" signifie que la limite s'applique aux requêtes initiées par une adresse IP, qu'elles proviennent d'une application cliente, de Firebase Admin SDK ou de l'API REST.

    Si vous atteignez ces limites de quota, veuillez contacter l'assistance Firebase pour ajuster le quota concerné.

Surveiller les performances, l'utilisation et la facturation du service

Vous pouvez surveiller les requêtes, les erreurs et les taux d'opérations, à la fois globalement et par opération, dans la console Firebase.

Gérer les instances Cloud SQL

Limites de l'essai sans frais

Les fonctionnalités Cloud SQL pour PostgreSQL suivantes ne sont pas disponibles dans l'essai sans frais de trois mois :

  • Versions de PostgreSQL autres que la version 15.x
  • Utilisation des instances Cloud SQL pour PostgreSQL existantes
  • Niveau de machine différent de db-f1-micro
  • Modifier les ressources de votre instance, telles que le stockage, la mémoire ou le processeur
  • Instances dupliquées avec accès en lecture
  • Adresse IP privée de l'instance
  • Haute disponibilité (multizone) : seules les instances monozone sont acceptées.
  • Édition Enterprise Plus
  • Sauvegardes automatiques
  • Augmentation automatique de l'espace de stockage.

Administrer des instances Cloud SQL

En général, vous pouvez gérer vos instances Cloud SQL à l'aide de la console Google Cloud pour effectuer les workflows suivants.

  • Arrêter et redémarrer des instances Cloud SQL
  • Créer et supprimer des bases de données Cloud SQL (dans des instances)
  • Démarrer des instances de base de données PostgreSQL avec des indicateurs et utiliser une variété d'extensions
  • Surveiller les performances avec les fonctionnalités d'observabilité Cloud SQL dans la console Google Cloud
  • Gérez l'accès et la sécurité de Cloud SQL grâce à des fonctionnalités telles qu'IAM, Secret Manager, le chiffrement des données et le proxy d'authentification.
  • Ajouter, supprimer et administrer des utilisateurs Cloud SQL

Pour ces workflows et d'autres, consultez la documentation Cloud SQL pour PostgreSQL.

Accorder des rôles utilisateur PostgreSQL

Data Connect fournit des outils pour gérer l'accès des utilisateurs en suivant le principe du moindre privilège (accorder à chaque utilisateur ou compte de service les autorisations minimales nécessaires pour prendre en charge les fonctionnalités requises) et la notion de contrôle des accès basé sur les rôles (RBAC) (avec des rôles prédéfinis pour gérer les autorisations de base de données, ce qui simplifie la gestion de la sécurité).

Dans certains cas, vous pouvez souhaiter vous connecter directement à la base de données Cloud SQL gérée par Data Connect via un client SQL de votre choix, par exemple Cloud Run, Cloud Functions ou GKE.

Pour activer ces connexions, vous devez accorder des autorisations SQL en procédant comme suit :

  • Attribuez le rôle IAM roles/cloudsql.client à l'utilisateur ou au compte de service qui doit se connecter à l'instance, soit depuis la console Google Cloud, soit à l'aide de gcloud CLI.
  • Accorder le rôle PostgreSQL nécessaire à l'aide de l'interface de ligne de commande Firebase

Attribuer le rôle IAM Cloud SQL

Pour savoir comment utiliser Cloud SQL pour PostgreSQL afin d'attribuer le rôle IAM roles/cloudsql.client, consultez Rôles et autorisations.

Accorder des rôles PostgreSQL

À l'aide de l'interface de ligne de commande Firebase, vous pouvez accorder des rôles PostgreSQL prédéfinis aux utilisateurs ou aux comptes de service associés à votre projet à l'aide de la commande firebase dataconnect:sql:grant.

Par exemple, pour accorder le rôle de rédacteur, exécutez cette commande dans l'interface de ligne de commande :

firebase dataconnect:sql:grant --role writer

Pour en savoir plus, consultez le guide de référence de la CLI.

Intégrer des bases de données Cloud SQL pour PostgreSQL existantes

Le flux de provisionnement et de gestion de base de données par défaut suppose que votre projet utilise de nouvelles bases de données (greenfield). Lorsque vous appelez firebase deploy, Data Connect affiche les modifications à apporter au schéma de base de données et effectue les migrations après votre approbation.

Pour les bases de données existantes (brownfield), vous pouvez avoir votre propre workflow pour gérer les schémas et ne pas pouvoir utiliser les outils Data Connect pour les migrations. Toutefois, vous souhaitez utiliser votre base de données dans un projet Data Connect pour profiter de la génération de SDK pour mobile et Web, de l'autorisation basée sur les requêtes, de la gestion des connexions client, etc.

Cette section fournit des conseils sur le deuxième cas : l'intégration de bases de données existantes à Data Connect.

.

Intégrer une base de données existante à un projet Data Connect

Le workflow d'intégration d'une base de données existante comprend généralement les étapes suivantes :

  1. Lors de la configuration du projet Data Connect dans la console Firebase, sélectionnez l'instance et la base de données.
  2. À l'aide de la CLI Firebase, exécutez la commande firebase dataconnect:sql:setup et refusez l'option permettant à Data Connect de gérer les migrations SQL.

    Pour éviter que le schéma de votre base de données soit modifié par des outils personnalisés, la commande setup attribuera les rôles de lecteur et d'auteur appropriés, mais pas le rôle owner. Pour en savoir plus sur la commande setup et les rôles PostgreSQL, consultez le guide de référence de la CLI.

  3. Écrivez un schéma GraphQL Data Connect qui correspond au schéma de votre base de données.

    Vous ne pouvez déployer votre schéma, vos requêtes et vos mutations GraphQL que si votre schéma GraphQL est compatible avec votre schéma PostgreSQL.

    Pour simplifier l'alignement des deux schémas, nous fournissons la commande firebase dataconnect:sql:diff, qui vous fournira les instructions SQL requises pour migrer votre base de données. Vous pouvez l'utiliser pour affiner de manière itérative votre schéma GraphQL afin qu'il corresponde à votre schéma de base de données existant.

  4. À l'avenir, vous pourrez itérer rapidement sur votre schéma, vos requêtes et vos mutations GraphQL dans votre environnement de développement local. Ensuite, lorsque vous êtes satisfait du résultat, vous pouvez utiliser firebase dataconnect:sql:diff pour obtenir les instructions de migration SQL que vous pouvez appliquer à PostgreSQL à l'aide de vos outils et flux personnalisés.

  5. Vous pouvez également apporter des modifications directement à votre base de données PostgreSQL, puis essayer de les reporter dans votre schéma GraphQL. Nous vous recommandons d'adopter l'approche "GraphQL-first", car il peut arriver que les modifications du schéma ne soient pas prises en charge. De plus, si vous déployez des modifications qui rendent votre schéma PostgreSQL incompatible avec les requêtes ou mutations de connecteur déployées, ces connecteurs peuvent cesser de fonctionner ou se comporter de manière inattendue.