Share via


Habilitación del acceso privado en el núcleo virtual de Azure Cosmos DB for MongoDB

SE APLICA A: núcleo virtual de MongoDB

Azure Private Link es un servicio eficaz que permite a los usuarios conectarse a los núcleos virtuales de Azure Cosmos DB for MongoDB a través de un punto de conexión privado designado. Este punto de conexión privado consta de direcciones IP privadas ubicadas en una subred dentro de su propia red virtual. El punto de conexión le permite restringir el acceso al producto de núcleo virtual de Azure Cosmos DB for MongoDB únicamente a través de direcciones IP privadas. El riesgo de filtración de datos se reduce considerablemente mediante la integración de Private Link con estrictas directivas de NSG. Para comprender mejor los puntos de conexión privados, puede consultar ¿Qué es Azure Private Link?.

Nota:

Private Link protege la conexión, pero no impide que los puntos de conexión de Azure Cosmos DB se resuelvan mediante DNS público. La filtración de las solicitudes entrantes se controla en el nivel de aplicación, no en el nivel de transporte o red.

Private Link ofrece la flexibilidad de acceder al núcleo virtual de Azure Cosmos DB for MongoDB desde la red virtual o desde cualquier red virtual emparejada conectada. Además, los recursos vinculados a Private Link son accesibles de forma local a través del emparejamiento privado, a través de VPN o Azure ExpressRoute.

Para establecer una conexión, el núcleo virtual de Azure Cosmos DB for MongoDB con Private Link admite métodos de aprobación automáticos y manuales. Para más información, consulte Puntos de conexión privados en Azure Cosmos DB.

Requisitos previos

Creación de un clúster con un punto de conexión privado mediante Azure Portal

Siga estos pasos para crear un punto nuevo clúster de núcleo virtual de Azure Cosmos DB for MongoDB con un punto de conexión privado mediante Azure Portal:

  1. Inicie sesión en Azure Portal y, después, seleccione Crear un recurso en la esquina superior izquierda de Azure Portal.

  2. En la página Crear un recurso, seleccione Bases de datos y, después, seleccione Azure Cosmos DB.

  3. En la página Seleccionar opción de API, en el icono de MongoDB, seleccione Crear.

  4. Elija el tipo de recurso de clúster de núcleo virtual.

  5. En la página de clúster Crear un núcleo virtual de Azure Cosmos DB for MongoDB, seleccione o cree un grupo de recursos, escriba un nombre de clúster y una ubicación, y escriba y confirme la contraseña del administrador.

  6. Seleccione Siguiente: Redes.

  7. Seleccione la pestaña Redes, en Método de conectividad, seleccione Acceso privado.

  8. En la pantalla Crear punto de conexión privado, escriba o seleccione los valores adecuados para:

    Configuración Value
    Resource group Seleccione un grupo de recursos.
    Nombre Escriba cualquier nombre para su punto de conexión privado. Si el nombre ya existe, cree uno único.
    Nombre de la interfaz de red Escriba cualquier nombre para la interfaz de red. Si el nombre ya existe, cree uno único.
    Location Seleccione la región en la que desea implementar Private Link. Cree el punto de conexión privado en la misma ubicación donde existe la red virtual.
    Subrecurso de destino Seleccione el tipo de subrecurso del recurso seleccionado anteriormente que el punto de conexión privado debe tener la capacidad de acceder.
    Red virtual Seleccione la red virtual.
    Subnet Seleccione la subred.
    Integración con una zona DNS privada Seleccione . Para conectar de forma privada con el punto de conexión privado, necesita un registro DNS. Se recomienda integrar el punto de conexión privado con una zona DNS privada. También se pueden usar los servidores DNS propios o bien crear registros DNS con los archivos de host de las máquinas virtuales. Al seleccionar Sí en esta opción, también se crea un grupo de zonas DNS privadas. El grupo de zonas DNS es un vínculo entre la zona DNS privada y el punto de conexión privado. Este vínculo le ayuda a actualizar automáticamente la zona DNS privada cuando hay una actualización del punto de conexión privado. Por ejemplo, al agregar o quitar regiones, la zona DNS privada se actualiza automáticamente.
    Nombre de la configuración Seleccione su suscripción y grupo de recursos. La zona DNS privada se determina automáticamente. No puede cambiarla con Azure Portal.
  9. Seleccione Aceptar.

  10. Seleccione Siguiente: Etiquetas>Revisar y crear. En la página Revisar y crear, seleccione Crear.

Habilitación de acceso privado en un clúster existente

Para crear un punto de conexión privado para un nodo de un clúster existente, abra la página Redes del clúster.

  1. Seleccione Agregar punto de conexión privado.

    Captura de pantalla de la selección de Agregar punto de conexión privado en la pantalla Redes.

  2. En la pestaña Aspectos básicos de la pantalla Crear un punto de conexión privado, confirme la suscripción, el grupo de recursos y la región. Escriba un nombre para el punto de conexión, como my-cluster-1 y un nombre de interfaz de red, como my-cluster-1-nic.

    Nota

    Se recomienda seleccionar una suscripción y una región que coincidan con las del clúster, a menos que tenga una buena razón para no hacerlo. Es posible que los valores predeterminados de los campos del formulario no sean correctos. Compruébelos y actualícelos si es necesario.

  3. Seleccione Siguiente: Resource (Siguiente: Recurso). En Subrecurso de destino, elija el nodo de destino del clúster. Normalmente, el coordinador es el nodo deseado.

  4. Seleccione Siguiente: Máquinas virtuales. Elija los valores deseados para Red virtual y Subred. En Configuración de IP privada, seleccione Asignar estáticamente la dirección IP o mantenga la dirección IP predeterminada y asigne dinámicamente la dirección IP.

  5. Seleccione Next: DNS (Siguiente: DNS).

  6. En Integración de DNS privado, en Integrar con la zona DNS privada, mantenga el valor predeterminado o seleccione No.

  7. Seleccione Siguiente: Etiquetas y agregue las etiquetas que prefiera.

  8. Seleccione Revisar y crear. Revise la configuración y, cuando esté satisfecho, seleccione Crear.

Cree un punto de conexión privado mediante la CLI de Azure

Ejecute el siguiente script de la CLI de Azure para crear un punto de conexión privado denominado myPrivateEndpoint para una cuenta de Azure Cosmos DB existente. Reemplace los valores variables por los detalles de su entorno.

# 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 

Integración del punto de conexión privado con una zona DNS privada

Después de crear el punto de conexión privado, puede integrarlo con una zona DNS privada mediante el siguiente script de la CLI de Azure:

#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 

Paso siguiente