Een virtueel netwerk plannen voor Azure HDInsight

Dit artikel bevat achtergrondinformatie over het gebruik van Azure Virtual Networks (VNets) met Azure HDInsight. Ook worden ontwerp- en implementatiebeslissingen besproken die moeten worden genomen voordat u een virtueel netwerk voor uw HDInsight-cluster kunt implementeren. Zodra de planningsfase is voltooid, kunt u doorgaan met Virtuele netwerken maken voor Azure HDInsight-clusters. Zie IP-adressen voor HDInsight-beheer voor meer informatie over IP-adressen voor HDInsight-beheer die nodig zijn voor het correct configureren van netwerkbeveiligingsgroepen (NSG's) en door de gebruiker gedefinieerde routes.

Als u een Azure-Virtual Network gebruikt, kunt u de volgende scenario's gebruiken:

  • Rechtstreeks verbinding maken met HDInsight vanuit een on-premises netwerk.
  • HDInsight verbinden met gegevensarchieven in een virtueel Azure-netwerk.
  • Rechtstreeks toegang tot Apache Hadoop-services die niet openbaar beschikbaar zijn via internet. Bijvoorbeeld Apache Kafka-API's of de Apache HBase Java-API.

Belangrijk

Als u een HDInsight-cluster in een VNET maakt, worden verschillende netwerkresources gemaakt, zoals NIC's en load balancers. Verwijder of wijzig deze netwerkresources niet , omdat ze nodig zijn om uw cluster correct te laten functioneren met het VNET.

Planning

Hier volgen de vragen die u moet beantwoorden bij het plannen van de installatie van HDInsight in een virtueel netwerk:

  • Moet u HDInsight installeren in een bestaand virtueel netwerk? Of maakt u een nieuw netwerk?

    Als u een bestaand virtueel netwerk gebruikt, moet u mogelijk de netwerkconfiguratie wijzigen voordat u HDInsight kunt installeren. Zie de sectie HDInsight toevoegen aan een bestaand virtueel netwerk voor meer informatie.

  • Wilt u het virtuele netwerk met HDInsight verbinden met een ander virtueel netwerk of uw on-premises netwerk?

    Als u eenvoudig met resources in netwerken wilt werken, moet u mogelijk een aangepaste DNS maken en DNS-doorsturen configureren. Zie de sectie Meerdere netwerken verbinden voor meer informatie.

  • Wilt u binnenkomend of uitgaand verkeer naar HDInsight beperken/omleiden?

    HDInsight moet onbeperkte communicatie hebben met specifieke IP-adressen in het Azure-datacenter. Er zijn ook verschillende poorten die moeten worden toegestaan via firewalls voor clientcommunicatie. Zie Netwerkverkeer beheren voor meer informatie.

HDInsight toevoegen aan een bestaand virtueel netwerk

Gebruik de stappen in deze sectie om te ontdekken hoe u een nieuwe HDInsight toevoegt aan een bestaande Azure-Virtual Network.

Notitie

  • U kunt geen bestaand HDInsight-cluster toevoegen aan een virtueel netwerk.
  • Het VNET en het cluster dat wordt gemaakt, moeten zich in hetzelfde abonnement bevinden.
  1. Gebruikt u een klassiek of Resource Manager implementatiemodel voor het virtuele netwerk?

    Voor HDInsight 3.4 en hoger is een Resource Manager virtueel netwerk vereist. Voor eerdere versies van HDInsight was een klassiek virtueel netwerk vereist.

    Als uw bestaande netwerk een klassiek virtueel netwerk is, moet u een Resource Manager virtueel netwerk maken en de twee vervolgens verbinden. Klassieke VNets verbinden met nieuwe VNets.

    Na de koppeling kan HDInsight dat is geïnstalleerd in het Resource Manager netwerk communiceren met resources in het klassieke netwerk.

  2. Gebruikt u netwerkbeveiligingsgroepen, door de gebruiker gedefinieerde routes of Virtual Network-apparaten om verkeer naar of van het virtuele netwerk te beperken?

    Als beheerde service vereist HDInsight onbeperkte toegang tot verschillende IP-adressen in het Azure-datacenter. Als u communicatie met deze IP-adressen wilt toestaan, werkt u alle bestaande netwerkbeveiligingsgroepen of door de gebruiker gedefinieerde routes bij.

    HDInsight host meerdere services, die gebruikmaken van verschillende poorten. Blokkeer geen verkeer naar deze poorten. Zie de sectie Beveiliging voor een lijst met poorten die via firewalls van virtuele apparaten kunnen worden toegestaan.

    Gebruik de volgende Azure PowerShell- of Azure CLI-opdrachten om uw bestaande beveiligingsconfiguratie te vinden:

    • Netwerkbeveiligingsgroepen

      Vervang door RESOURCEGROUP de naam van de resourcegroep die het virtuele netwerk bevat en voer vervolgens de opdracht in:

      Get-AzNetworkSecurityGroup -ResourceGroupName  "RESOURCEGROUP"
      
      az network nsg list --resource-group RESOURCEGROUP
      

      Zie het document Problemen met netwerkbeveiligingsgroepen oplossen voor meer informatie.

      Belangrijk

      Regels voor netwerkbeveiligingsgroepen worden op volgorde toegepast op basis van regelprioriteit. De eerste regel die overeenkomt met het verkeerspatroon wordt toegepast en er worden geen andere regels toegepast op dat verkeer. Regels ordenen van het meest toegestaan tot het minst toegestaan. Zie het document Netwerkverkeer filteren met netwerkbeveiligingsgroepen voor meer informatie.

    • Door de gebruiker gedefinieerde routes

      Vervang door RESOURCEGROUP de naam van de resourcegroep die het virtuele netwerk bevat en voer vervolgens de opdracht in:

      Get-AzRouteTable -ResourceGroupName "RESOURCEGROUP"
      
      az network route-table list --resource-group RESOURCEGROUP
      

      Zie het document Problemen met routes oplossen voor meer informatie.

  3. Maak een HDInsight-cluster en selecteer de Azure-Virtual Network tijdens de configuratie. Gebruik de stappen in de volgende documenten om inzicht te hebben in het proces voor het maken van een cluster:

    Belangrijk

    Het toevoegen van HDInsight aan een virtueel netwerk is een optionele configuratiestap. Zorg ervoor dat u het virtuele netwerk selecteert bij het configureren van het cluster.

Meerdere netwerken verbinden

De grootste uitdaging bij een configuratie met meerdere netwerken is naamomzetting tussen de netwerken.

Azure biedt naamomzetting voor Azure-services die zijn geïnstalleerd in een virtueel netwerk. Met deze ingebouwde naamomzetting kan HDInsight verbinding maken met de volgende resources met behulp van een FQDN (Fully Qualified Domain Name):

  • Elke resource die beschikbaar is op internet. Bijvoorbeeld microsoft.com, windowsupdate.com.

  • Elke resource die zich in dezelfde Azure Virtual Network bevindt, met behulp van de interne DNS-naam van de resource. Als u bijvoorbeeld de standaardnaamomzetting gebruikt, ziet u hier voorbeelden van interne DNS-namen die zijn toegewezen aan HDInsight-werkknooppunten:

    • <workername1.0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net>

    • <workername2.0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net>

      Beide knooppunten kunnen rechtstreeks met elkaar en andere knooppunten in HDInsight communiceren met behulp van interne DNS-namen.

Met de standaardnaamomzetting kan HDInsight de namen van resources in netwerken die zijn gekoppeld aan het virtuele netwerk niet omzetten. Het is bijvoorbeeld gebruikelijk om uw on-premises netwerk toe te voegen aan het virtuele netwerk. Met alleen de standaardnaamomzetting heeft HDInsight geen toegang tot resources in het on-premises netwerk op naam. Het omgekeerde is ook waar: resources in uw on-premises netwerk hebben geen toegang tot resources in het virtuele netwerk op naam.

Waarschuwing

U moet de aangepaste DNS-server maken en het virtuele netwerk configureren om deze te gebruiken voordat u het HDInsight-cluster maakt.

Als u naamomzetting tussen het virtuele netwerk en resources in gekoppelde netwerken wilt inschakelen, moet u de volgende acties uitvoeren:

  1. Maak een aangepaste DNS-server in de Azure Virtual Network waar u HDInsight wilt installeren.

  2. Configureer het virtuele netwerk voor het gebruik van de aangepaste DNS-server.

  3. Zoek het door Azure toegewezen DNS-achtervoegsel voor uw virtuele netwerk. Deze waarde is vergelijkbaar met 0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net. Zie de sectie Voorbeeld: Aangepaste DNS voor meer informatie over het vinden van het DNS-achtervoegsel.

  4. Doorsturen tussen de DNS-servers configureren. De configuratie is afhankelijk van het type extern netwerk.

    • Als het externe netwerk een on-premises netwerk is, configureert u DNS als volgt:

      • Aangepaste DNS (in het virtuele netwerk):

        • Stuur aanvragen voor het DNS-achtervoegsel van het virtuele netwerk door naar de recursieve resolver van Azure (168.63.129.16). Azure verwerkt aanvragen voor resources in het virtuele netwerk

        • Alle andere aanvragen doorsturen naar de on-premises DNS-server. De on-premises DNS verwerkt alle andere aanvragen voor naamomzetting, zelfs aanvragen voor internetbronnen zoals Microsoft.com.

      • On-premises DNS: stuur aanvragen voor het DNS-achtervoegsel van het virtuele netwerk door naar de aangepaste DNS-server. De aangepaste DNS-server wordt vervolgens doorgestuurd naar de recursieve resolver van Azure.

        Met deze configuratie worden aanvragen voor volledig gekwalificeerde domeinnamen die het DNS-achtervoegsel van het virtuele netwerk bevatten, gerouteerd naar de aangepaste DNS-server. Alle andere aanvragen (zelfs voor openbare internetadressen) worden verwerkt door de on-premises DNS-server.

    • Als het externe netwerk een andere Azure-Virtual Network is, configureert u DNS als volgt:

      • Aangepaste DNS (in elk virtueel netwerk):

        • Aanvragen voor het DNS-achtervoegsel van de virtuele netwerken worden doorgestuurd naar de aangepaste DNS-servers. De DNS in elk virtueel netwerk is verantwoordelijk voor het omzetten van resources binnen het netwerk.

        • Alle andere aanvragen doorsturen naar de recursieve resolver van Azure. De recursieve resolver is verantwoordelijk voor het oplossen van lokale en internetbronnen.

        De DNS-server voor elk netwerk stuurt aanvragen door naar het andere, op basis van dns-achtervoegsel. Andere aanvragen worden opgelost met behulp van de recursieve resolver van Azure.

      Zie de sectie Voorbeeld: Aangepaste DNS voor een voorbeeld van elke configuratie.

Zie het document Naamomzetting voor VM's en rolinstanties voor meer informatie.

Rechtstreeks verbinding maken met Apache Hadoop-services

U kunt verbinding maken met het cluster op https://CLUSTERNAME.azurehdinsight.net. Dit adres maakt gebruik van een openbaar IP-adres, dat mogelijk niet bereikbaar is als u NSG's hebt gebruikt om binnenkomend verkeer van internet te beperken. Wanneer u het cluster in een VNet implementeert, hebt u bovendien toegang tot het cluster met behulp van het privé-eindpunt https://CLUSTERNAME-int.azurehdinsight.net. Dit eindpunt wordt omgezet in een privé-IP-adres in het VNet voor clustertoegang.

Voer de volgende stappen uit om verbinding te maken met Apache Ambari en andere webpagina's via het virtuele netwerk:

  1. Gebruik een van de volgende methoden om de interne FQDN's (Fully Qualified Domain Names) van de HDInsight-clusterknooppunten te detecteren:

    Vervang door RESOURCEGROUP de naam van de resourcegroep die het virtuele netwerk bevat en voer vervolgens de opdracht in:

    $clusterNICs = Get-AzNetworkInterface -ResourceGroupName "RESOURCEGROUP" | where-object {$_.Name -like "*node*"}
    
    $nodes = @()
    foreach($nic in $clusterNICs) {
        $node = new-object System.Object
        $node | add-member -MemberType NoteProperty -name "Type" -value $nic.Name.Split('-')[1]
        $node | add-member -MemberType NoteProperty -name "InternalIP" -value $nic.IpConfigurations.PrivateIpAddress
        $node | add-member -MemberType NoteProperty -name "InternalFQDN" -value $nic.DnsSettings.InternalFqdn
        $nodes += $node
    }
    $nodes | sort-object Type
    
    az network nic list --resource-group RESOURCEGROUP --output table --query "[?contains(name, 'node')].{NICname:name,InternalIP:ipConfigurations[0].privateIpAddress,InternalFQDN:dnsSettings.internalFqdn}"
    

    Zoek in de lijst met geretourneerde knooppunten de FQDN voor de hoofdknooppunten en gebruik de FQDN's om verbinding te maken met Ambari en andere webservices. Gebruik bijvoorbeeld om toegang te krijgen http://<headnode-fqdn>:8080 tot Ambari.

    Belangrijk

    Sommige services die worden gehost op de hoofdknooppunten, zijn slechts op één knooppunt tegelijk actief. Als u toegang probeert te krijgen tot een service op het ene hoofdknooppunt en er een 404-fout wordt geretourneerd, schakelt u over naar het andere hoofdknooppunt.

  2. Zie het document Poorten die worden gebruikt door Hadoop-services in HDInsight om te bepalen op welk knooppunt en welke poort een service beschikbaar is.

Taakverdeling

Wanneer u een HDInsight-cluster maakt, wordt er ook een load balancer gemaakt. Het type van deze load balancer bevindt zich op het basis-SKU-niveau, dat bepaalde beperkingen heeft. Een van deze beperkingen is dat als u twee virtuele netwerken in verschillende regio's hebt, u geen verbinding kunt maken met eenvoudige load balancers. Zie Veelgestelde vragen over virtuele netwerken: beperkingen voor wereldwijde vnet-peering voor meer informatie.

Een andere beperking is dat de HDInsight-load balancers niet mogen worden verwijderd of gewijzigd. Wijzigingen in de load balancer-regels worden overschreven tijdens bepaalde onderhoudsbeurtenissen, zoals certificaatvernieuwingen. Als de load balancers zijn gewijzigd en dit van invloed is op de clusterfunctionaliteit, moet u het cluster mogelijk opnieuw maken.

Volgende stappen