Freigeben über


Netzwerkübersicht für Azure Database for PostgreSQL - Flexible Server mit öffentlichem Zugriff (erlaubte IP-Adressen)

GILT FÜR: Azure Database for PostgreSQL – Flexibler Server

In diesem Artikel werden die Konnektivitäts- und Netzwerkkonzepte für Azure Database for PostgreSQL – Flexible Server beschrieben.

Wenn Sie eine einen flexiblen Server für Azure Database for PostgreSQL erstellen, müssen Sie eine der folgenden Netzwerkoptionen auswählen:

  • Privater Zugriff (VNet-Integration)
  • Öffentlicher Zugriff (zulässige IP-Adressen) und privater Endpunkt

Die folgenden Eigenschaften gelten unabhängig davon, ob Sie den privaten oder den öffentlichen Zugriff wählen:

  • Verbindungen ausgehend von zulässigen IP-Adressen müssen bei Azure Database for PostgreSQL – Flexible Server mit gültigen Anmeldeinformationen authentifiziert werden.
  • Für den Netzwerkdatenverkehr wird die Verbindungsverschlüsselung erzwungen.
  • Der Server verfügt über einen vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN). Für die hostname-Eigenschaft in Verbindungszeichenfolgen wird empfohlen, den FQDN anstelle einer IP-Adresse zu verwenden.
  • Über beide Optionen wird der Zugriff auf Serverebene, nicht auf Datenbank- oder auf Tabellenebene gesteuert. Sie steuern den Zugriff auf Datenbanken, Tabellen und andere Objekte mithilfe der Rolleneigenschaften in PostgreSQL.

Hinweis

Da Azure Database for PostgreSQL – Flexible Server ein verwalteter Datenbankdienst ist, erhalten Benutzende keinen Host- oder Betriebssystemzugriff, um Konfigurationsdateien wie pg_hba.conf anzuzeigen oder zu ändern. Der Inhalt der Dateien wird abhängig von den Netzwerkeinstellungen automatisch aktualisiert.

Verwenden von Netzwerken mit öffentlichem Zugriff mit Azure Database for PostgreSQL – Flexible Server

Wenn Sie sich für die Methode mit öffentlichem Zugriff entscheiden, erfolgt der Zugriff auf Azure Database for PostgreSQL – Flexible Server über einen öffentlichen Endpunkt über das Internet. Der öffentliche Endpunkt ist eine öffentlich auflösbare DNS-Adresse. Der Ausdruck zulässige IP-Adressen bezieht sich auf einen Bereich von IP-Adressen, denen Sie die Berechtigung erteilen, auf den Server zuzugreifen. Diese Berechtigungen heißen Firewallregeln.

Diese Netzwerkoption bietet sich an, wenn Sie die folgenden Funktionen benötigen:

  • Herstellen einer Verbindung von Azure-Ressourcen aus, die keine virtuellen Netzwerke unterstützen
  • Stellen Sie eine Verbindung von Azure-externen Ressourcen her, die nicht über VPN oder Azure ExpressRoute verbunden sind.
  • Stellen Sie sicher, dass Azure Database for PostgreSQL – Flexible Server einen öffentlichen Endpunkt aufweist, auf den über das Internet zugegriffen werden kann.

Die öffentliche Zugriffsmethode weist u. a. folgende Eigenschaften auf:

  • Nur die von Ihnen zugelassenen IP-Adressen dürfen auf Azure Database for PostgreSQL – Flexible Server zugreifen. Standardmäßig sind keine IP-Adressen zugelassen. Sie können IP-Adressen während oder nach der Servererstellung hinzufügen.
  • Azure Database for PostgreSQL – Flexible Server verfügt über einen öffentlich auflösbaren DNS-Namen.
  • Azure Database for PostgreSQL – Flexible Server befindet sich nicht in einem Ihrer virtuellen Azure-Netzwerke.
  • Der Netzwerkdatenverkehr zu und von Ihrem Server erfolgt nicht über ein privates Netzwerk. Der Datenverkehr verwendet die allgemeinen Internetpfade.

Firewallregeln

Firewallregeln auf Serverebene gelten für alle Datenbanken in der gleichen Instanz von Azure Database for PostgreSQL – Flexible Server. Liegt die IP-Quelladresse der Anforderung innerhalb eines der in den Firewallregeln auf Serverebene angegebenen Bereiche, wird die Verbindung gewährt. Andernfalls wird sie abgelehnt. Wenn Ihre Anwendung beispielsweise eine Verbindung mit dem JDBC-Treiber für PostgreSQL herstellt, kann bei dem Versuch eines Verbindungsaufbaus möglicherweise dieser Fehler auftreten, wenn die Verbindung durch die Firewall blockiert wird.

java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "123.45.67.890", user "adminuser", database "postgresql", SSL

Hinweis

Wenn Sie von Ihrem lokalen Computer auf Azure Database for PostgreSQL – Flexible Server zugreifen möchten, stellen Sie sicher, dass die Firewall in Ihrem Netzwerk und auf Ihrem lokalen Computer ausgehende Kommunikation am TCP-Port 5432 zulässt.

Programmgesteuert verwaltete Firewallregeln

Neben der Verwendung des Azure-Portals können Sie Firewall-Regeln auch programmgesteuert über die Azure CLI verwalten. Weitere Informationen finden Sie unter Erstellen und Verwalten von Firewallregeln für Azure Database for PostgreSQL – Flexible Server mithilfe der Azure CLI.

Zulassen aller Azure-IP-Adressen

Es wird empfohlen, die IP-Adresse für ausgehenden Datenverkehr einer beliebigen Anwendung oder eines Diensts zu ermitteln und den Zugriff auf die einzelnen IP-Adressen oder -Bereiche explizit zuzulassen. Wenn eine feste IP-Adresse für ausgehenden Datenverkehr für Ihren Azure-Dienst nicht verfügbar ist, können Sie die Aktivierung von Verbindungen von allen IP-Adressen in Azure-Rechenzentren in Erwägung ziehen.

Um diese Einstellung im Azure-Portal zu aktivieren, aktivieren Sie im Bereich Netzwerk das Kontrollkästchen Öffentlichen Zugriff auf diesen Server über beliebigen Azure-Dienst in Azure gestatten, und wählen Sie dann Speichern aus.

Wichtig

Die Option Allow public access from Azure services and resources within Azure (Öffentlichen Zugriff von Azure-Diensten und -Ressourcen aus gestatten) konfiguriert die Firewall so, dass alle von Azure ausgehenden Verbindungen zugelassen werden, einschließlich der Verbindungen aus Abonnements anderer Kunden. Stellen Sie bei Verwendung dieser Option sicher, dass Ihre Anmelde- und Benutzerberechtigungen den Zugriff auf autorisierte Benutzer beschränken.

Behandeln von Problemen mit dem öffentlichen Zugriff

Wenn der Zugriff auf Azure Database for PostgreSQL – Flexible Server nicht das erwartete Verhalten aufweist, sind folgende Ursachen möglich:

  • Änderungen an der Positivliste sind noch nicht wirksam. Änderungen an der Firewallkonfiguration von Azure Database for PostgreSQL – Flexible Server werden möglicherweise erst nach fünf Minuten wirksam.

  • Fehler bei der Authentifizierung: Wenn Benutzende nicht über Berechtigungen für Azure Database for PostgreSQL – Flexible Server verfügen oder das Kennwort falsch ist, wird die Verbindung mit Azure DB for PostgreSQL – Flexible Server verweigert. Durch das Erstellen einer Firewalleinstellung wird Clients lediglich die Möglichkeit gegeben, einen Verbindungsversuch zum Server zu unternehmen. Jeder Client muss weiterhin die erforderlichen Sicherheitsanmeldeinformationen bereitstellen.

  • Die dynamische Client-IP-Adresse verhindert den Zugriff: Wenn Sie über eine Internetverbindung mit dynamischer IP-Adresszuweisung verfügen und Probleme beim Passieren der Firewall auftreten, probieren Sie eine der folgenden Lösungen aus:

    • Fragen Sie Ihren Internetdienstanbieter (ISP) nach dem IP-Adressbereich, der den Clientcomputern zugewiesen ist, mit denen auf Azure Database for PostgreSQL – Flexible Server zugegriffen wird. Fügen Sie dann den IP-Adressbereich als Firewallregel hinzu.
    • Verwenden Sie für Ihre Clientcomputer stattdessen eine statische IP-Adressierung. Fügen Sie dann die statische IP-Adresse als Firewallregel hinzu.
  • Firewallregel ist für das IPv6-Format nicht verfügbar. Firewallregeln müssen das IPv4-Format aufweisen. Wenn Sie Firewallregeln im IPv6-Format angeben, wird ein Validierungsfehler angezeigt.

Hostname

Unabhängig von Ihrer gewählten Netzwerkoption empfiehlt es sich, beim Herstellen einer Verbindung mit Azure Database for PostgreSQL – Flexible Server immer einen FQDN als Hostnamen zu verwenden. Es ist nicht gewährleistet, dass die IP-Adresse des Servers statisch bleibt. Mithilfe des FQDN können Sie verhindern, dass Änderungen an der Verbindungszeichenfolge vorgenommen werden.

Ein Beispiel, bei dem ein FQDN als Hostname verwendet wird, ist hostname = servername.postgres.database.azure.com. Vermeiden Sie nach Möglichkeit die Verwendung von hostname = 10.0.0.4 (eine private Adresse) oder hostname = 40.2.45.67 (eine öffentliche Adresse).

  • Erfahren Sie, wie Sie mithilfe der Option Öffentlicher Zugriff (zulässige IP-Adresse) im Azure-Portal oder über die Azure CLI eine Instanz von Azure Database for PostgreSQL – Flexible Server erstellen.