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 HDInsight-beheer-IP-adressen die nodig zijn om netwerkbeveiligingsgroepen (NSG's) en door de gebruiker gedefinieerde routes correct te configureren.

Met behulp van een Azure Virtual Network de volgende scenario's mogelijk:

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

Belangrijk

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

Na 28 februari 2019 worden de netwerkresources (zoals NIC's, LBS, enzovoort) voor nieuwe HDInsight-clusters die in een VNET zijn gemaakt, ingericht in dezelfde HDInsight-clusterresourcegroep. Voorheen werden deze resources ingericht in de VNET-resourcegroep. Er is geen wijziging in de huidige clusters die worden uitgevoerd en die clusters die zijn gemaakt zonder een 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 wilt werken met resources in verschillende netwerken, moet u mogelijk een aangepaste DNS maken en DNS-doorsturen configureren. Zie de sectie Meerdere netwerken verbinden voor meer informatie.

  • Wilt u het inkomende of uitgaande verkeer naar HDInsight beperken/omleiden?

    HDInsight moet onbeperkte communicatie hebben met specifieke IP-adressen in het Azure-datacenter. Er zijn ook verschillende poorten die via firewalls moeten worden toegestaan voor clientcommunicatie. Zie Netwerkverkeer controleren 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 hebben.
  1. Gebruikt u een klassiek of Resource Manager implementatiemodel voor het virtuele netwerk?

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

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

    Nadat HDInsight is samengevoegd, kan HDInsight, geïnstalleerd in 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, moet u bestaande netwerkbeveiligingsgroepen of door de gebruiker gedefinieerde routes bijwerken.

    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 voor virtuele apparaten kunnen worden toegestaan.

    Als u uw bestaande beveiligingsconfiguratie wilt vinden, gebruikt u de volgende Azure PowerShell of Azure CLI-opdrachten:

    • Netwerkbeveiligingsgroepen

      Vervang RESOURCEGROUP door 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 netwerkbeveiligingsgroep 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 voor dat verkeer. Volgorderegels van de meest permissieve naar de minst permissieve. Zie het document Netwerkverkeer filteren met netwerkbeveiligingsgroepen voor meer informatie.

    • Door de gebruiker gedefinieerde routes

      Vervang RESOURCEGROUP door 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 Troubleshoot routes (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 krijgen in het proces voor het maken van clusters:

    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 naamsresolutie tussen de netwerken.

Azure biedt naamresolutie voor Azure-services die zijn geïnstalleerd in een virtueel netwerk. Met deze ingebouwde naamresolutie 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, met behulp van de interne DNS-naam van de resource. Als u bijvoorbeeld de standaardnaamresolutie gebruikt, zijn de volgende voorbeelden 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 met andere knooppunten in HDInsight communiceren met behulp van interne DNS-namen.

Met de standaardnaamresolutie kan HDInsight de namen van resources in netwerken die zijn verbonden met het virtuele netwerk niet oplossen. Het is bijvoorbeeld gebruikelijk om uw on-premises netwerk aan het virtuele netwerk toe te sluiten. Met alleen de standaardnaamresolutie heeft HDInsight geen toegang tot resources in het on-premises netwerk op naam. Het tegenovergestelde geldt ook, 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 naamsresolutie wilt inschakelen tussen het virtuele netwerk en resources in verbonden netwerken, 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):

        • Aanvragen voor het DNS-achtervoegsel van het virtuele netwerk doorsturen 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 naam resolutie, zelfs aanvragen voor internetbronnen zoals Microsoft.com.

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

        Deze configuratie routeer aanvragen voor volledig gekwalificeerde domeinnamen die het DNS-achtervoegsel van het virtuele netwerk bevatten 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 ander Azure-Virtual Network, 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 oplossen 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 worden aanvragen doorgestuurd naar de 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 Naamom oplossing voor VM's en rol instances 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 er ook toegang toe via het privé-eindpunt https://CLUSTERNAME-int.azurehdinsight.net . Dit eindpunt wordt voor clustertoegang opgelost naar een privé-IP-adres in het VNet.

Als u via het virtuele netwerk verbinding wilt maken met Apache Ambari en andere webpagina's, gebruikt u de volgende stappen:

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

    Vervang RESOURCEGROUP door 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 voor http://<headnode-fqdn>:8080 toegang tot Ambari.

    Belangrijk

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

  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 load balancer ook een cluster gemaakt. Het type van deze load balancer is op het niveau van de basis-SKU,die 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 basic load balancers. Zie Veelgestelde vragen over virtuele netwerken: beperkingen voor wereldwijde vnet-peeringvoor meer informatie.

Volgende stappen