Gestire i servizi e i database Data Connect

I tuoi progetti Data Connect sono costituiti da due elementi principali dell'infrastruttura:

  • Una o più istanze di servizio Data Connect
  • Una o più istanze Cloud SQL per PostgreSQL

Questa guida illustra come configurare e gestire le istanze di servizio Data Connect e come gestire le istanze Cloud SQL associate.

Configura le regioni per Firebase Data Connect

I progetti che utilizzano Data Connect richiedono un'impostazione di geolocalizzazione.

Quando crei una nuova istanza di servizio Data Connect, ti viene chiesto di selezionare la posizione del servizio.

Sedi disponibili

I servizi Data Connect possono essere creati nelle seguenti regioni.

  • 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'integrazione di Vertex AI di

Gestire le istanze di servizio Data Connect

Creare servizi

Per creare un nuovo servizio, utilizza la console Firebase o esegui l'inizializzazione del progetto locale utilizzando l'interfaccia a riga di comando Firebase. Questi flussi di lavoro creano un nuovo servizioData Connect.

Questi flussi ti guidano anche in:

  • Esegui il provisioning di una nuova istanza Cloud SQL (livello senza costi)
  • Collegamento di un'istanza Cloud SQL esistente a Data Connect (piano Blaze)

Gestisci utenti

Data Connect fornisce strumenti per gestire l'accesso degli utenti che rispettano il principio del privilegio minimo (concede a ogni utente o account di servizio le autorizzazioni minime necessarie per supportare le funzionalità necessarie) e il concetto di controllo degli accessi basato su ruoli (RBAC) (con ruoli predefiniti per gestire le autorizzazioni del database, semplificando la gestione della sicurezza).

Per aggiungere membri del progetto come utenti che possono modificare le istanze Data Connect nel progetto, utilizza la console Firebase per selezionare i ruoli utente predefiniti appropriati.

Questi ruoli concedono autorizzazioni utilizzando Identity and Access Management (IAM). Un ruolo è una raccolta di autorizzazioni. Quando assegni un ruolo a un membro del progetto, gli concedi tutte le autorizzazioni incluse nel ruolo. Scopri di più in:

Scegli i ruoli per abilitare workflow specifici

I ruoli IAM consentono ai flussi di lavoro della CLI Firebase di gestire i progetti Data Connect.

Comando CLI, altro flusso di lavoro Ruoli richiesti
firebase init dataconnect
  • Nessuna autorizzazione (se non viene collegata un'istanza Cloud SQL)
  • roles/cloudsql.admin (quando viene creata un'istanza 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
  • ruoli/cloudsql.admin nell'istanza Cloud SQL di destinazione
firebase dataconnect:sql:grant
  • ruoli/cloudsql.admin nell'istanza Cloud SQL di destinazione

Monitorare le prestazioni del servizio Data Connect

Informazioni sulle prestazioni dei servizi

Le prestazioni sia del servizio Data Connect sia del servizio Cloud SQL per PostgreSQL possono influire sulla tua esperienza.

  • Per il servizio Cloud SQL per PostgreSQL, consulta le indicazioni generali nella documentazione su quote e limiti.
  • Per il servizio Data Connect è prevista una quota per le richieste GraphQL, che influisce sulla frequenza con cui puoi chiamare ed eseguire query:

    • Una quota complessiva per progetto di 6000 richieste al minuto dai connettori delle app client.
    • Una quota complessiva per progetto di 6000 richieste al minuto daFirebase Admin SDK e dall'API REST.
    • Una quota per utente di 1200 richieste al minuto. Per utente si intende che il limite si applica alle richieste avviate da un indirizzo IP, che provengano da un'app client, da Firebase Admin SDK o dall'API REST.

    Se riscontri questi limiti di quota, contatta l'assistenza Firebase per modificare la quota pertinente.

Monitorare le prestazioni, l'utilizzo e la fatturazione dei servizi

Puoi monitorare le richieste, gli errori e le frequenze di operazione, sia a livello globale sia per operazione, nella console Firebase.

Gestire le istanze Cloud SQL

Limitazioni della prova senza costi

Le seguenti funzionalità di Cloud SQL per PostgreSQL non sono supportate nella prova senza costi di 3 mesi:

  • Versioni di PostgreSQL diverse da 15.x
  • Utilizzo di istanze Cloud SQL per PostgreSQL esistenti
  • Livello di macchina diverso da db-f1-micro
  • Modifica delle risorse dell'istanza, ad esempio spazio di archiviazione, memoria e CPU
  • Repliche di lettura
  • Indirizzo IP dell'istanza privata
  • Alta disponibilità (multizona); sono supportate solo istanze a zona singola
  • Versione Enterprise Plus
  • Backup automatici
  • Aumento automatico dello spazio di archiviazione.

Amministra le istanze Cloud SQL

In generale, puoi gestire le tue istanze Cloud SQL utilizzando la console Google Cloud per eseguire i seguenti flussi di lavoro.

  • Arresta e riavvia le istanze Cloud SQL
  • Creare ed eliminare database Cloud SQL (all'interno delle istanze)
  • Avvia le istanze di database PostgreSQL con flag e utilizza una varietà di estensioni
  • Monitora il rendimento con le funzionalità di osservabilità di Cloud SQL nella Google Cloud console
  • Gestisci l'accesso e la sicurezza di Cloud SQL con funzionalità come IAM, Secret Manager, crittografia dei dati e proxy di autenticazione
  • Aggiungere, eliminare e amministrare gli utenti Cloud SQL.

Per questi e altri flussi di lavoro, consulta la documentazione di Cloud SQL per PostgreSQL.

Concedi i ruoli utente PostgreSQL

Data Connect fornisce strumenti per gestire l'accesso degli utenti che rispettano il principio del privilegio minimo (concede a ogni utente o account di servizio le autorizzazioni minime necessarie per supportare le funzionalità necessarie) e il concetto di controllo degli accessi basato su ruoli (RBAC) (con ruoli predefiniti per gestire le autorizzazioni del database, semplificando la gestione della sicurezza).

In alcuni casi, potresti volerti connettere direttamente al database Cloud SQL gestito da Data Connect tramite un client SQL a tua scelta utilizzando, ad esempio, Cloud Run, Cloud Functions o GKE.

Per attivare queste connessioni, devi concedere le autorizzazioni SQL:

  • Assegna il ruolo IAM roles/cloudsql.client all'utente o all'account di servizio che deve connettersi all'istanza dalla console Google Cloud o utilizzando gcloud CLI
  • Concedi il ruolo PostgreSQL necessario utilizzando la CLI Firebase

Assegna il ruolo IAM Cloud SQL

Per informazioni su come utilizzare Cloud SQL per PostgreSQL per assegnare il ruolo IAM roles/cloudsql.client, consulta Ruoli e autorizzazioni.

Concedi i ruoli PostgreSQL

Utilizzando la CLI Firebase, puoi concedere ruoli PostgreSQL predefiniti agli utenti o agli account di servizio associati al tuo progetto con il comando firebase dataconnect:sql:grant.

Ad esempio, per concedere il ruolo autore, esegui questo comando nella CLI:

firebase dataconnect:sql:grant --role writer

Per maggiori dettagli, consulta la guida di riferimento all'interfaccia a riga di comando.

Integrare i database Cloud SQL per PostgreSQL esistenti

Il flusso di provisioning e gestione del database predefinito presuppone che il progetto utilizzi un nuovo database (greenfield) e, quando richiami firebase deploy, Data Connect mostrerà le modifiche dello schema del database da apportare ed eseguirà eventuali migrazioni dopo la tua approvazione.

Per i database esistenti (brownfield), potresti avere un tuo flusso di lavoro per la gestione degli schemi e non poter utilizzare gli strumenti Data Connect per le migrazioni, ma vorresti utilizzare il tuo database in un progetto Data Connect per sfruttare la generazione di SDK per mobile e web, l'autorizzazione basata su query, la gestione delle connessioni dei client e altro ancora.

Questa sezione fornisce indicazioni su quest'ultimo caso: l'integrazione dei database esistenti con Data Connect.

Integrare un database esistente in un progetto Data Connect

Il flusso di lavoro per l'integrazione di un database esistente prevede in genere i seguenti passaggi:

  1. Durante la configurazione del progetto Data Connect nella console Firebase, seleziona l'istanza e il database.
  2. Utilizzando l'interfaccia a riga di comando Firebase, esegui il comando firebase dataconnect:sql:setup e rifiuta l'opzione per consentire a Data Connect di gestire le migrazioni SQL.

    Per impedire modifiche allo schema del database non basate sugli strumenti personalizzati, il comando setup assegna i ruoli di lettore e scrittore appropriati, ma non il ruolo owner. Ulteriori informazioni sul comando setup e sui ruoli PostgreSQL sono disponibili nella guida di riferimento all'interfaccia a riga di comando.

  3. Scrivi uno schema Data Connect GraphQL corrispondente allo schema del database.

    Puoi eseguire il deployment dello schema, delle query e delle mutazioni GraphQL solo se lo schema GraphQL è compatibile con lo schema PostgreSQL.

    Per semplificare l'allineamento di entrambi gli schemi, forniamo il comando firebase dataconnect:sql:diff, che ti fornirà le istruzioni SQL necessarie per eseguire la migrazione del database. Puoi utilizzarlo per perfezionare in modo iterativo lo schema GraphQL in modo che corrisponda allo schema del database esistente.

  4. In futuro, potrai eseguire rapidamente l'iterazione su schema, query e mutazioni GraphQL nel tuo ambiente di sviluppo locale. Se il risultato ti soddisfa, puoi utilizzare firebase dataconnect:sql:diff per ottenere le istruzioni di migrazione SQL che puoi applicare a PostgreSQL utilizzando i tuoi strumenti e flussi personalizzati.

  5. In alternativa, puoi apportare prima le modifiche direttamente al database PostgreSQL, quindi provare a trasferirle nuovamente nello schema GraphQL. Ti consigliamo di utilizzare l'approccio GraphQL first, poiché potrebbero verificarsi casi in cui le modifiche allo schema non sono supportate. Inoltre, se esegui il deployment di modifiche che rendono lo schema PostgreSQL incompatibile con le query o le mutazioni del connettore di cui è stato eseguito il deployment, questi connettori potrebbero smettere di funzionare o comportarsi in modo anomalo.