Verbindung zu einem Datenbankcluster herstellen

Standardmäßig ist für einen Datenbankcluster nur eine Verbindung aus dem Nutzercluster und demselben Projekt möglich.

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

Informationen zum Aktivieren von Verbindungen zu einem Datenbankcluster von IP-Adressen außerhalb Ihrer GDC-Organisation finden Sie unter Externe Verbindungen aktivieren.

Melden Sie sich in der GDC-Konsole mit einem Konto an, das an die Rolle project-db-admin gebunden ist, um die folgenden Informationen zum Herstellen einer Verbindung zu Ihrem Datenbankcluster zu finden. Diese Informationen finden Sie auf der Seite Database Service im Abschnitt Connectivity (Verbindung).

Diese Schritte enthalten ein Beispiel für die Verbindung zur Datenbank mit psql. Die genauen Schritte hängen von der Clientsoftware ab, die Sie auswählen.

Console

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

    • Das Passwort des Administratorkontos (der Nutzername ist dbsadmin)
    • Hostname und Portnummer des primären Endpunkts des Datenbankclusters
    • Gibt an, ob der Datenbankcluster externe Verbindungen von außerhalb der Organisation zulässt.
    • Ein psql-Befehl zum Herstellen einer Verbindung zum Cluster (für PostgreSQL- und AlloyDB Omni-Datenbankcluster)
    • Ein String für die Verbindung zum Cluster mit Java Database Connectivity (JDBC) (für Oracle-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) auf 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 Ihre bevorzugte Einstellung fest:

    export PGSSLROOTCERT=path/to/accounts_cert.pem
    export PGSSLMODE="verify-full"
    
  4. Stellen Sie über Ihre Clientsoftware eine Verbindung zur Datenbank her. Wenn Sie psql verwenden, führen Sie den folgenden Befehl aus:

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

Ersetzen Sie die folgenden Variablen:

  • path/to/: der Pfad zum accounts_cert.pem-Zertifikat.
  • DB_PASSWORD: Das Passwort aus der Konsole.
  • DB_HOSTNAME: Der Datenbankhostname aus der Konsole.
  • DB_PORT: die Datenbankportnummer aus der Konsole.
  • DB_USERNAME: Der Datenbanknutzername aus der Konsole.

API

  1. Rufen Sie den Datenbankendpunkt aus dem Status des Datenbankclusters ab:

    kubectl get dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME -n USER_PROJECT -o=jsonpath='{.status.primary.url}'
    
  2. Laden Sie das CA-Zertifikat aus dem Kubernetes-Secret herunter:

    kubectl get secret dbs-certificates -n USER_PROJECT -o json | jq -r '.data."dbs-DBENGINE_SHORT_NAME-cert-DBCLUSTER_NAME"' | base64 -d > path/to/ca.crt
    
  3. Konfigurieren Sie Ihren Client so, dass das CA-Zertifikat zum Überprüfen der Datenbank verwendet wird. Bei psql-Clients können Sie die Umgebungsvariable PGSSLROOTCERT auf den Pfad der Zertifikatsdatei und die Umgebungsvariable PGSSLMODE auf Ihre bevorzugte Einstellung festlegen:

    export PGSSLROOTCERT=path/to/accounts_cert.pem
    export PGSSLMODE="verify-full"
    
  4. Stellen Sie über Ihre Clientsoftware eine Verbindung zur Datenbank her. Wenn Sie psql verwenden, führen Sie den folgenden Befehl aus:

    PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p DB_PORT -U DB_USERNAME -d postgres
    

Ersetzen Sie die folgenden Variablen:

  • DBENGINE_NAME: der Name der Datenbank-Engine. Das ist eine der folgenden Optionen: alloydbomni, postgresql oder oracle.
  • USER_PROJECT: Der Name des Nutzerprojekts, in dem der Datenbankcluster erstellt wurde.
  • DBENGINE_SHORT_NAME: der abgekürzte Name der Datenbank-Engine. Dies ist eine von al (AlloyDB Omni), pg (PostgreSQL) oder ora (Oracle).
  • DBCLUSTER_NAME: der Name des Datenbankclusters.
  • path/to/: der Pfad zum CA-Zertifikat der Datenbank.
  • DB_PASSWORD: Datenbankpasswort für den Administratornutzer.
  • DB_HOSTNAME: der Hostname aus dem Status des Datenbankclusters.
  • DB_PORT: die Datenbankportnummer aus dem Status des Datenbankclusters.
  • DB_USERNAME: mit dem Datenbanknutzernamen (Standard ist dbsadmin).