I tuoi progetti Data Connect sono costituiti da due elementi infrastrutturali principali:
- Una o più istanze del servizio Data Connect
- Una o più istanze Cloud SQL per PostgreSQL
Questa guida illustra come configurare e gestire le istanze del servizio Data Connect e introduce come gestire le istanze Cloud SQL associate.
Configurare le regioni per Firebase Data Connect
I progetti che utilizzano Data Connect richiedono un'impostazione della posizione.
Quando crei una nuova istanza di servizio Data Connect, ti viene chiesto di selezionare la posizione del servizio.
Paesi in cui è disponibile il servizio
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
Gestisci le istanze del servizio Data Connect
Creare servizi
Per creare un nuovo servizio, utilizza la console Firebase o esegui l'inizializzazione del progetto locale utilizzando la CLI Firebase. Questi flussi di lavoro creano un nuovo servizio Data Connect.
Questi flussi ti guidano anche attraverso:
- 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 seguono il il principio del privilegio minimo (concedi a ogni utente o service account il minimo di autorizzazioni necessarie per supportare le funzionalità richieste) e il concetto di controllo degli accessi basato sui ruoli (RBAC) (con ruoli predefiniti per gestire il database autorizzazioni, semplificando la gestione della sicurezza).
Per aggiungere membri del progetto come utenti che possono modificare le istanze Data Connect nel tuo 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. Per maggiori informazioni, consulta:
- La panoramica dei ruoli IAM di Firebase
- L'elenco dettagliato dei ruoli Data Connect
Scegliere i ruoli per attivare flussi di lavoro specifici
I ruoli IAM consentono ai flussi di lavoro dell'interfaccia a riga di comando Firebase di gestire i tuoi progetti Data Connect.
Comando CLI, altro flusso di lavoro | Ruoli richiesti |
---|---|
firebase init dataconnect
|
|
firebase deploy -–only dataconnect
|
|
firebase dataconnect:sql:diff
|
|
firebase dataconnect:sql:migrate
|
|
firebase dataconnect:sql:grant
|
|
Monitorare il rendimento 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 relativa a quote e limiti.
Per il servizio Data Connect, esiste una quota per le richieste GraphQL, che influisce sulla velocità con cui puoi chiamare ed eseguire query:
- Una quota complessiva per progetto di 6000 richieste al minuto dai connettori dell'app client.
- Una quota complessiva per progetto di 6000 richieste al minuto da Firebase Admin SDK e dall'API REST.
- Una quota per utente di 1200 richieste al minuto. In questo caso, 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 raggiungi questi limiti di quota, contatta l'assistenza Firebase per modificare la quota pertinente.
Monitorare le prestazioni, l'utilizzo e la fatturazione del servizio
Puoi monitorare le richieste, gli errori e le percentuali di operazioni, sia a livello globale sia per operazione, nella console Firebase.
Gestisci 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 delle istanze Cloud SQL per PostgreSQL esistenti
- Livello della macchina diverso da db-f1-micro
- Modifica delle risorse dell'istanza, come spazio di archiviazione, memoria, 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.
Amministrare 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.
Data Connect- Arresta e riavvia le istanze Cloud SQL
- Creare ed eliminare database Cloud SQL (all'interno delle istanze)
- Avvia istanze di database PostgreSQL con flag e utilizza una varietà di estensioni
- Monitora le prestazioni con le funzionalità di osservabilità di Cloud SQL nella console Google Cloud
- 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 ruoli utente PostgreSQL
Data Connect fornisce strumenti per gestire l'accesso degli utenti che seguono il il principio del privilegio minimo (concedi a ogni utente o service account il minimo di autorizzazioni necessarie per supportare le funzionalità richieste) e il concetto di controllo degli accessi basato sui ruoli (RBAC) (con ruoli predefiniti per gestire il database autorizzazioni, semplificando la gestione della sicurezza).
In alcuni casi, potresti voler connetterti 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 abilitare queste connessioni, devi concedere le autorizzazioni SQL:
- Assegnando il ruolo IAM
roles/cloudsql.client
all'utente o al service account che deve connettersi all'istanza, dalla console Google Cloud o utilizzando gcloud CLI - Concessione del ruolo PostgreSQL necessario utilizzando la CLI Firebase
Assegnare il ruolo IAM Cloud SQL
Per informazioni sull'utilizzo di Cloud SQL per PostgreSQL per assegnare il ruolo IAM roles/cloudsql.client
, consulta Ruoli e autorizzazioni.
Concedere ruoli PostgreSQL
Utilizzando la CLI Firebase, puoi concedere ruoli PostgreSQL predefiniti a utenti o service account associati al tuo progetto con il comando firebase dataconnect:sql:grant
.
Ad esempio, per concedere il ruolo di scrittore, 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.
Integra i database Cloud SQL per PostgreSQL esistenti
Il flusso predefinito di provisioning e gestione del database presuppone che il tuo progetto utilizzi nuovi database (greenfield) e, quando richiami firebase deploy
, Data Connect visualizza le modifiche allo schema del database da apportare ed esegue le migrazioni dopo la tua approvazione.
Per i database esistenti (brownfield), potresti avere un tuo flusso di lavoro per la gestione degli schemi e non puoi 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 il web e il mobile, l'autorizzazione basata su query, la gestione delle connessioni client e altro ancora.
Questa sezione offre indicazioni sul secondo caso: l'integrazione di 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 in genere prevede i seguenti passaggi:
- Durante la configurazione del progetto Data Connect nella console Firebase, seleziona l'istanza e il database.
Utilizzando la CLI 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 guidate dai tuoi strumenti personalizzati, il comando
setup
assegnerà i ruoli di lettura e scrittura appropriati, ma non il ruoloowner
. Per ulteriori informazioni sul comandosetup
e sui ruoli PostgreSQL, consulta la guida di riferimento della CLI.Scrivi uno Data Connect schema GraphQL che corrisponda allo schema del tuo 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.In futuro, potrai iterare rapidamente su schema, query e mutazione GraphQL nel tuo ambiente di sviluppo locale. Quando sei soddisfatto, 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.In alternativa, puoi apportare modifiche direttamente al database PostgreSQL e poi provare a riportarle nello schema GraphQL. Ti consigliamo l'approccio GraphQL-first, poiché potrebbero verificarsi casi in cui le modifiche allo schema non sono supportate. Inoltre, se implementi modifiche che rendono lo schema PostgreSQL incompatibile con le query o le mutazioni del connettore implementato, questi connettori potrebbero smettere di funzionare o funzionare in modo anomalo.