Datenbanken verwalten

Die GDC-Sandbox bietet den Datenbankdienst zum Testen und Verwalten von Datenbankclustern.

Datenbank erstellen

Informationen zum Erstellen und Verwalten eines Datenbankclusters finden Sie unter Datenbankcluster erstellen und verwalten.

Verfügbare Datenbankmodule

GDC Sandbox unterstützt nur PostgreSQL und AlloyDB.

Verwenden Sie entweder die GDC-Konsole oder die Distributed Cloud CLI, um Datenbankcluster zu erstellen:

Console

  1. Wählen Sie im Hauptmenü Database Service aus.
  2. Klicken Sie auf Datenbankcluster erstellen.
  3. Wählen Sie im Dialogfeld Datenbankmodul auswählen ein Datenbankmodul aus.

  4. Geben Sie im Dialogfeld Cluster konfigurieren die Cluster-ID, das Passwort und die Datenbankversion an. Sie können Sicherungen aktivieren und den Aufbewahrungszeitraum für Sicherungen konfigurieren.

  5. Geben Sie im Dialogfeld Primäre Instanz konfigurieren die CPU-, Arbeitsspeicher- und Speicherkapazität der primären Instanz des Datenbankclusters an. Wir empfehlen, genügend Arbeitsspeicher für Ihre größte Tabelle auszuwählen.

  6. Klicken Sie auf Erstellen. Das Erstellen des Datenbankclusters kann einige Minuten dauern. Prüfen Sie den Status des Clusters auf der Seite Clusterübersicht. Der Status ändert sich von Wird erstellt zu Bereit, wenn der Cluster bereit ist.

gdcloud

  1. Bevor Sie die Distributed Cloud CLI verwenden, müssen Sie sie installieren und initialisieren. Authentifizieren Sie sich dann bei Ihrer Organisation.

  2. Führen Sie den folgenden Befehl aus, um einen Datenbankcluster zu erstellen:

    gdcloud database clusters create CLUSTER_NAME \
        --database-version DB_VERSION \
        --admin-password ADMIN_PASSWORD
    

    Ersetzen Sie die folgenden Variablen:

    • CLUSTER_NAME durch den Namen des neuen Clusters.
    • Ersetzen Sie DB_VERSION durch den Versionsstring für den neuen Cluster. Beispiel: POSTGRESQL_13 oder ALLOYDBOMNI_15
    • ADMIN_PASSWORD durch das Administratorpasswort für den neuen Cluster.
  3. Weitere Informationen zum Konfigurieren der CPU-, Arbeitsspeicher- und Speicherressourcen für den Datenbankcluster, zum Konfigurieren von Back-ups, zum Aktivieren von Hochverfügbarkeit und zu anderen verfügbaren Optionen erhalten Sie mit folgendem Befehl:

    gdcloud database clusters create --help
    

API

  1. Erstellen Sie eine Datei db-cluster-create.yaml mit folgendem Inhalt:

    apiVersion: v1
    kind: Secret
    metadata:
      name: db-pw-DBCLUSTER_NAME
      namespace: USER_PROJECT
    type: Opaque
    data:
      DBCLUSTER_NAME: "BASE64_PASSWORD"
    ---
    apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
    kind: DBCluster
    metadata:
      name: DBCLUSTER_NAME
      namespace: USER_PROJECT
    spec:
      primarySpec:
        adminUser:
          passwordRef:
            name: db-pw-DBCLUSTER_NAME
        version: "DB_VERSION"
        resources:
          memory: DB_MEMORY
          cpu: DB_CPU
          disks:
          - name: DataDisk
            size: DB_DATA_DISK
    

    Ersetzen Sie die folgenden Variablen:

    • DBCLUSTER_NAME: Der Name des Datenbankclusters.
    • USER_PROJECT: Der Name des Nutzerprojekts, in dem der Datenbankcluster erstellt wird.
    • BASE64_PASSWORD, die Base64-Codierung des Administratorpassworts der Datenbank.
    • DBENGINE_NAME: der Name der Datenbank-Engine. Dies ist entweder alloydbomni oder postgresql.
    • DB_VERSION, die Version des Datenbankmoduls.
    • DB_MEMORY: Die dem Datenbankcluster zugewiesene Speichermenge, z. B. 5Gi.
    • DB_CPU: Die Anzahl der CPUs, die dem Datenbankcluster zugewiesen sind, z. B. 2.
    • DB_DATA_DISK: Die Menge an Speicherplatz, die dem Datenbankcluster zugewiesen ist, z. B. 10 Gi.
  2. kubectl --kubeconfig MANAGEMENT_API apply -f db-cluster-create.yaml
    

Verbindung zur Datenbank herstellen

Standardmäßig ist eine Verbindung zu einem Datenbankcluster nur innerhalb des Nutzerclusters und desselben Projekts möglich.

Informationen zum Aktivieren von Verbindungen zu allen Datenbankclustern in Ihrem Projekt aus einem anderen Projekt finden Sie unter Projektübergreifende Verbindungen aktivieren.

Wenn Sie von IP-Adressen außerhalb Ihrer GDC Sandbox-Organisation eine Verbindung zur Datenbank herstellen möchten, folgen Sie der Anleitung unter Verbindung zu einem Datenbankcluster herstellen, um die externen Verbindungen zu aktivieren.

Sie können sshuttle verwenden, um mit einem lokalen Datenbankclient wie psql eine Verbindung zu Ihrer Datenbank herzustellen:

  1. Rufen Sie auf der Seite Database Service für den Datenbankcluster den Abschnitt Connectivity (Verbindung) auf. Diese Seite enthält:

    • Das Passwort des Administratorkontos (der Nutzername ist dbsadmin)
    • Hostname und Portnummer des primären Endpunkts des Datenbankclusters
    • Ein psql-Befehl zum Herstellen einer Verbindung zum Cluster (für PostgreSQL- und AlloyDB Omni-Datenbankcluster)
    • Ein Link zum Herunterladen des Zertifikats der Zertifizierungsstelle (Certificate Authority, CA) des Datenbankclusters
  2. Laden Sie das CA-Zertifikat aus der GDC-Konsole im Abschnitt Connectivity (Konnektivität) der Seite Database Service (Datenbankdienst) für Ihren Datenbankcluster herunter.

  3. Konfigurieren Sie Ihren Client so, dass das CA-Zertifikat zum Überprüfen der Datenbank verwendet wird. Legen Sie für psql-Clients die Umgebungsvariable PGSSLROOTCERT auf den Pfad der Zertifikatsdatei und die Umgebungsvariable PGSSLMODE auf den gewünschten Wert fest:

        export PGSSLROOTCERT=path/to/accounts_cert.pem
        export PGSSLMODE="verify-full"
    
  4. Sicheren Tunnel initiieren Wenn Sie eine laufende Instanz von sshuttle haben, wie unter Verbindung zur Instanz herstellen beschrieben, beenden Sie diesen Prozess.

        sshuttle -r zone1-org-1-data@GDC_SANDBOX_INSTANCE_NAME --no-latency-control \
        --ssh-cmd 'gcloud compute ssh --project PROJECT_NAME --zone ZONE --tunnel-through-iap' \
        10.200.0.0/16 --dns
    

    Ersetzen Sie Folgendes durch die Werte, die Sie vom GDC Sandbox-Team erhalten haben:

    • GDC_SANDBOX_INSTANCE_NAME: der Name Ihrer GDC Sandbox-Instanz.
    • PROJECT_NAME: Das Projekt, das Ihre GDC-Sandbox-Umgebung enthält.
    • ZONE: die Zone mit Ihrer GDC Sandbox-Umgebung.
  5. Führen Sie den Befehl mit psql in einem anderen Terminal aus, während der Tunnel aktiv ist.

        PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p PORT -U USERNAME -d postgres
    

    Ersetzen Sie die folgenden Variablen:

    • DB_PASSWORD: Das Passwort aus der Konsolen-UI.
    • DB_HOSTNAME: Der Datenbankhostname aus der Konsole.
    • DB_PORT: die Datenbankportnummer aus der Konsole.
    • DB_USERNAME: Der Datenbanknutzername aus der Konsole.