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
- Un clúster existente de núcleos virtuales de Azure Cosmos DB for MongoDB.
- Si no tiene una suscripción de Azure, cree una cuenta gratuita.
- Si tiene una suscripción de Azure existente, cree un clúster de núcleo virtual de Azure Cosmos DB for MongoDB.
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:
Inicie sesión en Azure Portal y, después, seleccione Crear un recurso en la esquina superior izquierda de Azure Portal.
En la página Crear un recurso, seleccione Bases de datos y, después, seleccione Azure Cosmos DB.
En la página Seleccionar opción de API, en el icono de MongoDB, seleccione Crear.
Elija el tipo de recurso de clúster de núcleo virtual.
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.
Seleccione Siguiente: Redes.
Seleccione la pestaña Redes, en Método de conectividad, seleccione Acceso privado.
En la pantalla Crear punto de conexión privado, escriba o seleccione los valores adecuados para:
Configuración Valor 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. Tipo de recurso Seleccione Microsoft.DocumentDB/mongoClusters
.Recurso de destino Seleccione el recurso de núcleo virtual de Azure Cosmos DB para MongoDB que creó. 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 Sí. 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. Seleccione Aceptar.
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.
Seleccione Agregar punto de conexión privado.
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.
Seleccione Siguiente: Resource (Siguiente: Recurso). Elija "Microsoft.DocumentDB/mongoClusters" en Tipo de recurso y, en Recurso, elija el clúster de destino. En Subrecurso de destino, elija "MongoCluster".
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.
Seleccione Next: DNS (Siguiente: DNS).
En Integración de DNS privado, en Integrar con la zona DNS privada, mantenga el valor predeterminado Sí o seleccione No.
Seleccione Siguiente: Etiquetas y agregue las etiquetas que prefiera.
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
Comandos de MongoClusters en vínculo privado
az network private-link-resource list \
-g <rg-name> \
-n <resource-name> \
--type Microsoft.DocumentDB/mongoClusters