Beheben von Problemen in der Verbindung mit Azure Cosmos DB for PostgreSQL

GILT FÜR: Azure Cosmos DB for PostgreSQL (unterstützt von der Citus-Datenbankerweiterung auf PostgreSQL)

Verbindungsprobleme können verschiedene Ursachen haben. Beispiele:

  • Firewalleinstellungen
  • Verbindungstimeout
  • Falsche Anmeldeinformationen
  • Verbindungslimit für den Cluster erreicht
  • Probleme mit der Infrastruktur des Diensts
  • Dienstwartung
  • Failover des Koordinatorknotens auf neue Hardware

Im Allgemeinen können Probleme in der Verbindung mit Azure Database for PostgreSQL wie folgt klassifiziert werden:

  • Vorübergehende Fehler (kurzlebige oder zeitweilige Fehler)
  • Dauerhafte oder nicht vorübergehende Fehler (Fehler, die sich regelmäßig wiederholen)

Problembehandlung bei vorübergehenden Fehlern

Vorübergehende Fehler treten aus verschiedenen Gründen auf. Am häufigsten sind Systemwartung, Hardware- oder Softwarefehler oder Upgrades der V-Kerne des Koordinatorknotens.

Durch Aktivieren der Hochverfügbarkeit für Clusterknoten können derartige Probleme automatisch gemindert werden. Die Anwendung sollte dennoch auf kurzfristige Verbindungsunterbrechungen vorbereitet sein. Das Mindern anderer Ereignisse kann gelegentlich länger dauern, z. B. wenn eine große Transaktion eine lang andauernde Wiederherstellung auslöst.

Schritte zum Beheben vorübergehender Verbindungsprobleme

  1. Überprüfen Sie das Microsoft Azure-Dienstdashboard auf alle bekannten Ausfälle, die während des Zeitraums aufgetreten sind, während dessen die Anwendung Fehler gemeldet hat.
  2. Anwendungen, die mit einem Clouddienst wie Azure Cosmos DB for PostgreSQL verbunden sind, sollten auf vorübergehende Fehler eingestellt sein und ordnungsgemäß reagieren. Anwendungen sollten beispielsweise eine Wiederholungslogik zum Behandeln dieser Fehler implementieren, anstatt sie als Anwendungsfehler an die Benutzer auszugeben.
  3. Wenn sich der Cluster ihren Ressourcenlimits nähert, kann dies wie ein vorübergehendes Verbindungsproblem aussehen. Hier können das Vergrößern des Arbeitsspeichers der Knoten oder das Hinzufügen von Workerknoten und das Ausgleichen von Daten hilfreich sein.
  4. Wenn weiterhin Verbindungsprobleme auftreten, diese länger als 60 Sekunden vorliegen oder pro Tag mehrmals auftreten, senden Sie eine Azure-Supportanfrage, indem Sie auf der Azure-Support-Website die Option Support anfordern auswählen.

Problembehandlung bei dauerhaften Fehlern

Wenn die Anwendung dauerhaft keine Verbindung mit Azure Cosmos DB for PostgreSQL herstellen kann, sind die häufigsten Ursachen eine falsche Firewallkonfiguration oder Benutzerfehler.

  • Firewallkonfiguration für Koordinatorknoten: Stellen Sie sicher, dass die Serverfirewall so konfiguriert ist, dass Verbindungen von Ihrem Client zulässig sind, einschließlich Proxyserver und Gateways.
  • Konfiguration der Clientfirewall: Die Firewall auf dem Client muss Verbindungen mit Ihrem Datenbankserver zulassen. Für einige Firewalls müssen Anwendungen nicht allein nach Namen zugelassen werden, sondern es müssen auch die IP-Adressen und Ports des Servers zugelassen werden.
  • Benutzerfehler: Überprüfen Sie die Verbindungszeichenfolge. Möglicherweise verfügen Sie über falsch eingegebene Parameter wie den Servernamen. Sie können Verbindungszeichenfolgen für verschiedene Sprachframeworks und psql im Azure-Portal finden. Wechseln Sie zur Seite Verbindungszeichenfolgen in Ihrem Cluster. Beachten Sie außerdem, dass Cluster nur eine Datenbank aufweisen und der vordefinierte Name citus ist.

Schritte zum Beheben dauerhafter Verbindungsprobleme

  1. Richten Sie Firewallregeln so ein, dass die IP-Adresse des Clients zugelassen wird. Richten Sie nur zu Testzwecken vorübergehend eine Firewallregel mit 0.0.0.0 als erster IP-Adresse und 255.255.255.255 als letzter IP-Adresse fest. Durch diese Regel wird der Server für alle IP-Adressen geöffnet. Wird Ihr Konnektivitätsproblem durch die Regel behoben, entfernen Sie sie, und erstellen Sie eine Firewallregel für eine entsprechend eingeschränkte IP-Adresse bzw. einen entsprechend eingeschränkten IP-Adressbereich.
  2. Stellen Sie für alle Firewalls zwischen Client und Internet sicher, dass Port 5432 für ausgehende Verbindungen geöffnet ist (sowie Port 6432, wenn Verbindungspooling verwendet wird).
  3. Überprüfen Sie die Verbindungszeichenfolge und andere Verbindungseinstellungen.
  4. Überprüfen Sie im Dashboard den Dienststatus.

Nächste Schritte