Włączanie dostępu prywatnego w usłudze Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB

DOTYCZY: Rdzenie wirtualne bazy danych MongoDB

Azure Private Link to zaawansowana usługa, która umożliwia użytkownikom łączenie się z usługą Azure Cosmos DB for MongoDB vCore za pośrednictwem wyznaczonego prywatnego punktu końcowego. Ten prywatny punkt końcowy składa się z prywatnych adresów IP znajdujących się w podsieci w ramach własnej sieci wirtualnej. Punkt końcowy umożliwia ograniczenie dostępu do produktu Azure Cosmos DB for MongoDB vCore wyłącznie za pośrednictwem prywatnych adresów IP. Ryzyko eksfiltracji danych jest znacznie zmniejszone, integrując usługę Private Link z rygorystycznymi zasadami sieciowej grupy zabezpieczeń. Aby lepiej zrozumieć prywatne punkty końcowe, zapoznaj się z tematem Co to jest usługa Azure Private Link?.

Uwaga

Usługa Private Link zabezpiecza jednak połączenie, ale nie uniemożliwia rozpoznawania punktów końcowych usługi Azure Cosmos DB przez publiczny system DNS. Filtrowanie żądań przychodzących jest obsługiwane na poziomie aplikacji, a nie na poziomie transportu ani sieci.

Usługa Private Link zapewnia elastyczność dostępu do rdzeni wirtualnych usługi Azure Cosmos DB for MongoDB z sieci wirtualnej lub z dowolnej połączonej równorzędnej sieci wirtualnej. Ponadto zasoby połączone z usługą Private Link są dostępne lokalnie za pośrednictwem prywatnej komunikacji równorzędnej, za pośrednictwem sieci VPN lub usługi Azure ExpressRoute.

Aby nawiązać połączenie, usługa Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB z usługą Private Link obsługuje zarówno metody automatycznego, jak i ręcznego zatwierdzania. Aby uzyskać więcej informacji, zobacz prywatne punkty końcowe w usłudze Azure Cosmos DB.

Wymagania wstępne

  • Istniejący klaster usługi Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB.

Tworzenie klastra z prywatnym punktem końcowym przy użyciu witryny Azure Portal

Wykonaj następujące kroki, aby utworzyć nowy klaster rdzeni wirtualnych usługi Azure Cosmos DB dla bazy danych MongoDB z prywatnym punktem końcowym przy użyciu witryny Azure Portal:

  1. Zaloguj się do witryny Azure Portal, a następnie wybierz pozycję Utwórz zasób w lewym górnym rogu witryny Azure Portal.

  2. Na stronie Tworzenie zasobu wybierz pozycję Bazy danych, a następnie wybierz pozycję Azure Cosmos DB.

  3. Na stronie Wybierz interfejs API na kafelku MongoDB wybierz pozycję Utwórz.

  4. Wybierz typ zasobu klastra rdzeni wirtualnych.

  5. Na stronie Tworzenie klastra rdzeni wirtualnych usługi Azure Cosmos DB dla bazy danych MongoDB wybierz lub utwórz grupę zasobów, wprowadź nazwę klastra i lokalizację, a następnie wprowadź i potwierdź hasło administratora.

  6. Wybierz pozycję Dalej: Sieć.

  7. Wybierz kartę Sieć, aby wybrać metodę Połączenie ivity, wybierz pozycję Dostęp prywatny.

  8. Na ekranie Tworzenie prywatnego punktu końcowego wprowadź lub wybierz odpowiednie wartości dla:

    Ustawienie Wartość
    Grupa zasobów Wybierz grupę zasobów.
    Nazwisko Wprowadź dowolną nazwę prywatnego punktu końcowego. Jeśli ta nazwa zostanie pobrana, utwórz unikatową nazwę.
    Nazwa interfejsu sieciowego Wprowadź dowolną nazwę interfejsu sieciowego. Jeśli ta nazwa zostanie pobrana, utwórz unikatową nazwę.
    Lokalizacja Wybierz region, w którym chcesz wdrożyć usługę Private Link. Utwórz prywatny punkt końcowy w tej samej lokalizacji, w której istnieje sieć wirtualna.
    Docelowy podźródło Wybierz typ podźródła zasobu wybranego wcześniej, do którego prywatny punkt końcowy powinien mieć dostęp.
    Sieć wirtualna Wybierz sieć wirtualną.
    Podsieć Wybierz podsieć.
    Integruj z prywatną strefą DNS Wybierz opcję Tak. Aby można było połączyć się prywatnie z prywatnym punktem końcowym, wymagany jest rekord DNS. Zalecamy zintegrowanie prywatnego punktu końcowego z prywatną strefą DNS. Możesz również użyć własnych serwerów DNS lub utworzyć rekordy DNS przy użyciu plików hosta na maszynach wirtualnych. Po wybraniu opcji tak dla tej opcji zostanie również utworzona prywatna grupa stref DNS. Grupa stref DNS to połączenie między prywatną strefą DNS a prywatnym punktem końcowym. Ten link ułatwia automatyczne aktualizowanie prywatnej strefy DNS w przypadku aktualizacji prywatnego punktu końcowego. Na przykład podczas dodawania lub usuwania regionów prywatna strefa DNS jest automatycznie aktualizowana.
    Nazwa konfiguracji Wybierz subskrypcję i grupę zasobów. Prywatna strefa DNS jest określana automatycznie. Nie można go zmienić przy użyciu witryny Azure Portal.
  9. Wybierz OK

  10. Wybierz pozycję Dalej: Przeglądanie tagów>i tworzenie. Na stronie Przeglądanie i tworzenie wybierz pozycję Utwórz.

Włączanie dostępu prywatnego w istniejącym klastrze

Aby utworzyć prywatny punkt końcowy w węźle w istniejącym klastrze, otwórz stronę Sieć klastra.

  1. Wybierz pozycję Dodaj prywatny punkt końcowy.

    Zrzut ekranu przedstawiający wybieranie pozycji Dodaj prywatny punkt końcowy na ekranie Sieć.

  2. Na karcie Podstawy ekranu Tworzenie prywatnego punktu końcowego potwierdź subskrypcję, grupę zasobów i region. Wprowadź nazwę punktu końcowego, na przykład my-cluster-1, i nazwę interfejsu sieciowego, taką jak my-cluster-1-nic.

    Uwaga

    Jeśli nie masz dobrego powodu do wyboru w inny sposób, zalecamy wybranie subskrypcji i regionu zgodnego z tymi z klastra. Wartości domyślne pól formularza mogą nie być poprawne. Sprawdź je i zaktualizuj w razie potrzeby.

  3. Wybierz pozycję Dalej: Zasób. W obszarze Docelowy zasób podrzędny wybierz węzeł docelowy klastra. Zazwyczaj koordynator jest żądanym węzłem.

  4. Wybierz pozycję Dalej: Sieć wirtualna. Wybierz żądaną sieć wirtualną i podsieć. W obszarze Konfiguracja prywatnego adresu IP wybierz pozycję Statycznie przydziel adres IP lub zachowaj wartość domyślną Dynamiczne przydzielanie adresu IP.

  5. Wybierz pozycję Dalej: DNS.

  6. W obszarze Prywatna strefa DNS integracji w obszarze Integracja z prywatną strefą DNS zachowaj wartość domyślną Tak lub wybierz pozycję Nie.

  7. Wybierz pozycję Dalej: Tagi i dodaj dowolne żądane tagi.

  8. Wybierz pozycję Przejrzyj i utwórz. Przejrzyj ustawienia i wybierz pozycję Utwórz , gdy jest spełniony.

Tworzenie prywatnego punktu końcowego przy użyciu interfejsu wiersza polecenia platformy Azure

Uruchom następujący skrypt interfejsu wiersza polecenia platformy Azure, aby utworzyć prywatny punkt końcowy o nazwie myPrivateEndpoint dla istniejącego konta usługi Azure Cosmos DB. Zastąp wartości zmiennych szczegółami środowiska.

# 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 

Integrowanie prywatnego punktu końcowego z prywatną strefą DNS

Po utworzeniu prywatnego punktu końcowego można zintegrować go z prywatną strefą DNS przy użyciu następującego skryptu interfejsu wiersza polecenia platformy 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 

Następny krok