HDInsight verbinden met uw on-premises netwerk

Meer informatie over het verbinden van HDInsight met uw on-premises netwerk met behulp van virtuele Azure-netwerken en een VPN-gateway. Dit document bevat planningsinformatie over:

  • HDInsight gebruiken in een virtueel Azure-netwerk dat verbinding maakt met uw on-premises netwerk.
  • DNS-naamomzetting configureren tussen het virtuele netwerk en uw on-premises netwerk.
  • Netwerkbeveiligingsgroepen configureren om internettoegang tot HDInsight te beperken.
  • Poorten die worden geleverd door HDInsight in het virtuele netwerk.

Overzicht

Als u WILT toestaan dat HDInsight en resources in het gekoppelde netwerk op naam communiceren, moet u de volgende acties uitvoeren:

  1. Een virtueel Azure-netwerk maken.
  2. Maak een aangepaste DNS-server in het virtuele Azure-netwerk.
  3. Configureer het virtuele netwerk om de aangepaste DNS-server te gebruiken in plaats van de standaard-Recursieve Resolver van Azure.
  4. Configureer doorsturen tussen de aangepaste DNS-server en uw on-premises DNS-server.

Deze configuraties maken het volgende gedrag mogelijk:

  • Aanvragen voor volledig gekwalificeerde domeinnamen met het DNS-achtervoegsel voor het virtuele netwerk worden doorgestuurd naar de aangepaste DNS-server. De aangepaste DNS-server stuurt deze aanvragen vervolgens door naar de Azure Recursieve Resolver, die het IP-adres retourneert.
  • Alle andere aanvragen worden doorgestuurd naar de on-premises DNS-server. Zelfs aanvragen voor openbare internetbronnen, zoals microsoft.com worden doorgestuurd naar de on-premises DNS-server voor naamomzetting.

In het volgende diagram zijn groene regels aanvragen voor resources die eindigen op het DNS-achtervoegsel van het virtuele netwerk. Blauwe regels zijn aanvragen voor resources in het on-premises netwerk of op het openbare internet.

Diagram of how DNS requests are resolved in the configuration.

Vereisten

Configuratie van virtueel netwerk maken

Gebruik de volgende documenten om te leren hoe u een virtueel Azure-netwerk maakt dat is verbonden met uw on-premises netwerk:

Aangepaste DNS-server maken

Belangrijk

U moet de DNS-server maken en configureren voordat u HDInsight in het virtuele netwerk installeert.

In deze stappen wordt Azure Portal gebruikt om een virtuele Azure-machine te maken. Zie Vm maken - Azure CLI en VM maken - Azure PowerShell voor andere manieren om een virtuele machine te maken. Als u een Virtuele Linux-machine wilt maken die gebruikmaakt van de Bind DNS-software, gebruikt u de volgende stappen:

  1. Meld u aan bij het Azure-portaal.

  2. Selecteer + Een resource maken in het menu aan de bovenkant.

    Create an Ubuntu virtual machine.

  3. Selecteer Virtuele rekenmachine> om naar de pagina Een virtuele machine maken te gaan.

  4. Voer op het tabblad Basisinformatie de volgende gegevens in:

    Veld Waarde
    Abonnement Selecteer uw juiste abonnement.
    Resourcegroep Selecteer de resourcegroep die het virtuele netwerk bevat dat u eerder hebt gemaakt.
    Virtual machine name Voer een beschrijvende naam in waarmee deze virtuele machine wordt geïdentificeerd. In dit voorbeeld wordt DNSProxy gebruikt.
    Regio Selecteer dezelfde regio als het virtuele netwerk dat u eerder hebt gemaakt. Niet alle VM-grootten zijn beschikbaar in alle regio's.
    Beschikbaarheidsopties Selecteer het gewenste beschikbaarheidsniveau. Azure biedt verschillende opties voor het beheren van beschikbaarheid en tolerantie voor uw toepassingen. Ontwerp uw oplossing voor het gebruik van gerepliceerde VM's in Beschikbaarheidszones of beschikbaarheidssets om uw apps en gegevens te beschermen tegen storingen en onderhoudsgebeurtenissen in datacenters. In dit voorbeeld wordt geen infrastructuurredundantie vereist.
    Afbeelding Ga naar Ubuntu Server 18.04 LTS.
    Authentication type Wachtwoord of openbare SSH-sleutel: de verificatiemethode voor het SSH-account. We raden u aan openbare sleutels te gebruiken, omdat ze veiliger zijn. In dit voorbeeld wordt wachtwoord gebruikt. Zie het document SSH-sleutels maken en gebruiken voor linux-VM's voor meer informatie.
    User name Voer de gebruikersnaam van de beheerder in voor de virtuele machine. In dit voorbeeld wordt sshuser gebruikt.
    Wachtwoord of openbare SSH-sleutel Het beschikbare veld wordt bepaald door uw keuze voor verificatietype. Voer de juiste waarde in.
    Openbare poorten voor inkomend verkeer Selecteer Geselecteerde poorten toestaan. Selecteer vervolgens SSH (22) in de vervolgkeuzelijst Binnenkomende poorten selecteren.

    Virtual machine basic configuration.

    Laat andere vermeldingen op de standaardwaarden staan en selecteer vervolgens het tabblad Netwerken .

  5. Voer op het tabblad Netwerken de volgende gegevens in:

    Veld Waarde
    Virtueel netwerk Selecteer het virtuele netwerk dat u eerder hebt gemaakt.
    Subnet Selecteer het standaardsubnet voor het virtuele netwerk dat u eerder hebt gemaakt. Selecteer niet het subnet dat wordt gebruikt door de VPN-gateway.
    Openbare IP Gebruik de waarde die automatisch is ingevuld.

    HDInsight Virtual network settings.

    Laat andere vermeldingen op de standaardwaarden staan en selecteer vervolgens beoordelen en maken.

  6. Selecteer Op het tabblad Beoordelen en maken de optie Maken om de virtuele machine te maken.

IP-adressen controleren

Zodra de virtuele machine is gemaakt, ontvangt u een melding dat de implementatie is voltooid met de knop Ga naar de resource . Selecteer Ga naar de resource om naar uw nieuwe virtuele machine te gaan. Voer in de standaardweergave voor uw nieuwe virtuele machine de volgende stappen uit om de bijbehorende IP-adressen te identificeren:

  1. Selecteer Eigenschappen in Instellingen.

  2. Noteer de waarden voor OPENBAAR IP-ADRES/DNS-NAAMLABEL en PRIVÉ-IP-ADRES voor later gebruik.

    Public and private IP addresses.

Bind (DNS-software) installeren en configureren

  1. Gebruik SSH om verbinding te maken met het openbare IP-adres van de virtuele machine. Vervang door sshuser het SSH-gebruikersaccount dat u hebt opgegeven bij het maken van de virtuele machine. In het volgende voorbeeld wordt verbinding gemaakt met een virtuele machine op 40.68.254.142:

    ssh sshuser@40.68.254.142
    
  2. Gebruik de volgende opdrachten uit de SSH-sessie om Bind te installeren:

    sudo apt-get update -y
    sudo apt-get install bind9 -y
    
  3. Als u Bind wilt configureren om aanvragen voor naamomzetting door te sturen naar uw on-premises DNS-server, gebruikt u de volgende tekst als de inhoud van het /etc/bind/named.conf.options bestand:

    acl goodclients {
        10.0.0.0/16; # Replace with the IP address range of the virtual network
        10.1.0.0/16; # Replace with the IP address range of the on-premises network
        localhost;
        localnets;
    };
    
    options {
            directory "/var/cache/bind";
    
            recursion yes;
    
            allow-query { goodclients; };
    
            forwarders {
            192.168.0.1; # Replace with the IP address of the on-premises DNS server
            };
    
            dnssec-validation auto;
    
            auth-nxdomain no;    # conform to RFC1035
            listen-on { any; };
    };
    

    Belangrijk

    Vervang de waarden in de goodclients sectie door het IP-adresbereik van het virtuele netwerk en het on-premises netwerk. In deze sectie worden de adressen gedefinieerd waaruit deze DNS-server aanvragen accepteert.

    Vervang de 192.168.0.1 vermelding in de forwarders sectie door het IP-adres van uw on-premises DNS-server. Met deze vermelding worden DNS-aanvragen doorgestuurd naar uw on-premises DNS-server voor omzetting.

    Gebruik de volgende opdracht om dit bestand te bewerken:

    sudo nano /etc/bind/named.conf.options
    

    Als u het bestand wilt opslaan, gebruikt u Ctrl+X, Y en vervolgens Enter.

  4. Gebruik vanuit de SSH-sessie de volgende opdracht:

    hostname -f
    

    Met deze opdracht wordt een waarde geretourneerd die lijkt op de volgende tekst:

    dnsproxy.icb0d0thtw0ebifqt0g1jycdxd.ex.internal.cloudapp.net
    

    De icb0d0thtw0ebifqt0g1jycdxd.ex.internal.cloudapp.net tekst is het DNS-achtervoegsel voor dit virtuele netwerk. Sla deze waarde op, omdat deze later wordt gebruikt.

  5. Als u Bind wilt configureren om DNS-namen voor resources in het virtuele netwerk op te lossen, gebruikt u de volgende tekst als de inhoud van het /etc/bind/named.conf.local bestand:

    // Replace the following with the DNS suffix for your virtual network
    zone "icb0d0thtw0ebifqt0g1jycdxd.ex.internal.cloudapp.net" {
        type forward;
        forwarders {168.63.129.16;}; # The Azure recursive resolver
    };
    

    Belangrijk

    U moet het icb0d0thtw0ebifqt0g1jycdxd.ex.internal.cloudapp.net vervangen door het DNS-achtervoegsel dat u eerder hebt opgehaald.

    Gebruik de volgende opdracht om dit bestand te bewerken:

    sudo nano /etc/bind/named.conf.local
    

    Als u het bestand wilt opslaan, gebruikt u Ctrl+X, Y en vervolgens Enter.

  6. Gebruik de volgende opdracht om Bind te starten:

    sudo service bind9 restart
    
  7. Gebruik de volgende opdrachten om te controleren of binding de namen van resources in uw on-premises netwerk kan omzetten:

    sudo apt install dnsutils
    nslookup dns.mynetwork.net 10.0.0.4
    

    Belangrijk

    Vervang dns.mynetwork.net door de FQDN (Fully Qualified Domain Name) van een resource in uw on-premises netwerk.

    Vervang 10.0.0.4 door het interne IP-adres van uw aangepaste DNS-server in het virtuele netwerk.

    Het antwoord lijkt op de volgende tekst:

    Server:         10.0.0.4
    Address:        10.0.0.4#53
    
    Non-authoritative answer:
    Name:   dns.mynetwork.net
    Address: 192.168.0.4
    

Virtueel netwerk configureren voor het gebruik van de aangepaste DNS-server

Als u het virtuele netwerk wilt configureren voor het gebruik van de aangepaste DNS-server in plaats van de recursieve resolver van Azure, gebruikt u de volgende stappen in Azure Portal:

  1. Navigeer in het linkermenu naar Alle services>netwerken>virtuele netwerken.

  2. Selecteer uw virtuele netwerk in de lijst, waarmee de standaardweergave voor uw virtuele netwerk wordt geopend.

  3. Selecteer DNS-servers in de standaardweergave onder Instellingen.

  4. Selecteer Aangepast en voer het PRIVÉ-IP-ADRES van de aangepaste DNS-server in.

  5. Selecteer Opslaan.

    Set the custom DNS server for the network.

On-premises DNS-server configureren

In de vorige sectie hebt u de aangepaste DNS-server geconfigureerd om aanvragen door te sturen naar de on-premises DNS-server. Vervolgens moet u de on-premises DNS-server configureren om aanvragen door te sturen naar de aangepaste DNS-server.

Raadpleeg de documentatie voor uw DNS-serversoftware voor specifieke stappen voor het configureren van uw DNS-server. Zoek naar de stappen voor het configureren van een voorwaardelijke doorstuurserver.

Een voorwaardelijke doorstuurfunctie stuurt alleen aanvragen voor een specifiek DNS-achtervoegsel door. In dit geval moet u een doorstuurserver configureren voor het DNS-achtervoegsel van het virtuele netwerk. Aanvragen voor dit achtervoegsel moeten worden doorgestuurd naar het IP-adres van de aangepaste DNS-server.

De volgende tekst is een voorbeeld van een configuratie van een voorwaardelijke doorstuurserver voor de Bind DNS-software:

zone "icb0d0thtw0ebifqt0g1jycdxd.ex.internal.cloudapp.net" {
    type forward;
    forwarders {10.0.0.4;}; # The custom DNS server's internal IP address
};

Zie de documentatie add-DnsServerConditionalForwarderZone voor meer informatie over het gebruik van DNS in Windows Server 2016...

Nadat u de on-premises DNS-server hebt geconfigureerd, kunt u vanuit het on-premises netwerk gebruiken nslookup om te controleren of u namen in het virtuele netwerk kunt omzetten. Het volgende voorbeeld

nslookup dnsproxy.icb0d0thtw0ebifqt0g1jycdxd.ex.internal.cloudapp.net 196.168.0.4

In dit voorbeeld wordt de on-premises DNS-server op 196.168.0.4 gebruikt om de naam van de aangepaste DNS-server op te lossen. Vervang het IP-adres door het ip-adres voor de on-premises DNS-server. Vervang het dnsproxy adres door de volledig gekwalificeerde domeinnaam van de aangepaste DNS-server.

Optioneel: netwerkverkeer beheren

U kunt netwerkbeveiligingsgroepen (NSG) of door de gebruiker gedefinieerde routes (UDR) gebruiken om netwerkverkeer te beheren. Met NSG's kunt u inkomend en uitgaand verkeer filteren en het verkeer toestaan of weigeren. Met UDR's kunt u bepalen hoe verkeer stroomt tussen resources in het virtuele netwerk, internet en het on-premises netwerk.

Waarschuwing

HDInsight vereist binnenkomende toegang vanaf specifieke IP-adressen in de Azure-cloud en onbeperkte uitgaande toegang. Wanneer u NSG's of UDR's gebruikt om verkeer te beheren, moet u de volgende stappen uitvoeren:

  1. Zoek de IP-adressen voor de locatie die uw virtuele netwerk bevat. Zie Vereiste IP-adressen voor een lijst met vereiste IP-adressen per locatie.

  2. Sta voor de IP-adressen die zijn geïdentificeerd in stap 1 binnenkomend verkeer vanaf die IP-adressen toe.

    • Als u NSG gebruikt: inkomend verkeer toestaan op poort 443 voor de IP-adressen.
    • Als u UDR gebruikt: stel het type volgende hop van de route naar internet in voor de IP-adressen.

Zie het document Extend HDInsight met Azure Virtual Networks voor een voorbeeld van het gebruik van Azure PowerShell of de Azure CLI om NSG's te maken.

Het HDInsight-cluster maken

Waarschuwing

U moet de aangepaste DNS-server configureren voordat u HDInsight installeert in het virtuele netwerk.

Gebruik de stappen in het document Een HDInsight-cluster maken met behulp van het Azure Portal-document om een HDInsight-cluster te maken.

Waarschuwing

  • Tijdens het maken van het cluster moet u de locatie kiezen die uw virtuele netwerk bevat.
  • In het gedeelte Geavanceerde instellingen van de configuratie moet u het virtuele netwerk en subnet selecteren dat u eerder hebt gemaakt.

Verbinding maken naar HDInsight

Bij de meeste documentatie in HDInsight wordt ervan uitgegaan dat u toegang hebt tot het cluster via internet. Bijvoorbeeld, dat u verbinding met het cluster kunt maken op https://CLUSTERNAME.azurehdinsight.net. Dit adres maakt gebruik van de openbare gateway, die niet beschikbaar is als u NSG's of UDR's hebt gebruikt om de toegang vanaf internet te beperken.

Sommige documentatie verwijst ook naar headnodehost het maken van verbinding met het cluster vanuit een SSH-sessie. Dit adres is alleen beschikbaar vanuit knooppunten binnen een cluster en kan niet worden gebruikt op clients die zijn verbonden via het virtuele netwerk.

Gebruik de volgende stappen om rechtstreeks verbinding te maken met HDInsight via het virtuele netwerk:

  1. Als u de interne volledig gekwalificeerde domeinnamen van de HDInsight-clusterknooppunten wilt detecteren, gebruikt u een van de volgende methoden:

    $resourceGroupName = "The resource group that contains the virtual network used with HDInsight"
    
    $clusterNICs = Get-AzNetworkInterface -ResourceGroupName $resourceGroupName | 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 <resourcegroupname> --output table --query "[?contains(name,'node')].{NICname:name,InternalIP:ipConfigurations[0].privateIpAddress,InternalFQDN:dnsSettings.internalFqdn}"
    
  2. Als u wilt bepalen op welke poort een service beschikbaar is, raadpleegt u de poorten die worden gebruikt door Apache Hadoop-services in HDInsight-document .

    Belangrijk

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

    Apache Ambari is bijvoorbeeld slechts actief op één hoofdknooppunt tegelijk. Als u Ambari probeert te openen op één hoofdknooppunt en er een 404-fout wordt geretourneerd, wordt deze uitgevoerd op het andere hoofdknooppunt.

Volgende stappen