Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Private Link ist ein leistungsstarker Dienst, mit dem Benutzer über einen bestimmten privaten Endpunkt eine Verbindung mit Azure DocumentDB herstellen können. Dieser private Endpunkt besteht aus privaten IP-Adressen, die sich in einem Subnetz in Ihrem eigenen virtuellen Netzwerk befinden. Der Endpunkt ermöglicht es Ihnen, den Zugriff auf das Azure DocumentDB-Produkt ausschließlich über private IP-Adressen einzuschränken. Das Risiko der Datenexfiltration wird erheblich reduziert, indem Private Link mit strengen NSG-Richtlinien integriert wird. Für ein tieferes Verständnis privater Endpunkte sollten Sie sich überlegen , was azure Private Link ist?.
Hinweis
Private Link sichert Ihre Verbindung, verhindert jedoch nicht, dass Ihre Azure DocumentDB-Endpunkte durch öffentliches DNS aufgelöst werden. Die Filtration eingehender Anforderungen wird auf Anwendungsebene und nicht auf Transport- oder Netzwerkebene verarbeitet.
Private Link bietet die Flexibilität, entweder über Ihr virtuelles Netzwerk oder über ein verbundenes virtuelles Netzwerk auf azure DocumentDB zuzugreifen. Darüber hinaus sind ressourcen, die mit privatem Link verknüpft sind, lokal über privates Peering, über VPN oder Azure ExpressRoute zugänglich.
Um eine Verbindung herzustellen, unterstützt Azure DocumentDB mit privatem Link sowohl automatische als auch manuelle Genehmigungsmethoden.
Voraussetzungen
Ein Azure-Abonnement
- Wenn Sie nicht über ein Azure-Abonnement verfügen, erstellen Sie ein kostenloses Konto
Ein vorhandener Azure DocumentDB-Cluster
- Wenn Sie keinen Cluster haben, erstellen Sie einen neuen Cluster.
Erstellen eines Clusters mit einem privaten Endpunkt mithilfe des Azure-Portals
Führen Sie die folgenden Schritte aus, um einen neuen Azure DocumentDB-Cluster mit einem privaten Endpunkt mithilfe des Azure-Portals zu erstellen:
Melden Sie sich beim Azure-Portal an, und wählen Sie dann in der oberen linken Ecke des Azure-Portals die Option "Ressource erstellen " aus.
Wählen Sie auf der Seite "Ressource erstellen" die Option "Datenbanken" und dann "Azure DocumentDB" aus.
Wählen Sie auf der Seite "API-Option auswählen" auf der Kachel "MongoDB " die Option "Erstellen" aus.
Wählen Sie den Clusterressourcentyp aus.
Wählen Sie auf der Seite "Azure DocumentDB-Cluster erstellen" eine Ressourcengruppe aus, geben Sie einen Clusternamen und -speicherort ein, und geben Sie das Administratorkennwort ein, und bestätigen Sie es.
Wählen Sie "Weiter" aus: Netzwerk.
Wählen Sie auf der Registerkarte " Netzwerk " für die Konnektivitätsmethode " Privater Zugriff" aus.
Geben Sie auf dem Bildschirm "Privaten Endpunkt erstellen" die entsprechenden Werte für Folgendes ein, oder wählen Sie sie aus:
Setting Wert Ressourcengruppe Wählen Sie eine Ressourcengruppe aus. Name Geben Sie einen beliebigen Namen für Ihren privaten Endpunkt ein. Wenn dieser Name bereits vergeben ist, erstellen Sie einen eindeutigen. Netzwerkschnittstellenname Geben Sie einen beliebigen Namen für Die Netzwerkschnittstelle ein. Wenn dieser Name bereits vergeben ist, erstellen Sie einen eindeutigen. Standort Wählen Sie die Region aus, in der Sie private Verknüpfungen bereitstellen möchten. Erstellen Sie den privaten Endpunkt an demselben Speicherort, an dem Ihr virtuelles Netzwerk vorhanden ist. Ressourcentyp Wählen Sie Microsoft.DocumentDB/mongoClustersaus.Zielressource Wählen Sie die azure DocumentDB-Ressource aus, die Sie erstellt haben. Unterressource des Ziels Wählen Sie den Typ der Unterressource für die zuvor ausgewählte Ressource aus, auf die Ihr privater Endpunkt zugreifen soll. Virtuelles Netzwerk Wählen Sie Ihr virtuelles Netzwerk aus. Subnetz Wählen Sie das Subnetz aus. Integration in eine private DNS-Zone Wählen Sie Ja aus. Für die Herstellung einer privaten Verbindung mit Ihrem privaten Endpunkt benötigen Sie einen DNS-Eintrag. Es wird empfohlen, Ihren privaten Endpunkt in eine private DNS-Zone zu integrieren. Sie können auch eigene DNS-Server verwenden oder DNS-Einträge erstellen, indem Sie die Hostdateien auf Ihren virtuellen Computern verwenden. Wenn Sie für diese Option "Ja" auswählen, wird auch eine private DNS-Zonengruppe erstellt. Die DNS-Zonengruppe ist eine Verbindung zwischen der privaten DNS-Zone und dem privaten Endpunkt. Dieser Link hilft Ihnen, die private DNS-Zone automatisch zu aktualisieren, wenn ein Update auf den privaten Endpunkt vorhanden ist. Wenn Sie beispielsweise Regionen hinzufügen oder entfernen, wird die private DNS-Zone automatisch aktualisiert. Konfigurationsname Wählen Sie Ihr Abonnement und die Ressourcengruppe aus. Die private DNS-Zone wird automatisch bestimmt. Sie können sie nicht über das Azure-Portal ändern. Wählen Sie "OK" aus.
Wählen Sie "Weiter" aus: Kategorien>überprüfen + erstellen. Wählen Sie auf der Seite "Überprüfen + Erstellen " die Option "Erstellen" aus.
Aktivieren des privaten Zugriffs auf einen vorhandenen Cluster
Um einen privaten Endpunkt für einen Knoten in einem vorhandenen Cluster zu erstellen, öffnen Sie die Seite Netzwerk für den Cluster.
Wählen Sie Privaten Endpunkt hinzufügen.
Überprüfen Sie auf der Registerkarte Grundlagen des Bildschirms Privaten Endpunkt erstellen die Werte für Abonnement, Ressourcengruppe und Region. Geben Sie einen Namen für den Endpunkt ein, z. B. my-cluster-1. Geben Sie einen Namen der Netzwerkschnittstelle, z. B. my-cluster-1-nic.
Hinweis
Sofern kein guter Grund für eine anderweitige Entscheidung vorliegt, wird empfohlen, ein Abonnement und eine Region auszuwählen, das/die mit dem Abonnement und der Region Ihres Clusters übereinstimmt. Die Standardwerte für die Formularfelder sind möglicherweise nicht korrekt. Überprüfen Sie die Werte, und aktualisieren Sie sie bei Bedarf.
Wählen Sie Weiter: Ressource aus. Wählen Sie "Microsoft.DocumentDB/mongoClusters" für den Ressourcentyp und dann den Zielcluster für Ressource aus. Wählen Sie für die Zielunterressource "MongoCluster" aus.
Wählen Sie Weiter: Virtuelles Netzwerk aus. Wählen Sie das gewünschte virtuelle Netzwerk und ein Subnetz aus. Wählen Sie unter Konfiguration der privaten IP-Adresse die Option IP-Adresse statisch zuordnen aus, oder behalten Sie den Standardwert bei: IP-Adresse dynamisch zuordnen.
Wählen Sie Weiter: DNS aus.
Behalten Sie unter Private DNS-Integration für die Option Integration in eine private DNS-Zone den Standardwert Ja bei, oder wählen Sie Nein aus.
Hinweis
Die private DNS-Integration muss für die ordnungsgemäße DNS-Auflösung auf dem Cluster aktiviert werden.
Wählen Sie Weiter: Tags aus, und fügen Sie alle gewünschten Tags hinzu.
Klicken Sie auf Überprüfen + erstellen. Überprüfen Sie die Einstellungen, und wählen Sie Erstellen aus, wenn Sie zufrieden sind.
Erstellen eines privaten Endpunkts mithilfe der Azure CLI
Führen Sie das folgende Azure CLI-Skript aus, um einen privaten Endpunkt namens myPrivateEndpoint für ein vorhandenes Azure DocumentDB-Konto zu erstellen. Ersetzen Sie die Variablenwerte durch die Details für Ihre Umgebung.
# Resource group where the Azure DocumentDB account and virtual network resources are located
ResourceGroupName="myResourceGroup"
# Name of the existing Azure DocumentDB account
ClusterName="myMongoCluster"
# Subscription ID where the Azure DocumentDB account and virtual network resources are located
SubscriptionId="<your Azure subscription ID>"
# API type of your Azure DocumentDB account: Sql, SqlDedicated, MongoCluster, Cassandra, Gremlin, or Table
SubResourceType="MongoCluster"
# Name of the virtual network to create
VNetName="myVnet"
# Name of the subnet to create
SubnetName="mySubnet"
# Name of the private endpoint to create
PrivateEndpointName="myPrivateEndpoint"
# Name of the private endpoint connection to create
PrivateConnectionName="myConnection"
az network vnet create \
--name $VNetName \
--resource-group $ResourceGroupName \
--subnet-name $SubnetName
az network vnet subnet update \
--name <name> \
--resource-group $ResourceGroupName \
--vnet-name $VNetName \
--disable-private-endpoint-network-policies true
az network private-endpoint create \
--name $PrivateEndpointName \
--resource-group $ResourceGroupName \
--vnet-name $VNetName \
--subnet $SubnetName \
--private-connection-resource-id "/subscriptions/$SubscriptionId/resourceGroups/$ResourceGroupName/providers/Microsoft.DocumentDB/mongoClusters/$ClusterName" \
--group-ids MongoCluster --connection-name $PrivateConnectionName
Integrieren des privaten Endpunkts in eine private DNS-Zone
Nachdem Sie den privaten Endpunkt erstellt haben, sollten Sie ihn mithilfe des folgenden Azure CLI-Skripts in eine private DNS-Zone integrieren:
Hinweis
Die private DNS-Integration muss für die ordnungsgemäße DNS-Auflösung auf dem Cluster aktiviert werden.
#Zone name differs based on the API type and group ID you are using.
zoneName="privatelink.mongocluster.cosmos.azure.com"
az network private-dns zone create \
--resource-group $ResourceGroupName \
--name $zoneName
az network private-dns link vnet create --resource-group $ResourceGroupName \
--zone-name $zoneName \
--name <dns-link-name> \
--virtual-network $VNetName \
--registration-enabled false
#Create a DNS zone group
az network private-endpoint dns-zone-group create \
--resource-group $ResourceGroupName \
--endpoint-name <pe-name> \
--name <zone-group-name> \
--private-dns-zone $zoneName \
--zone-name mongocluster
Verbindungszeichenfolge zum Herstellen einer Verbindung abrufen
Verwenden Sie immer die mongodb+srv Verbindungszeichenfolge, um von einem Client mit einer privaten IP-Adresse eine Verbindung zu einer Datenbank herzustellen, die auf den privaten Endpunkt zugreifen kann, der einem Azure DocumentDB-Cluster zugewiesen ist.
- Wählen Sie einen vorhandenen Azure DocumentDB-Cluster aus.
- Wählen Sie in der Seitenleiste des Clusters unter Einstellungen die Option Verbindungszeichenfolgen aus.
- Kopieren Sie die globale Lese- oder Selbstverbindungszeichenfolge für die systemeigene DocumentDB-Authentifizierung oder die Microsoft Entra ID-Authentifizierung.
Hinweis
Im Replikat-Cluster werden nur Selbstverbindungszeichenfolgen bereitgestellt.
- Verwenden Sie die kopierte Verbindungszeichenfolge in Ihren Anwendungs- oder Verwaltungstools, um eine Verbindung mit dem Cluster herzustellen.
MongoClusters-Befehle auf privatem Link
az network private-link-resource list \
-g <rg-name> \
-n <resource-name> \
--type Microsoft.DocumentDB/mongoClusters
Überprüfen und Beheben von Problemen mit der Konnektivität privater Endpunkte
Nachdem Sie einen privaten Endpunkt für Ihren Azure DocumentDB-Cluster erstellt haben, ist es wichtig zu überprüfen, ob die DNS-Auflösung ordnungsgemäß funktioniert und dass Ihre Anwendungen über den privaten Endpunkt eine Verbindung herstellen können.
Überprüfen des Status des privaten Endpunkts
Vergewissern Sie sich zunächst, dass der private Endpunkt ordnungsgemäß bereitgestellt und verbunden ist:
- Navigieren Sie im Azure-Portal zu Ihrem Azure DocumentDB-Cluster.
- Wählen Sie auf der Cluster-Randleiste unter "Einstellungen" die Option "Netzwerk" aus.
- Überprüfen Sie, ob der private Endpunkt in der Liste mit dem Status "Genehmigt" angezeigt wird.
- Wählen Sie den Namen des privaten Endpunkts aus, um seine Details anzuzeigen, einschließlich der zugewiesenen privaten IP-Adresse.
Sie können azure CLI auch verwenden, um den Status des privaten Endpunkts zu überprüfen:
az network private-endpoint show \
--resource-group $ResourceGroupName \
--name $PrivateEndpointName
Testen der DNS-Auflösung
Azure DocumentDB verwendet SRV-Einträge für die Dienstermittlung bei Verwendung des mongodb+srv Verbindungszeichenfolgenformats. Um sicherzustellen, dass die DNS-Auflösung ordnungsgemäß funktioniert, testen Sie die DNS-Auflösung von einem virtuellen Computer oder einer Ressource innerhalb desselben virtuellen Netzwerks oder eines peered-Netzwerks.
Windows-DNS-Testen
Verwenden Sie von einem Windows-Computer aus, der mit dem virtuellen Netzwerk verbunden ist, die folgenden Befehle:
Testen Sie die SRV-Datensatzauflösung:
Resolve-DnsName -Name _mongodb._tcp.<your-cluster-name>.mongocluster.cosmos.azure.com -Type SRVDie Ausgabe sollte SRV-Einträge anzeigen, die auf Ihre Clusterknoten innerhalb der privaten DNS-Zone verweisen.
Lösen Sie die einzelnen Knoten-Hostnamen auf, um zu überprüfen, ob sie auf private IP-Adressen aufgelöst werden:
Resolve-DnsName -Name <your-node-hostname>.mongocluster.cosmos.azure.comDie Ausgabe sollte private IP-Adressen (z. B. 10.x.x.x) anstelle öffentlicher IP-Adressen anzeigen.
Alternativ verwenden:
nslookupnslookup -type=SRV _mongodb._tcp.<your-cluster-name>.mongocluster.cosmos.azure.com nslookup <your-node-hostname>.mongocluster.cosmos.azure.com
Linux- und macOS-DNS-Tests
Verwenden Sie auf einem Linux- oder macOS-Computer, der mit dem virtuellen Netzwerk verbunden ist, die folgenden Befehle:
Testen Sie die SRV-Datensatzauflösung:
dig _mongodb._tcp.<your-cluster-name>.mongocluster.cosmos.azure.com SRVDie Ausgabe sollte SRV-Datensätze mit Zielen anzeigen, die auf Ihre Cluster-Knoten verweisen.
Lösen Sie die einzelnen Knotennamen auf:
dig <your-node-hostname>.mongocluster.cosmos.azure.comDie A-Einträge sollten in private IP-Adressen im Adressraum Ihres virtuellen Netzwerks aufgelöst werden.
Alternativ verwenden:
nslookupnslookup -type=SRV _mongodb._tcp.<your-cluster-name>.mongocluster.cosmos.azure.com nslookup <your-node-hostname>.mongocluster.cosmos.azure.com
Häufige Problembehandlungsszenarien
Wenn Konnektivitätsprobleme auftreten, überprüfen Sie Folgendes:
Die DNS-Auflösung schlägt fehl oder gibt öffentliche IP-Adressen zurück.
- Stellen Sie sicher, dass die private DNS-Zone ordnungsgemäß mit Ihrem virtuellen Netzwerk verknüpft ist.
- Vergewissern Sie sich, dass die DNS-Zonengruppe auf dem privaten Endpunkt ordnungsgemäß konfiguriert ist.
- Überprüfen Sie, ob die DNS-Einstellungen Ihres virtuellen Netzwerks auf die Verwendung von Azure bereitgestellten DNS (168.63.129.16) oder einen benutzerdefinierten DNS-Server festgelegt sind, der Abfragen an Azure DNS weiterleitet.
- Stellen Sie sicher, dass Sie aus einer Ressource innerhalb des virtuellen Netzwerks oder einem ordnungsgemäß peerierten Netzwerk testen.
Verbindungsabbrüche oder Ausfälle
- Überprüfen Sie, ob die Regeln der Netzwerksicherheitsgruppe (Network Security Group, NSG) für das Subnetz ausgehende Verbindungen an Port 27017 (Standardport von MongoDB) zulassen.
- Stellen Sie sicher, dass die Netzwerkschnittstelle des privaten Endpunkts die richtige private IP-Adresse zugewiesen hat.
- Überprüfen Sie, ob die Anwendung oder der Client das richtige Verbindungszeichenfolgenformat (
mongodb+srv) verwendet. - Stellen Sie sicher, dass Firewallregeln im Azure DocumentDB-Cluster Verbindungen vom privaten Endpunkt zulassen.
Private DNS-Zone wird nicht aufgelöst
- Stellen Sie sicher, dass der Name der privaten DNS-Zone mit dem erwarteten Format übereinstimmt:
privatelink.mongocluster.cosmos.azure.com. - Überprüfen Sie, ob in der privaten DNS-Zone für Ihre Clusterknoten A-Einträge vorhanden sind.
- Vergewissern Sie sich, dass die virtuelle Netzwerkverbindung aktiv und ordnungsgemäß in der privaten DNS-Zone konfiguriert ist.
Anzeigen von Details privater Endpunkte
Verwenden Sie den folgenden Azure CLI-Befehl, um detaillierte Informationen zur Konfiguration Ihres privaten Endpunkts anzuzeigen:
az network private-endpoint show \
--resource-group $ResourceGroupName \
--name $PrivateEndpointName \
--query '{Name:name, PrivateIpAddress:customDnsConfigs[0].ipAddresses[0], FQDN:customDnsConfigs[0].fqdn, ProvisioningState:provisioningState}' \
--output table
Mit diesem Befehl werden wichtige Informationen einschließlich der privaten IP-Adresse, des vollqualifizierten Domänennamens (FQDN) und des Bereitstellungsstatus angezeigt.