Privater Zugriff in Azure Cosmos DB for PostgreSQL

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

Azure Cosmos DB for PostgreSQL unterstützt drei Netzwerkoptionen:

  • Kein Zugriff
    • Dies ist die Standardeinstellung für einen neu erstellten Cluster, wenn der öffentliche oder private Zugriff nicht aktiviert ist. Keine Computer, weder innerhalb noch außerhalb von Azure, können eine Verbindung mit den Datenbankknoten herstellen.
  • Öffentlicher Zugriff
    • Dem Koordinatorknoten wird eine öffentliche IP-Adresse zugewiesen.
    • Der Zugriff auf den Koordinatorknoten wird durch eine Firewall geschützt.
    • Optional kann der Zugriff auf alle Workerknoten aktiviert werden. In diesem Fall werden den Workerknoten öffentliche IP-Adressen zugewiesen und sie werden durch dieselbe Firewall geschützt.
  • Privater Zugriff
    • Den Clusterknoten werden nur private IP-Adressen zugewiesen.
    • Jeder Knoten erfordert einen privaten Endpunkt, damit Hosts im ausgewählten virtuellen Netzwerk auf die Knoten zugreifen können.
    • Sicherheitsfeatures virtueller Azure-Netzwerke wie Netzwerksicherheitsgruppen können für die Zugriffssteuerung verwendet werden.

Wenn Sie einen Cluster erstellen, können Sie den öffentlichen oder privaten Zugriff aktivieren oder sich für die Standardeinstellung „Kein Zugriff“ entscheiden. Nachdem der Cluster erstellt wurde, können Sie zwischen öffentlichem oder privatem Zugriff wechseln oder beide Optionen gleichzeitig aktivieren.

Auf dieser Seite wird die Option des privaten Zugriffs beschrieben. Informationen zum öffentlichen Zugriff finden Sie hier.

Definitionen

Virtuelles Netzwerk. Ein Azure Virtual Network (VNET) ist der grundlegende Baustein für private Netzwerke in Azure. Virtuelle Netzwerke ermöglichen vielen Azure-Ressourcentypen (beispielsweise Datenbankservern und Azure-VMs) die sichere Kommunikation miteinander. Virtuelle Netzwerke unterstützen lokale Verbindungen, ermöglichen die Interaktion von Hosts in mehreren virtuellen Netzwerken durch Peering und bieten zusätzliche Vorteile wie Skalierbarkeit, Sicherheitsoptionen und Isolation. Jeder private Endpunkt für einen Cluster erfordert ein zugeordnetes virtuelles Netzwerk.

Subnetz. Subnetze segmentieren ein virtuelles Netzwerk in ein oder mehrere Subnetzwerke. Jedes Subnetzwerk erhält einen Teil des Adressraums, wodurch die Effizienz der Adresszuordnung verbessert wird. Sie können Ressourcen in Subnetzen mit Netzwerksicherheitsgruppen sichern. Weitere Informationen finden Sie unter Netzwerksicherheitsgruppen.

Wenn Sie ein Subnetz für den privaten Endpunkt eines Clusters auswählen, stellen Sie sicher, dass in diesem Subnetz genügend private IP-Adressen für Ihre aktuellen und zukünftigen Anforderungen verfügbar sind.

Privater Endpunkt. Ein privater Endpunkt ist eine Netzwerkschnittstelle, die eine private IP-Adresse aus einem virtuellen Netzwerk verwendet. Diese Netzwerkschnittstelle stellt eine private und sichere Verbindung zu einem von Azure Private Link unterstützten Dienst her. Private Endpunkte binden die Dienste in Ihr virtuelles Netzwerk ein.

Wenn Sie den privaten Zugriff für Azure Cosmos DB for PostgreSQL aktivieren, wird ein privater Endpunkt für den Koordinatorknoten des Clusters erstellt. Der Endpunkt erlaubt Hosts im ausgewählten virtuellen Netzwerk den Zugriff auf den Koordinator. Optional können Sie auch private Endpunkte für Workerknoten erstellen.

Private DNS-Zone. Eine private Azure DNS-Zone löst Hostnamen innerhalb eines verknüpften virtuellen Netzwerks und innerhalb eines virtuellen Peernetzwerks auf. Domäneneinträge für Knoten werden in einer privaten DNS-Zone erstellt, die für ihren Cluster ausgewählt wurde. Achten Sie darauf, vollqualifizierte Domänennamen (FQDN) für PostgreSQL-Verbindungszeichenfolgen von Knoten zu verwenden.

Sie können private Endpunkte für Ihre Cluster verwenden, um Hosts in einem virtuellen Netzwerk (VNet) den sicheren Zugriff auf Daten über Private Link zu ermöglichen.

Der private Endpunkt des Clusters verwendet eine IP-Adresse aus dem Adressraum des virtuellen Netzwerks. Der Datenverkehr zwischen Hosts im virtuellen Netzwerk und den Knoten wird über eine private Verbindung im Microsoft-Backbonenetzwerk übertragen und ist damit nicht dem öffentlichen Internet ausgesetzt.

Anwendungen im virtuellen Netzwerk können über den privaten Endpunkt eine nahtlose Verbindung mit den Knoten herstellen, indem die gleichen Verbindungszeichenfolgen und Autorisierungsmechanismen wie üblich verwendet werden.

Sie können den privaten Zugriff bei der Erstellung des Clusters auswählen und jederzeit vom öffentlichen Zugriff zum privaten Zugriff wechseln.

Verwenden einer privaten DNS-Zone

Für jeden privaten Endpunkt wird automatisch eine neue private DNS-Zone bereitgestellt, es sei denn, Sie wählen eine der privaten DNS-Zonen aus, die zuvor von Azure Cosmos DB for PostgreSQL erstellt wurde. Weitere Informationen finden Sie in der Übersicht über private DNS-Zonen.

Azure Cosmos DB for PostgreSQL erstellt für jeden Knoten mit einem privaten Endpunkt DNS-Einträge wie c-mygroup01.12345678901234.privatelink.postgres.cosmos.azure.com in der ausgewählten privaten DNS-Zone. Wenn Sie von einer Azure-VM aus über einen privaten Endpunkt eine Verbindung mit einem Knoten herstellen, löst Azure DNS den FQDN des Knotens in eine private IP-Adresse auf.

Die Einstellungen für private DNS-Zonen und das Peering virtueller Netzwerke sind voneinander unabhängig. Wenn Sie von einem Client, der in einem anderen VNet (derselben Region oder einer anderen Region) bereitgestellt wurde, eine Verbindung mit einem Knoten im Cluster herstellen möchten, müssen Sie die private DNS-Zone mit dem VNet verknüpfen. Weitere Informationen finden Sie unter Verknüpfen des virtuellen Netzwerks.

Hinweis

Der Dienst erstellt auch immer öffentliche CNAME-Einträge wie c-mygroup01.12345678901234.postgres.cosmos.azure.com für jeden Knoten. Ausgewählte Computer im öffentlichen Internet können jedoch nur dann eine Verbindung mit dem öffentlichen Hostnamen herstellen, wenn der Datenbankadministrator den öffentlichen Zugriff auf den Cluster aktiviert.

Wenn Sie einen benutzerdefinierten DNS-Server verwenden, müssen Sie eine DNS-Weiterleitung verwenden, um den FQDN der Knoten aufzulösen. Die IP-Adresse der Weiterleitung sollte 168.63.129.16 sein. Der benutzerdefinierte DNS-Server sollte sich innerhalb des VNet befinden oder über die DNS-Servereinstellung des VNet erreichbar sein. Weitere Informationen finden Sie unter Namensauflösung mithilfe eines eigenen DNS-Servers.

Empfehlungen

Beim Aktivieren des privaten Zugriffs für Ihren Cluster sollten Sie Folgendes berücksichtigen:

  • Subnetzgröße: Berücksichtigen Sie bei der Auswahl der Subnetzgröße für den Cluster die aktuellen Anforderungen, z. B. IP-Adressen für den Koordinatorknoten oder alle Knoten in diesem Cluster, sowie zukünftige Anforderungen (etwa die Vergrößerung dieses Clusters). Stellen Sie sicher, dass Sie über genügend private IP-Adressen für die aktuellen und zukünftigen Anforderungen verfügen. Beachten Sie, dass in Azure in jedem Subnetz fünf IP-Adressen reserviert sind. Ausführlichere Informationen finden Sie in diesen FAQ.
  • Private DNS-Zone: DNS-Einträge mit privaten IP-Adressen werden vom Azure Cosmos DB for PostgreSQL-Dienst verwaltet. Stellen Sie sicher, dass Sie keine private DNS-Zone löschen, die für Cluster verwendet wird.

Grenzwerte und Einschränkungen

Weitere Informationen finden Sie auf der Seite Grenzwerte und Einschränkungen für Azure Cosmos DB for PostgreSQL.

Nächste Schritte