Data Connect-Dienste und ‑Datenbanken verwalten

Ihre Data Connect-Projekte bestehen aus zwei wichtigen Infrastrukturelementen:

  • Eine oder mehrere Data Connect-Dienstinstanzen
  • Eine oder mehrere Cloud SQL for PostgreSQL-Instanzen

In dieser Anleitung wird beschrieben, wie Sie Ihre Data Connect-Dienstinstanzen einrichten und verwalten. Außerdem wird erläutert, wie Sie die zugehörigen Cloud SQL-Instanzen verwalten.

Regionen für Firebase Data Connect konfigurieren

Für Projekte, in denen Data Connect verwendet wird, ist eine Standorteinstellung erforderlich.

Wenn Sie eine neue Data Connect-Dienstinstanz erstellen, werden Sie aufgefordert, den Standort des Dienstes auszuwählen.

Verfügbare Standorte

Data Connect-Dienste können in den folgenden Regionen erstellt werden.

  • 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

Data Connect-Dienstinstanzen verwalten

Dienste erstellen

Verwenden Sie zum Erstellen eines neuen Dienstes die Firebase-Konsole oder führen Sie die lokale Projektinitialisierung mit der Firebase-CLI aus. Bei diesen Workflows wird ein neuer Data Connect-Dienst erstellt.

In diesen Abläufen werden Sie auch durch Folgendes geführt:

  • Neue Cloud SQL-Instanz bereitstellen (kostenloses Kontingent)
  • Eine vorhandene Cloud SQL-Instanz mit Data Connect (Blaze-Tarif) verknüpfen

Nutzer verwalten

Data Connect bietet Tools zur Verwaltung des Nutzerzugriffs, die dem Prinzip der geringsten Berechtigung folgen (jedem Nutzer oder Dienstkonto werden die minimal erforderlichen Berechtigungen für die benötigte Funktionalität gewährt) und auf der rollenbasierten Zugriffssteuerung (Role-Based Access Control, RBAC) basieren (mit vordefinierten Rollen zur Verwaltung von Datenbankberechtigungen, die die Sicherheitsverwaltung vereinfachen).

Wenn Sie Projektmitglieder als Nutzer hinzufügen möchten, die Data Connect-Instanzen in Ihrem Projekt ändern können, wählen Sie in der Firebase-Konsole die entsprechenden vordefinierten Nutzerrollen aus.

Mit diesen Rollen werden Berechtigungen über Identity and Access Management (IAM) gewährt. Eine Rolle ist eine Sammlung von Berechtigungen. Wenn Sie einem Projektmitglied eine Rolle zuweisen, gewähren Sie diesem alle mit ihr verbundenen Berechtigungen. Weitere Informationen finden Sie unter:

Rollen auswählen, um bestimmte Arbeitsabläufe zu aktivieren

Mit IAM-Rollen können Sie Firebase-CLI-Workflows verwenden, um Ihre Data Connect-Projekte zu verwalten.

Befehlszeilenbefehl, anderer Workflow Erforderliche Rollen
firebase init dataconnect
  • Keine Berechtigungen (wenn keine Cloud SQL-Instanz verknüpft ist)
  • roles/cloudsql.admin (beim Erstellen einer Cloud SQL-Instanz)
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 für die Cloud SQL-Zielinstanz
firebase dataconnect:sql:grant
  • roles/cloudsql.admin für die Cloud SQL-Zielinstanz

Leistung des Data Connect-Dienstes überwachen

Leistung des Diensts verstehen

Die Leistung des Data Connect-Dienstes und des Cloud SQL for PostgreSQL-Dienstes kann sich auf Ihre Nutzung auswirken.

  • Allgemeine Informationen zu Kontingenten und Limits für den Cloud SQL for PostgreSQL-Dienst finden Sie in der Dokumentation zu Kontingenten und Limits.
  • Für den Data Connect-Dienst gibt es ein Kontingent für GraphQL-Anfragen, das sich auf die Rate auswirkt, mit der Sie Abfragen aufrufen und ausführen können:

    • Ein allgemeines Kontingent von 6.000 Anfragen pro Minute und Projekt von Client-App-Connectors.
    • Ein allgemeines Kontingent von 6.000 Anfragen pro Minute und Projekt für die Firebase Admin SDK und die REST API.
    • Ein Kontingent von 1.200 Anfragen pro Nutzer und Minute. „Pro Nutzer“ bedeutet, dass das Limit für Anfragen gilt, die von einer IP-Adresse aus initiiert werden, unabhängig davon, ob dies über eine Client-App, über Firebase Admin SDK oder über die REST API erfolgt.

    Wenn Sie diese Kontingentlimits erreichen, wenden Sie sich bitte an den Firebase-Support, um das entsprechende Kontingent anpassen zu lassen.

Dienstleistung, Nutzung und Abrechnung überwachen

Sie können Anfragen, Fehler und Vorgangsraten sowohl global als auch pro Vorgang in der Firebase-Konsole überwachen.

Cloud SQL-Instanzen verwalten

Einschränkungen des kostenlosen Testzeitraums

Die folgenden Cloud SQL for PostgreSQL-Funktionen werden im 3-monatigen kostenlosen Testzeitraum nicht unterstützt:

  • PostgreSQL-Versionen außer 15.x
  • Verwendung vorhandener Cloud SQL for PostgreSQL-Instanzen
  • Andere Maschinenebene als db-f1-micro
  • Ressourcen Ihrer Instanz ändern, z. B. Speicher, Arbeitsspeicher, CPU
  • Lesereplikate
  • Private IP-Adresse der Instanz
  • Hochverfügbarkeit (mehrere Zonen); es werden nur Instanzen mit einer einzelnen Zone unterstützt
  • Enterprise Plus-Version
  • Automatische Sicherungen
  • Automatische Speichererweiterung

Cloud SQL-Instanzen verwalten

Im Allgemeinen können Sie Ihre Cloud SQL-Instanzen mit der Google Cloud-Konsole verwalten, um die folgenden Arbeitsabläufe auszuführen.

  • Cloud SQL-Instanzen beenden und neu starten
  • Cloud SQL-Datenbanken (innerhalb von Instanzen) erstellen und löschen
  • PostgreSQL-Datenbankinstanzen mit Flags starten und verschiedene Erweiterungen verwenden
  • Leistung mit Cloud SQL-Beobachtbarkeitsfunktionen in der Google Cloud-Konsole überwachen
  • Cloud SQL-Zugriff und ‑Sicherheit mit Funktionen wie IAM, Secret Manager, Datenverschlüsselung und Auth-Proxy verwalten
  • Cloud SQL-Nutzer hinzufügen, löschen und verwalten.

Weitere Informationen zu diesen und anderen Arbeitsabläufen finden Sie in der Cloud SQL for PostgreSQL-Dokumentation.

PostgreSQL-Nutzerrollen gewähren

Data Connect bietet Tools zur Verwaltung des Nutzerzugriffs, die dem Prinzip der geringsten Berechtigung folgen (jedem Nutzer oder Dienstkonto werden die minimal erforderlichen Berechtigungen für die benötigte Funktionalität gewährt) und auf der rollenbasierten Zugriffssteuerung (Role-Based Access Control, RBAC) basieren (mit vordefinierten Rollen zur Verwaltung von Datenbankberechtigungen, die die Sicherheitsverwaltung vereinfachen).

In einigen Fällen möchten Sie möglicherweise direkt über einen SQL-Client Ihrer Wahl eine Verbindung zur von Data Connect verwalteten Cloud SQL-Datenbank herstellen, z. B. über Cloud Run, Cloud Functions oder GKE.

Damit solche Verbindungen möglich sind, müssen Sie SQL-Berechtigungen erteilen. Das geht so:

  • Weisen Sie dem Nutzer oder Dienstkonto, das eine Verbindung zur Instanz herstellen muss, die IAM-Rolle roles/cloudsql.client entweder über die Google Cloud-Konsole oder mit der gcloud CLI zu.
  • Erforderliche PostgreSQL-Rolle mit der Firebase-Befehlszeile gewähren

Cloud SQL-IAM-Rolle zuweisen

Informationen zum Zuweisen der IAM-Rolle roles/cloudsql.client mit Cloud SQL for PostgreSQL finden Sie unter Rollen und Berechtigungen.

PostgreSQL-Rollen zuweisen

Mit der Firebase-Befehlszeile können Sie Nutzern oder Dienstkonten, die mit Ihrem Projekt verknüpft sind, mit dem Befehl firebase dataconnect:sql:grant vordefinierte PostgreSQL-Rollen zuweisen.

Wenn Sie beispielsweise die Rolle „Autor“ zuweisen möchten, führen Sie diesen Befehl in der CLI aus:

firebase dataconnect:sql:grant --role writer

Weitere Informationen finden Sie im Referenzhandbuch für die Befehlszeile.

Vorhandene Cloud SQL for PostgreSQL-Datenbanken einbinden

Beim Standardablauf für die Bereitstellung und Verwaltung von Datenbanken wird davon ausgegangen, dass in Ihrem Projekt neue Datenbanken (Greenfield) verwendet werden. Wenn Sie firebase deploy aufrufen, werden in Data Connect die vorzunehmenden Änderungen am Datenbankschema angezeigt und alle Migrationen werden nach Ihrer Genehmigung ausgeführt.

Bei vorhandenen (Brownfield-)Datenbanken haben Sie möglicherweise einen eigenen Workflow für die Verwaltung von Schemas und können die Data Connect-Tools für Migrationen nicht verwenden. Sie möchten Ihre Datenbank jedoch in einem Data Connect-Projekt verwenden, um die SDK-Generierung für Mobilgeräte und das Web, die abfragebasierte Autorisierung und die Verwaltung von Clientverbindungen zu nutzen.

In diesem Abschnitt finden Sie Informationen zum zweiten Fall: die Integration vorhandener Datenbanken in Data Connect.

Eine vorhandene Datenbank in ein Data Connect-Projekt einbinden

Der Workflow für die Integration einer vorhandenen Datenbank umfasst in der Regel die folgenden Schritte:

  1. Wählen Sie bei der Einrichtung des Data Connect-Projekts in der Firebase-Konsole die Instanz und die Datenbank aus.
  2. Führen Sie über die Firebase-Befehlszeile den Befehl firebase dataconnect:sql:setup aus und lehnen Sie die Option ab, Data Connect die Verarbeitung von SQL-Migrationen zu erlauben.

    Damit Änderungen an Ihrem Datenbankschema, die nicht durch Ihre benutzerdefinierten Tools vorgenommen werden, verhindert werden, weist der Befehl setup geeignete Leser- und Schreiberrollen, aber nicht die Rolle owner zu. Weitere Informationen zum Befehl setup und zu PostgreSQL-Rollen finden Sie im Referenzhandbuch für die Befehlszeile.

  3. Schreiben Sie ein Data Connect-GraphQL-Schema, das mit Ihrem Datenbankschema übereinstimmt.

    Sie können Ihr GraphQL-Schema, Ihre Abfragen und Ihre Mutationen nur bereitstellen, wenn Ihr GraphQL-Schema mit Ihrem PostgreSQL-Schema kompatibel ist.

    Um die Anpassung beider Schemas zu vereinfachen, stellen wir den Befehl firebase dataconnect:sql:diff zur Verfügung, der die erforderlichen SQL-Anweisungen für die Migration Ihrer Datenbank enthält. So können Sie Ihr GraphQL-Schema iterativ an Ihr vorhandenes Datenbankschema anpassen.

  4. Sie können Ihr GraphQL-Schema, Ihre Abfragen und Ihre Mutation in Ihrer lokalen Entwicklungsumgebung schnell durchlaufen. Wenn Sie zufrieden sind, können Sie mit firebase dataconnect:sql:diff die SQL-Migrationsanweisungen abrufen, die Sie mit Ihren benutzerdefinierten Tools und Abläufen auf PostgreSQL anwenden können.

  5. Alternativ können Sie auch zuerst Änderungen direkt an Ihrer PostgreSQL-Datenbank vornehmen und dann versuchen, sie in Ihr GraphQL-Schema zu übertragen. Wir empfehlen den GraphQL-First-Ansatz, da es Fälle geben kann, in denen Schemaänderungen nicht unterstützt werden. Wenn Sie außerdem Änderungen bereitstellen, die Ihr PostgreSQL-Schema mit bereitgestellten Connector-Abfragen oder ‑Mutationen inkompatibel machen, funktionieren diese Connectors möglicherweise nicht mehr oder verhalten sich nicht wie erwartet.