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
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:
- La panoramica dei ruoli IAM di Firebase
- L'elenco dettagliato dei ruoli Data Connect
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
|
|
firebase deploy -–only dataconnect
|
|
firebase dataconnect:sql:diff
|
|
firebase dataconnect:sql:migrate
|
|
firebase dataconnect:sql:grant
|
|
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:
- Durante la configurazione del progetto Data Connect nella console Firebase, seleziona l'istanza e il database.
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 ruoloowner
. Ulteriori informazioni sul comandosetup
e sui ruoli PostgreSQL sono disponibili nella guida di riferimento all'interfaccia a riga di comando.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.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.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.