Private Link inschakelen op een HDInsight-cluster

In dit artikel leert u hoe u Azure Private Link gebruikt om privé verbinding te maken met een HDInsight-cluster via het Microsoft-backbone-netwerk. Dit artikel is een uitbreiding van het artikel Clusterconnectiviteit beperken in Azure HDInsight, dat is gericht op het beperken van openbare connectiviteit. Als u openbare connectiviteit met of binnen uw HDInsight-clusters en afhankelijke resources wilt, kunt u overwegen de connectiviteit van uw cluster te beperken door de richtlijnen te volgen in Netwerkverkeer beheren in Azure HDInsight.

Private Link kan worden gebruikt in scenario's voor meerdere netwerken waarbij peering van virtuele netwerken niet beschikbaar of ingeschakeld is.

Notitie

Het beperken van openbare connectiviteit is een vereiste voor het inschakelen van Private Link en mag niet als dezelfde mogelijkheid worden beschouwd.

Het gebruik van Private Link om verbinding te maken met een HDInsight-cluster is een optionele functie en is standaard uitgeschakeld. De functie is alleen beschikbaar wanneer de resourceProviderConnection netwerkeigenschap is ingesteld op uitgaand, zoals beschreven in het artikel Clusterconnectiviteit beperken in Azure HDInsight.

Wanneer privateLink deze instelling is ingeschakeld, worden interne load balancers (SLO's) gemaakt en wordt er een Azure Private Link-service ingericht voor elke SLB. Met de Private Link-service hebt u toegang tot het HDInsight-cluster vanaf privé-eindpunten.

Het maken van een Private Link-cluster voert veel stappen uit, dus we hebben ze hier beschreven. Volg elk van de onderstaande stappen om ervoor te zorgen dat alles correct is ingesteld.

Stap 1: Maak vereisten

Als u wilt beginnen, implementeert u de volgende resources als u ze nog niet hebt gemaakt. U moet ten minste één resourcegroep, twee virtuele netwerken en een netwerkbeveiligingsgroep hebben om te koppelen aan het subnet waarin het HDInsight-cluster wordt geïmplementeerd, zoals hieronder wordt weergegeven.

Type Naam Doel
Resourcegroep hdi-privlink-rg Wordt gebruikt om algemene resources bij elkaar te houden
Virtueel netwerk hdi-privlink-cluster-vnet Het VNET waar het cluster wordt geïmplementeerd
Virtueel netwerk hdi-privlink-client-vnet Het VNET vanaf waaruit clients verbinding maken met het cluster
Netwerkbeveiligingsgroep hdi-privlink-cluster-vnet-nsg Standaard-NSG zoals vereist voor clusterimplementatie

Notitie

De netwerkbeveiligingsgroep (NSG) kan eenvoudig worden geïmplementeerd. We hoeven geen NSG-regels voor clusterimplementatie te wijzigen.

Stap 2: Configureer het HDInsight-subnet

  • Schakel privateLinkServiceNetworkPolicies in subnet uit. Als u een bron-IP-adres voor uw Private Link-service wilt kiezen, is een expliciete instelling privateLinkServiceNetworkPolicies voor uitschakelen vereist voor het subnet. Volg de instructies hier om netwerkbeleid uit te schakelen voor Private Link-services.
  • Schakel service-eindpunten in op het subnet. Voor een geslaagde implementatie van een HDInsight-cluster van Private Link raden we u aan de Microsoft.SQL, Microsoft.Storageen Microsoft.KeyVault service-eindpunten toe te voegen aan uw subnet vóór de clusterimplementatie. Service-eindpunten routeren verkeer rechtstreeks van uw virtuele netwerk naar de service in het Backbone-netwerk van Microsoft Azure. Door het verkeer op het Azure-backbone-netwerk in stand te houden, kunt u het uitgaande internetverkeer vanuit uw virtuele netwerk blijven controleren en bewaken via geforceerd tunnelen, zonder dat dit van invloed is op het serviceverkeer.

Stap 3: NAT-gateway of firewall implementeren

Standard load balancers bieden niet automatisch openbare uitgaande NAT , zoals standaard load balancers doen. Omdat Private Link-clusters gebruikmaken van standaard load balancers, moet u uw eigen NAT-oplossing leveren, zoals een NAT-gateway of een NAT die door uw firewall wordt geleverd, om verbinding te maken met uitgaande, openbare HDInsight-afhankelijkheden.

Een NAT-gateway implementeren (optie 1)

U kunt ervoor kiezen om een NAT-gateway te gebruiken als u geen firewall of een NVA (Network Virtual Appliance) voor NAT wilt configureren. Als u wilt beginnen, voegt u een NAT-gateway (met een nieuw openbaar IP-adres in uw virtuele netwerk) toe aan het geconfigureerde subnet van uw virtuele netwerk. Deze gateway is verantwoordelijk voor het vertalen van uw persoonlijke interne IP-adres naar openbare adressen wanneer verkeer buiten uw virtuele netwerk moet gaan.

Voor een eenvoudige installatie om aan de slag te gaan:

  1. Zoek in Azure Portal naar NAT-gateways en klik op Maken.

  2. Gebruik de volgende configuraties in de NAT-gateway. (We bevatten hier niet alle configuraties, zodat u de standaardwaarden kunt gebruiken.)

    Configureren Weergegeven als
    NAT-gatewaynaam hdi-privlink-nat-gateway
    Voorvoegsels voor openbare IP Een nieuw openbaar IP-voorvoegsel maken
    Naam van openbaar IP-voorvoegsel hdi-privlink-nat-gateway-voorvoegsel
    Grootte van openbaar IP-voorvoegsel /28 (16 adressen)
    Virtueel netwerk hdi-privlink-cluster-vnet
    Subnetnaam default
  3. Zodra de NAT-gateway is geïmplementeerd, bent u klaar om naar de volgende stap te gaan.

Een firewall configureren (optie 2)

Voor een eenvoudige installatie om aan de slag te gaan:

  1. Voeg een nieuw subnet met de naam AzureFirewallSubnet toe aan uw virtuele netwerk.
  2. Gebruik het nieuwe subnet om een nieuwe firewall te configureren en uw firewallbeleid toe te voegen.
  3. Gebruik het privé-IP-adres van de nieuwe firewall als de nextHopIpAddress waarde in uw routetabel.
  4. Voeg de routetabel toe aan het geconfigureerde subnet van uw virtuele netwerk.

Uw HDInsight-cluster heeft nog steeds toegang nodig tot de uitgaande afhankelijkheden. Als deze uitgaande afhankelijkheden niet zijn toegestaan, kan het maken van een cluster mislukken. Zie Netwerkverkeer beheren in Azure HDInsight voor meer informatie over het instellen van een firewall.

Stap 4: Private Link-cluster implementeren

Op dit moment moet aan alle vereisten zijn voldaan en bent u klaar om het Private Link-cluster te implementeren. In het volgende diagram ziet u een voorbeeld van de netwerkconfiguratie die is vereist voordat u het cluster maakt. In dit voorbeeld wordt al het uitgaande verkeer gedwongen naar Azure Firewall via een door de gebruiker gedefinieerde route. De vereiste uitgaande afhankelijkheden moeten worden toegestaan op de firewall voordat het cluster wordt gemaakt. Voor Enterprise Security Package-clusters kan peering van virtuele netwerken de netwerkverbinding met Microsoft Entra Domain Services bieden.

Diagram van de Private Link-omgeving voordat het cluster wordt gemaakt.

Het cluster maken

Het volgende JSON-codefragment bevat de twee netwerkeigenschappen die u moet configureren in uw Azure Resource Manager-sjabloon om een privé HDInsight-cluster te maken:

networkProperties: {
    "resourceProviderConnection": "Outbound",
    "privateLink": "Enabled"
}

Zie de HDInsight Enterprise-beveiligingssjabloon voor een volledige sjabloon met veel van de beveiligingsfuncties van HDInsight Enterprise, waaronder Private Link.

Als u een cluster wilt maken met behulp van PowerShell, raadpleegt u het voorbeeld.

Als u een cluster wilt maken met behulp van de Azure CLI, raadpleegt u het voorbeeld.

Stap 5: Maak privé-eindpunten

Azure maakt automatisch een Private Link-service voor de Ambari- en SSH-load balancers tijdens de implementatie van het Private Link-cluster. Nadat het cluster is geïmplementeerd, moet u twee privé-eindpunten maken op de client-VNet('s), één voor Ambari en één voor SSH-toegang. Koppel ze vervolgens aan de Private Link-services die zijn gemaakt als onderdeel van de clusterimplementatie.

De privé-eindpunten maken:

  1. Open Azure Portal en zoek naar 'Private link'.

  2. Klik in de resultaten op het pictogram Privékoppeling.

  3. Klik op Privé-eindpunt maken en gebruik de volgende configuraties om het Ambari-privé-eindpunt in te stellen:

    Configureren Weergegeven als
    Naam hdi-privlink-cluster
    Brontype Microsoft.Network/privateLinkServices
    Bron gateway-* (Deze waarde moet overeenkomen met de HDI-implementatie-id van uw cluster, bijvoorbeeld gateway-4eafe3a2a67e4cd88762c22a55fe4654)
    Virtueel netwerk hdi-privlink-client-vnet
    Subnet default

    Diagram van het tabblad Basic van Private Link.Diagram van het tabblad Private Link-resource.Diagram van het tabblad Virtueel netwerk private link.Diagram van het tabblad Dns-eindpunt private link.Diagram van het tabblad Private Link-tag.Diagram van het tabblad Private Link-controle.

  4. Herhaal het proces om een ander privé-eindpunt te maken voor SSH-toegang met behulp van de volgende configuraties:

    Configureren Weergegeven als
    Naam hdi-privlink-cluster-ssh
    Brontype Microsoft.Network/privateLinkServices
    Bron headnode-* (Deze waarde moet overeenkomen met de HDI-implementatie-id van uw cluster, bijvoorbeeld headnode-4eafe3a2a67e4cd88762c22a55fe4654)
    Virtueel netwerk hdi-privlink-client-vnet
    Subnet default

Belangrijk

Als u een KafkaRestProxy HDInsight-cluster gebruikt, volgt u deze extra stappen om privé-eindpunten in te schakelen.

Zodra de privé-eindpunten zijn gemaakt, bent u klaar met deze fase van de installatie. Als u geen notitie hebt gedaan van de privé-IP-adressen die zijn toegewezen aan de eindpunten, volgt u de onderstaande stappen:

  1. Open het client-VNET in Azure Portal.
  2. Klik op het tabblad Privé-eindpunten.
  3. De Ambari- en SSH-netwerkinterfaces worden weergegeven.
  4. Klik op elk adres en navigeer naar de blade DNS-configuratie om het privé-IP-adres weer te geven.
  5. Noteer deze IP-adressen omdat ze vereist zijn om verbinding te maken met het cluster en DNS correct te configureren.

Stap 6: Configureer DNS om verbinding te maken via privé-eindpunten

Voor toegang tot privéclusters kunt u DNS-omzetting configureren via privé-DNS-zones. De Private Link-vermeldingen die zijn gemaakt in de door Azure beheerde openbare DNS-zone azurehdinsight.net zijn als volgt:

<clustername>        CNAME    <clustername>.privatelink
<clustername>-int    CNAME    <clustername>-int.privatelink
<clustername>-ssh    CNAME    <clustername>-ssh.privatelink

In de volgende afbeelding ziet u een voorbeeld van de privé-DNS-vermeldingen die zijn geconfigureerd om toegang tot een cluster mogelijk te maken vanuit een virtueel netwerk dat niet is gekoppeld of die geen directe detectielijn voor het cluster heeft. U kunt een privézone van Azure DNS gebruiken om FQDN's (Fully Qualified Domain Names) te overschrijven *.privatelink.azurehdinsight.net en de IP-adressen van privé-eindpunten in het netwerk van de client op te lossen. De configuratie is alleen bedoeld in <clustername>.azurehdinsight.net het voorbeeld, maar wordt ook uitgebreid naar andere clustereindpunten.

Diagram van de Private Link-architectuur.

DNS-omzetting configureren via een Privé-DNS zone:

  1. Maak een Azure Privé-DNS-zone. (We bevatten hier niet alle configuraties, alle andere configuraties blijven op de standaardwaarden staan)

    Configureren Weergegeven als
    Naam privatelink.azurehdinsight.net

    Diagram van de privé-DNS-zone.

  2. Voeg een recordset toe aan de Privé-DNS zone voor Ambari.

    Configureren Weergegeven als
    Naam YourPrivateLinkClusterName
    Type A - Aliasrecord naar IPv4-adres
    TTL 1
    TTL-eenheid Tijden
    IP-adres Privé-IP van privé-eindpunt voor Ambari-toegang

    Diagram van het toevoegen van een privé-DNS-zone.

  3. Voeg een recordset toe aan de Privé-DNS-zone voor SSH.

    Configureren Weergegeven als
    Naam YourPrivateLinkClusterName-ssh
    Type A - Aliasrecord naar IPv4-adres
    TTL 1
    TTL-eenheid Tijden
    IP-adres Privé-IP van privé-eindpunt voor SSH-toegang

    Diagram van de dns-zone private link: ssh-record toevoegen.

Belangrijk

Als u een KafkaRestProxy HDInsight-cluster gebruikt, volgt u deze extra stappen om DNS te configureren om verbinding te maken via een privé-eindpunt.

  1. Koppel de privé-DNS-zone aan het client-VNET door een virtuele netwerkkoppeling toe te voegen.

    1. Open de privé-DNS-zone in Azure Portal.
    2. Klik op het tabblad Virtuele netwerkkoppelingen.
    3. Klik op de knop Toevoegen.
    4. Vul de details in: Koppelingsnaam, abonnement en virtueel netwerk (uw client-VNET)
    5. Klik op Opslaan.

    Diagram van virtual-network-link.

Stap 7: Controleer de clusterconnectiviteit

De laatste stap is het testen van de verbinding met het cluster. Omdat dit cluster geïsoleerd of privé is, hebben we geen toegang tot het cluster met behulp van een openbare IP of FQDN. In plaats daarvan hebben we een aantal opties:

  • VPN-toegang tot het client-VNET instellen vanuit uw on-premises netwerk
  • Een VIRTUELE machine implementeren in het client-VNET en toegang krijgen tot het cluster vanaf deze VM

In dit voorbeeld implementeren we een VIRTUELE machine in het client-VNET met behulp van de volgende configuratie om de connectiviteit te testen.

Configureren Weergegeven als
Virtual machine name hdi-privlink-client-vm
Afbeelding Windows 10 Pro, versie 2004 - Gen1
Openbare poorten voor inkomend verkeer Geselecteerde poorten toestaan
Binnenkomende poorten selecteren RDP (3389)
Ik bevestig dat ik een in aanmerking komende Windows 10-licentie heb... Geselecteerd
Virtueel netwerk hdi-privlink-client-vnet
Subnet default

Zodra de client-VM is geïmplementeerd, kunt u zowel Ambari- als SSH-toegang testen.

Ambari-toegang testen:

  1. Open een webbrowser op de virtuele machine.
  2. Navigeer naar de reguliere FQDN van uw cluster: https://<clustername>.azurehdinsight.net
  3. Als de Ambari-gebruikersinterface wordt geladen, is de configuratie juist voor Ambari-toegang.

SSH-toegang testen:

  1. Open een opdrachtprompt om een terminalvenster op te halen.
  2. Probeer in het terminalvenster verbinding te maken met uw cluster met SSH: ssh sshuser@<clustername>.azurehdinsight.net (Vervang 'sshuser' door de ssh-gebruiker die u voor uw cluster hebt gemaakt)
  3. Als u verbinding kunt maken, is de configuratie juist voor SSH-toegang.

Privé-eindpunten beheren voor HDInsight

U kunt privé-eindpunten gebruiken voor uw Azure HDInsight-clusters, zodat clients in een virtueel netwerk veilig toegang hebben tot uw cluster via Private Link. Netwerkverkeer tussen de clients in het virtuele netwerk en het HDInsight-cluster loopt via het Backbone-netwerk van Microsoft, waardoor blootstelling van het openbare internet wordt geëlimineerd.

Diagram van de beheerervaring voor privé-eindpunten.

Een Private Link-servicegebruiker (bijvoorbeeld Azure Data Factory) kan kiezen uit twee methoden voor goedkeuring van verbindingen:

  • Automatisch: als de servicegebruiker machtigingen voor op rollen gebaseerd toegangsbeheer (RBAC) van Azure heeft voor de HDInsight-resource, kan de consument de automatische goedkeuringsmethode kiezen. Wanneer de aanvraag de HDInsight-resource bereikt, is er geen actie vereist vanuit de HDInsight-resource en wordt de verbinding automatisch goedgekeurd.
  • Handmatig: als de servicegebruiker geen Azure RBAC-machtigingen heeft voor de HDInsight-resource, kan de consument de handmatige goedkeuringsmethode kiezen. In dit geval wordt de verbindingsaanvraag weergegeven in de HDInsight-resources als In behandeling. De HDInsight-resource moet de aanvraag handmatig goedkeuren voordat verbindingen tot stand kunnen worden gebracht.

Als u privé-eindpunten wilt beheren, gaat u in de clusterweergave in Azure Portal naar de sectie Netwerken onder Beveiliging en netwerken. Hier ziet u alle bestaande verbindingen, verbindingsstatussen en details van privé-eindpunten.

U kunt ook bestaande verbindingen goedkeuren, afwijzen of verwijderen. Wanneer u een privéverbinding maakt, kunt u opgeven met welke HDInsight-subresource (bijvoorbeeld gateway- of hoofdknooppunt) u ook verbinding wilt maken.

In de volgende tabel ziet u de verschillende HDInsight-resourceacties en de resulterende verbindingsstatussen voor privé-eindpunten. Een HDInsight-resource kan ook de verbindingsstatus van de privé-eindpuntverbinding op een later tijdstip wijzigen zonder tussenkomst van de consument. De actie werkt de status van het eindpunt aan de kant van de consument bij.

Actie van serviceprovider Status privé-eindpunt serviceconsument Beschrijving
Geen In behandeling Verbinding maken wordt handmatig gemaakt en wacht op goedkeuring door de eigenaar van de Private Link-resource.
Goedkeuren Goedgekeurd De verbinding werd automatisch of handmatig goedgekeurd en is klaar om te worden gebruikt.
Verwerpen Afgewezen Verbinding maken is geweigerd door de eigenaar van de Private Link-resource.
Verwijderen Ontkoppeld Verbinding maken is verwijderd door de eigenaar van de Private Link-resource. Het privé-eindpunt wordt informatief en moet worden verwijderd voor het opschonen.

Volgende stappen