Share via


Abilitare l'accesso privato in Azure Cosmos DB per MongoDB vCore

SI APPLICA A: VCore mongoDB

collegamento privato di Azure è un servizio potente che consente agli utenti di connettersi ad Azure Cosmos DB per MongoDB vCore tramite un endpoint privato designato. Questo endpoint privato è costituito da indirizzi IP privati che si trovano in una subnet all'interno della propria rete virtuale. L'endpoint consente di limitare l'accesso al prodotto vCore di Azure Cosmos DB per MongoDB esclusivamente tramite indirizzi IP privati. Il rischio di esfiltrazione dei dati è notevolmente ridotto, integrando collegamento privato con criteri NSG rigorosi. Per una comprensione più approfondita degli endpoint privati, vedere Che cos'è collegamento privato di Azure?.

Nota

collegamento privato protegge la connessione, tuttavia, non impedisce che gli endpoint di Azure Cosmos DB vengano risolti dal DNS pubblico. La filtraggio delle richieste in ingresso viene gestita a livello di applicazione, non a livello di trasporto o di rete.

collegamento privato offre la flessibilità necessaria per accedere al vCore di Azure Cosmos DB per MongoDB dall'interno della rete virtuale o da qualsiasi rete virtuale con peering connessa. Inoltre, le risorse collegate a collegamento privato sono accessibili in locale tramite peering privato, tramite VPN o Azure ExpressRoute.

Per stabilire una connessione, Azure Cosmos DB per MongoDB vCore con collegamento privato supporta sia metodi di approvazione automatici che manuali. Per altre informazioni, vedere Endpoint privati in Azure Cosmos DB.

Prerequisiti

  • Un cluster vCore di Azure Cosmos DB per MongoDB esistente.

Creare un cluster con un endpoint privato usando il portale di Azure

Seguire questa procedura per creare un nuovo cluster vCore di Azure Cosmos DB per MongoDB con un endpoint privato usando il portale di Azure:

  1. Accedere al portale di Azure, quindi selezionare Crea una risorsa nell'angolo superiore sinistro del portale di Azure.

  2. Nella pagina Crea una risorsa selezionare Database e quindi Azure Cosmos DB.

  3. Nella pagina Selezionare l'opzione API selezionare Crea nel riquadro MongoDB .

  4. Scegliere il tipo di risorsa cluster vCore.

  5. Nella pagina Crea un cluster vCore di Azure Cosmos DB per MongoDB selezionare o creare un gruppo di risorse, immettere un nome e una località del cluster e immettere e confermare la password dell'amministratore.

  6. Al termine, selezionare Avanti: Rete.

  7. Selezionare la scheda Rete per Connessione method (Metodo di Connessione ivity) e selezionare Accesso privato.

  8. Nella schermata Crea endpoint privato immettere o selezionare i valori appropriati per:

    Impostazione Valore
    Gruppo di risorse Selezionare un gruppo di risorse.
    Nome Immettere un nome per l'endpoint privato. Se il nome è già usato, creare un nome univoco.
    Nome interfaccia di rete Immettere qualsiasi nome per l'interfaccia di rete. Se il nome è già usato, creare un nome univoco.
    Ufficio Selezionare l'area in cui si vuole distribuire il collegamento privato. Creare l'endpoint privato nella stessa posizione in cui si trova la rete virtuale.
    Sottorisorsa di destinazione Selezionare il tipo di sottorisorsa per la risorsa selezionata in precedenza a cui l'endpoint privato deve avere la possibilità di accedere.
    Rete virtuale Selezionare la rete virtuale.
    Subnet Selezionare la subnet.
    Integra con la zona DNS privato Selezionare . Per connettersi in privato con l'endpoint privato, è necessario un record DNS. È consigliabile integrare l'endpoint privato con una zona DNS privata. È anche possibile usare i propri server DNS o creare record DNS usando i file host delle macchine virtuali. Quando si seleziona Sì per questa opzione, viene creato anche un gruppo di zone DNS privato. Il gruppo di zone DNS è un collegamento tra la zona DNS privata e l'endpoint privato. Questo collegamento consente di aggiornare automaticamente la zona DNS privata quando viene eseguito un aggiornamento all'endpoint privato. Ad esempio, quando si aggiungono o si rimuovono aree, la zona DNS privata viene aggiornata automaticamente.
    Nome configurazione Selezionare la sottoscrizione e il gruppo di risorse. La zona DNS privata viene determinata automaticamente. Non è possibile modificarla usando il portale di Azure.
  9. Selezionare OK.

  10. Selezionare Avanti: Rivedi e crea tag>. Nella pagina Rivedi e crea selezionare Crea.

Abilitare l'accesso privato in un cluster esistente

Per creare un endpoint privato in un nodo in un cluster esistente, aprire la pagina Rete per il cluster.

  1. Selezionare Aggiungi endpoint privato.

    Screenshot della selezione di Aggiungi endpoint privato nella schermata Rete.

  2. Nella scheda Informazioni di base della schermata Crea un endpoint privato verificare la sottoscrizione, il gruppo di risorse e l'area. Immettere un nome per l'endpoint, ad esempio my-cluster-1 e un nome di interfaccia di rete, ad esempio my-cluster-1-nic.

    Nota

    A meno che non si abbia un buon motivo per scegliere diversamente, è consigliabile scegliere una sottoscrizione e un'area corrispondenti a quelle del cluster. I valori predefiniti per i campi modulo potrebbero non essere corretti. Controllarli e aggiornarli, se necessario.

  3. Selezionare Avanti: Risorsa. Per Sotto-risorsa di destinazione scegliere il nodo di destinazione del cluster. In genere il coordinatore è il nodo desiderato.

  4. Selezionare Avanti: Rete virtuale. Scegliere la rete virtuale e la subnet desiderate. In Configurazione IP privato selezionare Allocare in modo statico l'indirizzo IP o mantenere l'indirizzo IP predefinito, allocare dinamicamente l'indirizzo IP.

  5. Selezionare Avanti: DNS.

  6. In DNS privato integrazione, per Integrazione con la zona DNS privata mantenere l'impostazione predefinita o selezionare No.

  7. Selezionare Avanti: Tag e aggiungere eventuali tag desiderati.

  8. Selezionare Rivedi e crea. Esaminare le impostazioni e selezionare Crea quando soddisfatto.

Creare un endpoint privato con l'interfaccia della riga di comando di Azure

Eseguire lo script seguente dell'interfaccia della riga di comando di Azure per creare un endpoint privato denominato myPrivateEndpoint per un account Azure Cosmos DB esistente. Sostituire i valori delle variabili con i dettagli dell'ambiente in uso.

# Resource group where the Azure Cosmos DB account and virtual network resources are located  
ResourceGroupName="myResourceGroup" 

# Name of the existing Azure Cosmos DB account  
MongovCoreClusterName="myMongoCluster" 

# Subscription ID where the Azure Cosmos DB account and virtual network resources are located  
SubscriptionId="<your Azure subscription ID>"  

# API type of your Azure Cosmos DB account: Sql, SqlDedicated, MongoCluster, Cassandra, Gremlin, or Table 
CosmosDbSubResourceType="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/$MongovCoreClusterName" \
  --group-ids MongoCluster --connection-name $PrivateConnectionName 

Integrare l'endpoint privato con una zona DNS privata

Dopo aver creato l'endpoint privato, è possibile integrarlo con una zona DNS privata usando lo script dell'interfaccia della riga di comando di Azure seguente:

#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 
az network private-link-resource list \
  -g <rg-name> \
  -n <resource-name> \
  --type Microsoft.DocumentDB/mongoClusters 

Passaggio successivo