Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Private Link is een krachtige service waarmee gebruikers via een aangewezen privé-eindpunt verbinding kunnen maken met Azure DocumentDB. Dit privé-eindpunt bestaat uit privé-IP-adressen die zich in een subnet in uw eigen virtuele netwerk bevinden. Met het eindpunt kunt u de toegang tot het Azure DocumentDB-product beperken via privé-IP-adressen. Het risico op gegevensexfiltratie is aanzienlijk verminderd door Private Link te integreren met strikt NSG-beleid. Voor een beter begrip van privé-eindpunten kunt u overwegen wat is Azure Private Link?
Opmerking
Private Link beveiligt uw verbinding, maar verhindert niet dat uw Azure DocumentDB-eindpunten worden omgezet door openbare DNS. De filtratie van binnenkomende aanvragen wordt verwerkt op toepassingsniveau, niet op transport- of netwerkniveau.
Private Link biedt de flexibiliteit om toegang te krijgen tot Azure DocumentDB vanuit uw virtuele netwerk of vanuit een verbonden gekoppeld virtueel netwerk. Daarnaast zijn resources die zijn gekoppeld aan Private Link on-premises toegankelijk via privépeering, via VPN of Azure ExpressRoute.
Om een verbinding tot stand te brengen, ondersteunt Azure DocumentDB met Private Link zowel automatische als handmatige goedkeuringsmethoden.
Vereiste voorwaarden
Een Azure-abonnement
- Als u geen Azure-abonnement hebt, maakt u een gratis account
Een bestaand Azure DocumentDB-cluster
- Als u geen cluster hebt, maakt u een nieuw cluster
Een cluster maken met een privé-eindpunt met behulp van Azure Portal
Volg deze stappen om een nieuw Azure DocumentDB-cluster te maken met een privé-eindpunt met behulp van Azure Portal:
Meld u aan bij Azure Portal en selecteer vervolgens Een resource maken in de linkerbovenhoek van Azure Portal.
Selecteer Databases op de pagina Een resource maken en selecteer vervolgens Azure DocumentDB.
Op de pagina API-optie selecteren, selecteer de MongoDB-tegel en klik op Maken.
Kies het cluster-resourcetype.
Op de pagina Een Azure DocumentDB-cluster maken selecteert of maakt u een resourcegroep, voert u een clusternaam en locatie in en voert u het beheerderswachtwoord in en bevestigt u dit.
Selecteer Volgende: Netwerken.
Selecteer het tabblad Netwerken voor connectiviteitsmethode en selecteer Privétoegang.
In het scherm "Privé-eindpunt maken", voer de juiste waarden in of selecteer deze.
Configuratie Waarde Bronnengroep Selecteer een resourcegroep. Naam Voer een naam in voor uw privé-eindpunt. Als deze naam wordt gebruikt, maakt u een unieke naam. Netwerkinterfacenaam Voer een willekeurige naam in voor uw netwerkinterface. Als deze naam wordt gebruikt, maakt u een unieke naam. Locatie Selecteer de regio waar u Private Link wilt implementeren. Maak het privé-eindpunt op dezelfde locatie waar uw virtuele netwerk bestaat. Hulpmiddeltype Selecteer Microsoft.DocumentDB/mongoClusters.Doelresource Selecteer de Azure DocumentDB-resource die u hebt gemaakt. Subresource van doel Selecteer het type subresource voor de resource die u eerder hebt geselecteerd en waartoe uw privé-eindpunt toegang moet hebben. Virtueel netwerk Selecteer uw virtuele netwerk. Subnet Selecteer uw subnet. Integreren met privé-DNS-zone Selecteer Ja. Als u privé verbinding wilt maken met uw privé-eindpunt, hebt u een DNS-record nodig. U wordt aangeraden uw privé-eindpunt te integreren met een privé-DNS-zone. U kunt ook uw eigen DNS-servers gebruiken of DNS-records maken met behulp van de hostbestanden op uw virtuele machines. Wanneer u ja selecteert voor deze optie, wordt er ook een privé-DNS-zonegroep gemaakt. DNS-zonegroep is een koppeling tussen de privé-DNS-zone en het privé-eindpunt. Met deze koppeling kunt u de privé-DNS-zone automatisch bijwerken wanneer het privé-eindpunt wordt bijgewerkt. Wanneer u bijvoorbeeld regio's toevoegt of verwijdert, wordt de privé-DNS-zone automatisch bijgewerkt. Configuratienaam Selecteer uw abonnement en resourcegroep. De privé-DNS-zone wordt automatisch bepaald. U kunt deze niet wijzigen met behulp van Azure Portal. Klik op OK.
Selecteer Volgende: Labels>beoordelen en maken. Selecteer op de pagina Beoordelen en maken de optie Maken.
Privétoegang inschakelen op een bestaand cluster
Als u een privé-eindpunt wilt maken voor een knooppunt in een bestaand cluster, opent u de pagina Netwerken voor het cluster.
Selecteer Privé-eindpunt toevoegen.
Bevestig op het tabblad Basis van het scherm Een privé-eindpunt maken het abonnement, de resourcegroep, en de regio. Voer een naam in voor het eindpunt, zoals mijn-cluster-1 en een netwerkinterfacenaam, zoals my-cluster-1-nic.
Opmerking
Tenzij u een goede reden hebt om anders te kiezen, raden we u aan een abonnement en regio te kiezen die overeenkomen met die van uw cluster. De standaardwaarden voor de formuliervelden zijn mogelijk niet juist. Controleer deze en werk deze indien nodig bij.
Selecteer Volgende: Hulpmiddel. Kies Microsoft.DocumentDB/mongoClusters voor resourcetype en kies het doelcluster voor Resource. Kies 'MongoCluster' voor de doelsubresource.
Selecteer Volgende: Virtueel netwerk. Kies het gewenste virtuele netwerk en subnet. Selecteer onder Privé-IP-configuratie statisch IP-adres toewijzen of behoud het standaard-IP-adres, dynamisch IP-adres toewijzen.
Selecteer Volgende: DNS.
Houd onder Privé-DNS-integratie voor Integratie met privé-DNS-zone de standaard Ja of selecteer Nee.
Opmerking
Privé-DNS-integratie moet zijn ingeschakeld op het cluster voor de juiste DNS-resolutie.
Selecteer Volgende: Tags en voeg eventuele gewenste tags toe.
Kies Beoordelen + creëren. Controleer de instellingen en selecteer Maken wanneer u tevreden bent.
Een privé-eindpunt maken met behulp van Azure CLI
Voer het volgende Azure CLI-script uit om een privé-eindpunt met de naam myPrivateEndpoint te maken voor een bestaand Azure DocumentDB-account. Vervang de variabelewaarden door de details voor uw omgeving.
# 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
Het privé-eindpunt integreren met een privé-DNS-zone
Nadat u het privé-eindpunt hebt gemaakt, moet u het integreren met een privé-DNS-zone met behulp van het volgende Azure CLI-script:
Opmerking
Privé-DNS-integratie moet zijn ingeschakeld op het cluster voor de juiste DNS-resolutie.
#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
Verbindingsreeks ophalen om verbinding te maken
Gebruik altijd de verbindingsreeks mongodb+srv om verbinding te maken met een database vanaf een client met een privé-IP-adres dat toegang heeft tot het privé-eindpunt dat aan het Azure DocumentDB-cluster is toegewezen.
- Selecteer een bestaand Azure DocumentDB-cluster.
- Selecteer in de zijbalk van het cluster onder Instellingen de verbindingsreeksen.
- Kopieer de globale lees-schrijf of eigen verbindingsreeks voor ingebouwde DocumentDB-verificatie of Microsoft Entra ID-verificatie.
Opmerking
Op een replicacluster worden alleen zelfverbindingsreeksen opgegeven.
- Gebruik de gekopieerde verbindingsreeks in uw toepassing of beheerhulpprogramma's om verbinding te maken met het cluster.
MongoClusters-opdrachten op Private Link
az network private-link-resource list \
-g <rg-name> \
-n <resource-name> \
--type Microsoft.DocumentDB/mongoClusters
Connectiviteit met privé-eindpunten controleren en oplossen
Nadat u een privé-eindpunt voor uw Azure DocumentDB-cluster hebt gemaakt, is het belangrijk om te controleren of de DNS-omzetting correct werkt en of uw toepassingen verbinding kunnen maken via het privé-eindpunt.
Status van privé-eindpunt controleren
Controleer eerst of het privé-eindpunt correct is ingericht en verbonden:
- Navigeer in Azure Portal naar uw Azure DocumentDB-cluster.
- Selecteer Netwerken in de zijbalk van het cluster onder Instellingen.
- Controleer of het privé-eindpunt wordt weergegeven in de lijst met de status Goedgekeurd.
- Selecteer de naam van het privé-eindpunt om de details ervan weer te geven, inclusief het privé-IP-adres dat is toegewezen.
U kunt azure CLI ook gebruiken om de status van het privé-eindpunt te controleren:
az network private-endpoint show \
--resource-group $ResourceGroupName \
--name $PrivateEndpointName
DNS-resolutie testen
Azure DocumentDB maakt gebruik van SRV-records voor servicedetectie bij gebruik van de indeling van de mongodb+srv verbindingsreeks. Als u wilt controleren of de DNS-omzetting correct werkt, test u de DNS-omzetting van een virtuele machine of resource binnen hetzelfde virtuele netwerk of een gekoppeld netwerk.
Windows DNS-testen
Gebruik de volgende opdrachten vanaf een Windows-computer die is verbonden met het virtuele netwerk:
Test de SRV-recordresolutie:
Resolve-DnsName -Name _mongodb._tcp.<your-cluster-name>.mongocluster.cosmos.azure.com -Type SRVIn de uitvoer moeten SRV-records worden weergegeven die verwijzen naar uw clusterknooppunten in de privé-DNS-zone.
Los de hostnamen van afzonderlijke knooppunten op om te controleren of ze worden omgezet in privé-IP-adressen:
Resolve-DnsName -Name <your-node-hostname>.mongocluster.cosmos.azure.comIn de uitvoer moeten privé-IP-adressen (bijvoorbeeld 10.x.x.x.x) worden weergegeven in plaats van openbare IP-adressen.
Als
nslookupalternatief gebruiken:nslookup -type=SRV _mongodb._tcp.<your-cluster-name>.mongocluster.cosmos.azure.com nslookup <your-node-hostname>.mongocluster.cosmos.azure.com
DNS-tests voor Linux en macOS
Gebruik de volgende opdrachten vanaf een Linux- of macOS-machine die is verbonden met het virtuele netwerk:
Test de SRV-recordresolutie:
dig _mongodb._tcp.<your-cluster-name>.mongocluster.cosmos.azure.com SRVIn de uitvoer moeten SRV-records worden weergegeven met doeladressen die naar uw clusterknooppunten verwijzen.
Los de hostnamen van afzonderlijke knooppunten op:
dig <your-node-hostname>.mongocluster.cosmos.azure.comDe A-records moeten worden omgezet in privé-IP-adressen in de adresruimte van uw virtuele netwerk.
Als
nslookupalternatief gebruiken:nslookup -type=SRV _mongodb._tcp.<your-cluster-name>.mongocluster.cosmos.azure.com nslookup <your-node-hostname>.mongocluster.cosmos.azure.com
Veelvoorkomende scenario's voor probleemoplossing
Als u verbindingsproblemen ondervindt, controleert u het volgende:
DNS-omzetting mislukt of retourneert openbare IP-adressen
- Controleer of de privé-DNS-zone juist is gekoppeld aan uw virtuele netwerk.
- Controleer of de DNS-zonegroep juist is geconfigureerd op het privé-eindpunt.
- Controleer of de DNS-instellingen van uw virtuele netwerk zijn ingesteld op het gebruik van door Azure geleverde DNS (168.63.129.16) of een aangepaste DNS-server die query's doorstuurt naar Azure DNS.
- Zorg ervoor dat u test vanuit een resource binnen het virtuele netwerk of een correct gesynchroniseerd netwerk.
Verbindingstime-outs of fouten
- Controleer of NSG-regels (Network Security Group) op het subnet uitgaande connectiviteit toestaan op poort 27017 (standaardpoort van MongoDB).
- Controleer of aan de netwerkinterface van het privé-eindpunt het juiste privé-IP-adres is toegewezen.
- Controleer of de toepassing of client de juiste verbindingsreeksindeling (
mongodb+srv) gebruikt. - Zorg ervoor dat firewallregels in het Azure DocumentDB-cluster verbindingen vanaf het privé-eindpunt toestaan.
Privé-DNS-zone wordt niet opgelost
- Controleer of de naam van de privé-DNS-zone overeenkomt met de verwachte indeling:
privatelink.mongocluster.cosmos.azure.com. - Controleer of er een record bestaat in de privé-DNS-zone voor uw clusterknooppunten.
- Controleer of de koppeling van het virtuele netwerk actief is en juist is geconfigureerd in de privé-DNS-zone.
Details van privé-eindpunt weergeven
Als u gedetailleerde informatie over de configuratie van uw privé-eindpunt wilt weergeven, gebruikt u de volgende Azure CLI-opdracht:
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
Met deze opdracht worden belangrijke informatie weergegeven, waaronder het privé-IP-adres, de FQDN (Fully Qualified Domain Name) en de inrichtingsstatus.