Verbindungsübersicht

Auf dieser Seite wird die Konnektivität zu Datenbanken beschrieben, die von AlloyDB for PostgreSQL bereitgestellt werden. Weitere Informationen finden Sie unter Verbindung zu AlloyDB herstellen.

  • Netzwerk:AlloyDB-Instanzen verwenden öffentliche oder private IP-Adressen in einer Virtual Private Cloud (VPC). Es gibt verschiedene Techniken, um sichere Verbindungen von Anwendungen herzustellen, die außerhalb der VPC ausgeführt werden.

  • Autorisierung:Mit dem AlloyDB Auth Proxy können Sie Identity and Access Management (IAM) verwenden, um zu steuern, wer Zugriff auf Ihre Daten hat. Mit der Firewall Ihrer VPC können Sie den Zugriff auf AlloyDB-Ressourcen weiter optimieren.

  • Authentifizierung:Verwenden Sie Standardverfahren zur PostgreSQL-Nutzerauthentifizierung, um sich in Ihren Instanzen anzumelden. AlloyDB unterstützt auch die IAM-basierte Authentifizierung mit Standard-PostgreSQL-Nutzerrollen.

  • Pooling:Verwenden Sie standardmäßiges clientseitiges PostgreSQL-Verbindungs-Pooling und serverseitiges verwaltetes Verbindungs-Pooling, um Zuverlässigkeit, Leistung und Skalierbarkeit zu verbessern.

Netzwerk

Auch wenn eine AlloyDB-Instanz viele Knoten enthält, stellen Ihre Anwendungen über eine einzelne statische IP-Adresse eine Verbindung zu einer Instanz her. Diese Adresse kann entweder eine private IP-Adresse für die VPC sein, die Sie beim ersten Einrichten des Clusters einer Instanz angeben, oder eine öffentliche IP-Adresse, die direkte Verbindungen von außerhalb der VPC ermöglicht.

Private IP-Adresse

Wenn Sie AlloyDB mit einer privaten IP-Adresse konfigurieren, erhält Ihre Instanz eine private IP-Adresse in Ihrer VPC.

Private IP-Adressen wirken sich auf zwei Arten auf Verbindungen zu Ihrer Anwendung aus:

  • Anwendungen, die an anderer Stelle in der VPC Ihres Projekts ausgeführt werden, können ohne zusätzliche Schritte oder Ressourcen eine Verbindung zur Instanz oder zu einem Proxy herstellen, der die Instanz repräsentiert.

    Im Beispiel unter psql-Client mit einer Instanz verbinden wird gezeigt, wie Sie eine Verbindung zu Ihrer AlloyDB-Instanz herstellen, indem Sie das psql-Befehlszeilenprogramm auf einer Compute Engine-VM in Ihrer VPC ausführen.

  • Für Anwendungen, die außerhalb der VPC ausgeführt werden, ist ein Vermittlungsdienst erforderlich, um eine Verbindung zur AlloyDB-Instanz herzustellen. Mögliche Lösungen sind das Ausführen von Proxydiensten auf einer VM in der VPC der Instanz oder die Verwendung andererGoogle Cloud -Produkte, um eine permanente Verbindung zwischen Ihrer Anwendung und Ihrer VPC herzustellen.

    Weitere Informationen finden Sie unter Verbindung zu einem Cluster von außerhalb seiner VPC herstellen.

Verbindungen über private IP-Adressen bieten in der Regel eine geringere Latenz und eingeschränkte Angriffsvektoren, da sie keine Übertragung über das Internet erfordern.

Weitere Informationen zu privaten IP-Adressen in AlloyDB finden Sie unter Übersicht über private IP-Adressen.

Öffentliche IP-Adresse

Wenn Sie AlloyDB mit einer öffentlichen IP-Adresse konfigurieren, erhält Ihre Instanz eine öffentliche IP-Adresse für eingehende Verbindungen, die über das öffentliche Internet zugänglich ist. Optional können Sie autorisierte externe Netzwerke verwenden, um einen Bereich von IP-Adressen im CIDR-Format anzugeben, die auf Ihre Instanz zugreifen können.

Wir empfehlen, öffentliche IP-Adressen mit AlloyDB-Sprach-Connectors zu verwenden, um sichere Verbindungen zwischen dem Client und Ihrer Instanz zu gewährleisten.

Weitere Informationen zum Hinzufügen einer öffentlichen IP-Adresse und autorisierter externer Netzwerke zu Ihrer Instanz finden Sie unter Verbindung über öffentliche IP-Adresse herstellen.

AlloyDB unterstützt auch ausgehende Verbindungen zu Ihrer Instanz. Sie können die ausgehende öffentliche IP-Adresse aktivieren, um eine Datenbank mit Database Migration Service oder selbstverwalteten pglogical-Einrichtungen direkt von einer externen Quelle in AlloyDB zu migrieren. AlloyDB unterstützt auch die Verbindung zu einer externen Datenquelle über Foreign Data Wrappers wie postgres_fdw oder oracle_fdw.

Weitere Informationen zum Aktivieren der öffentlichen IP-Adresse für ausgehenden Traffic finden Sie unter Ausgehende Verbindungen zu einer Instanz hinzufügen.

Autorisierung

Sie können den Zugriff auf einen AlloyDB-Cluster mit AlloyDB-Sprach-Connectors, dem AlloyDB-Auth-Proxy oder mit VPC-Firewallregeln steuern.

AlloyDB Language Connectors

AlloyDB Language Connectors sind Clientbibliotheken, die beim Herstellen einer Verbindung zu einem AlloyDB-Cluster automatisiertes mTLS mit TLS 1.3 und IAM-Autorisierung ermöglichen.

Sie können diese Bibliotheken direkt in ihrer jeweiligen Programmiersprache verwenden. Sie bieten die gleichen Funktionen wie der AlloyDB-Proxy, ohne dass ein externer Prozess erforderlich ist. Dies bietet eine höhere Sicherheit und geringere Konfigurationsanforderungen für die Verbindung mit AlloyDB.

Weitere Informationen finden Sie unter AlloyDB Language Connectors – Übersicht.

Zugriff mit IAM und dem AlloyDB Auth-Proxy steuern

Sie können zwar direkt über die IP-Adresse eine Verbindung zu einer Instanz herstellen, wir empfehlen jedoch, in Produktionsumgebungen den AlloyDB-Auth-Proxy zu verwenden. Sie bietet IAM-basierte Zugriffssteuerung und Ende-zu-Ende-Verschlüsselung zwischen dem Proxy und Ihrem Cluster.

Weitere Informationen finden Sie unter Informationen zum AlloyDB Auth-Proxy.

VPC-Zugriff mit Firewallregeln einschränken

Wie bei jedem cloudbasierten Projekt sollten Sie die Firewallregeln Ihrer VPC so anpassen, dass der Netzwerkzugriff nur auf die IP-Bereiche oder Subnetzwerke beschränkt wird, von denen aus Ihre Anwendungen eine Verbindung herstellen. Das ist besonders wichtig bei externen Anwendungen, wie unter Verbindung zu einem Cluster von außerhalb seiner VPC herstellen beschrieben.

Weitere Informationen zum Konfigurieren der Firewall Ihrer VPC finden Sie unter VPC-Firewallregeln.

Authentifizierung

AlloyDB unterstützt zwei Arten von Datenbanknutzern, die sich jeweils auf unterschiedliche Weise bei Ihren Datenbanken authentifizieren:

  • Standard-PostgreSQL-Nutzerrollen werden mit einem Nutzernamen und einem Passwort authentifiziert. Sie verwalten diese Konten mit den üblichen PostgreSQL-Techniken zur Nutzerverwaltung. Weitere Informationen finden Sie unter AlloyDB-Nutzerrollen verwalten.

  • IAM-Nutzer- und Dienstkonten werden als Datenbanknutzer mit OAuth 2.0-Tokens authentifiziert. Sie verwalten diese Konten mit demGoogle Cloud IAM-System. Weitere Informationen finden Sie unter IAM-Authentifizierung verwalten.

Nach der Authentifizierung bei einer AlloyDB-Instanz kann eine Anwendung die Instanz wie einen normalen PostgreSQL-Server behandeln. Nachdem Sie Netzwerk- und Autorisierungsrouten zu einer Instanz eingerichtet haben, können Sie sich mit Standard-PostgreSQL-Techniken in einer Instanz anmelden und auf Ihre Daten zugreifen. Das gilt sowohl für die manuelle Anmeldung mit einem Tool wie psql als auch für die programmatische Verbindung zu Ihrer Datenbank über eine PostgreSQL-Codebibliothek.

Normalerweise melden Sie sich bei der ersten Authentifizierung mit einem neuen AlloyDB-Cluster als postgres-Nutzer in der primären Instanz an. Dazu verwenden Sie das Passwort, das Sie beim Erstellen des Clusters angegeben haben. Dort sollten Sie Datenbanknutzer ohne Administratorberechtigungen für die Verwendung durch Ihre Anwendung erstellen.

Wenn Sie beim Erstellen eines Clusters kein Passwort für postgres festlegen, können Sie sich nicht im Cluster anmelden. Um sich anzumelden, legen Sie entweder ein Passwort für postgres fest oder erstellen Sie einen zusätzlichen Nutzer. Weitere Informationen finden Sie unter PostgreSQL-Nutzer mit integrierter Authentifizierung verwalten.

Pooling

Verbindungspooling ist eine Technik, mit der Sie dafür sorgen können, dass Ihre Arbeitslast eine zuverlässige und leistungsstarke Verbindung zu Ihrer Datenbank hat. Sie ist sowohl auf Client- als auch auf Serverseite nützlich.

Client Connection Pooling

Wenn Sie eine Verbindung zu AlloyDB herstellen, verwenden Sie einen Clientverbindungs-Pool. Der Clientverbindungspool stellt mehrere Verbindungen zu Ihrer Datenbank her und sorgt dafür, dass diese Verbindungen während der gesamten Lebensdauer Ihrer Arbeitslast aktiv und fehlerfrei bleiben. So wird sichergestellt, dass Ihre Arbeitslast eine zuverlässige Verbindung zu Ihrer Datenbank hat.

  • Wenn Sie Abfragen manuell über die Befehlszeile ausführen.
  • Wenn Sie eine Sprache verwenden, die kein Clientverbindungs-Pooling unterstützt.
  • Wenn die Arbeitslast kurzlebig ist und keine langlebige Verbindung aufrechterhält.

Sie können einen beliebigen Standard-Clientverbindungspool verwenden, der PostgreSQL unterstützt. Beachten Sie dabei Folgendes:

  • Die Clientverbindungspool-Bibliothek ist manchmal vom PostgreSQL-Treiber getrennt.
  • Der PostgreSQL-Treiber enthält manchmal Funktionen für das Client-Verbindungspooling in derselben Bibliothek.

Im Folgenden sind häufig verwendete Bibliotheken für Verbindungs-Pools aufgeführt:

Wenn die Bibliothek PostgreSQL unterstützt, können Sie sie mit AlloyDB verwenden.

Clientverbindungspools konfigurieren

Damit Sie die bestmögliche Leistung aus Ihrem Clientverbindungspool herausholen können, müssen Sie möglicherweise die Poolgröße konfigurieren. Verwenden Sie die folgende Formel als Ausgangspunkt:

connections = (vCPU count * 2) + 1

Weitere Informationen finden Sie unter Poolgröße. Je nach den tatsächlichen Lasten müssen Sie möglicherweise zusätzliche Anpassungen vornehmen.

Verwaltetes Verbindungs-Pooling verwenden

Zusätzlich zum Client-Verbindungs-Pooling unterstützt AlloyDB auch serverseitiges Verbindungs-Pooling mit verwaltetem Verbindungs-Pooling.

Sie können verwaltetes Verbindungs-Pooling für jede transaktionale Arbeitslast verwenden. Es eignet sich jedoch am besten für Anwendungen mit vielen kurzlebigen Verbindungen oder für Anwendungen, bei denen es zu einem plötzlichen Anstieg der Verbindungen kommen kann. Weitere Informationen finden Sie unter Verwaltetes Verbindungs-Pooling konfigurieren.

Nächste Schritte