Připojení HDInsightu k místní síti

Zjistěte, jak připojit HDInsight k místní síti pomocí virtuálních sítí Azure a brány VPN. Tento dokument obsahuje informace o plánování:

  • Použití SLUŽBY HDInsight ve službě Azure Virtual Network, která se připojuje k místní síti.
  • Konfigurace překladu názvů DNS mezi virtuální sítí a místní sítí
  • Konfigurace skupin zabezpečení sítě pro omezení přístupu k internetu do služby HDInsight
  • Porty poskytované službou HDInsight ve virtuální síti.

Přehled

Pokud chcete službě HDInsight a prostředkům v připojené síti umožnit komunikaci podle názvu, musíte provést následující akce:

  1. Vytvořte virtuální síť Azure.
  2. Vytvořte vlastní server DNS ve službě Azure Virtual Network.
  3. Nakonfigurujte virtuální síť tak, aby místo výchozího rekurzivního překladače Azure používala vlastní server DNS.
  4. Nakonfigurujte předávání mezi vlastním serverem DNS a místním serverem DNS.

Tyto konfigurace umožňují následující chování:

  • Požadavky na plně kvalifikované názvy domén, které mají příponu DNS pro virtuální síť , se předávají vlastnímu serveru DNS. Vlastní server DNS pak tyto požadavky předá rekurzivnímu překladači Azure, který vrátí IP adresu.
  • Všechny ostatní požadavky se předávají na místní server DNS. Dokonce i požadavky na veřejné internetové prostředky, jako je microsoft.com, se předávají místnímu serveru DNS za účelem překladu ip adres.

V následujícím diagramu jsou zelené čáry požadavky na prostředky, které končí příponou DNS virtuální sítě. Modré čáry jsou požadavky na prostředky v místní síti nebo na veřejném internetu.

Diagram of how DNS requests are resolved in the configuration.

Požadavky

Vytvoření konfigurace virtuální sítě

V následujících dokumentech se dozvíte, jak vytvořit virtuální síť Azure, která je připojená k vaší místní síti:

Vytvoření vlastního serveru DNS

Důležité

Před instalací služby HDInsight do virtuální sítě musíte vytvořit a nakonfigurovat server DNS.

Tento postup slouží k vytvoření virtuálního počítače Azure pomocí webu Azure Portal . Další způsoby vytvoření virtuálního počítače najdete v tématu Vytvoření virtuálního počítače – Azure CLI a vytvoření virtuálního počítače – Azure PowerShell. Pokud chcete vytvořit virtuální počítač s Linuxem, který používá software Bind DNS, postupujte následovně:

  1. Přihlaste se k portálu Azure.

  2. V horní nabídce vyberte + Vytvořit prostředek.

    Create an Ubuntu virtual machine.

  3. Výběrem možnosti Výpočetní>virtuální počítač přejděte na stránku Vytvořit virtuální počítač.

  4. Na kartě Základy zadejte následující informace:

    Pole Hodnota
    Předplatné Vyberte příslušné předplatné.
    Skupina prostředků Vyberte skupinu prostředků, která obsahuje virtuální síť vytvořenou dříve.
    Virtual machine name Zadejte popisný název, který identifikuje tento virtuální počítač. V tomto příkladu se používá DNSProxy.
    Oblast Vyberte stejnou oblast jako dříve vytvořená virtuální síť. Ne všechny velikosti virtuálních počítačů jsou dostupné ve všech oblastech.
    Možnosti dostupnosti Vyberte požadovanou úroveň dostupnosti. Azure nabízí celou řadu možností pro správu dostupnosti a odolnosti pro vaše aplikace. Nastavte řešení tak, aby používalo replikované virtuální počítače v Zóny dostupnosti nebo skupinách dostupnosti k ochraně aplikací a dat před výpadky a událostmi údržby datacentra. Tento příklad nepoužívá žádnou redundanci infrastruktury.
    Image Odejděte na Ubuntu Serveru 18.04 LTS.
    Authentication type Veřejný klíč hesla nebo SSH: Metoda ověřování pro účet SSH. Doporučujeme používat veřejné klíče, protože jsou bezpečnější. V tomto příkladu se používá heslo. Další informace najdete v dokumentu Vytvoření a použití klíčů SSH pro virtuální počítače s Linuxem .
    Jméno uživatele Zadejte uživatelské jméno správce virtuálního počítače. V tomto příkladu se používá sshuser.
    Heslo nebo veřejný klíč SSH Dostupné pole je určeno podle vaší volby pro typ ověřování. Zadejte příslušnou hodnotu.
    Veřejné příchozí porty Vyberte Povolit vybrané porty. Potom v rozevíracím seznamu Vybrat příchozí porty vyberte SSH (22).

    Virtual machine basic configuration.

    U ostatních položek ponechte výchozí hodnoty a pak vyberte kartu Sítě .

  5. Na kartě Sítě zadejte následující informace:

    Pole Hodnota
    Virtuální síť Vyberte virtuální síť, kterou jste vytvořili dříve.
    Podsíť Vyberte výchozí podsíť pro virtuální síť, kterou jste vytvořili dříve. Nevybírejte podsíť používanou bránou VPN.
    Veřejná IP adresa Použijte automaticky vyplněnou hodnotu.

    HDInsight Virtual network settings.

    U ostatních položek ponechte výchozí hodnoty a pak vyberte Zkontrolovat a vytvořit.

  6. Na kartě Zkontrolovat a vytvořit vyberte Vytvořit a vytvořte virtuální počítač.

Kontrola IP adres

Po vytvoření virtuálního počítače obdržíte oznámení o úspěšném nasazení s tlačítkem Přejít k prostředku . Vyberte Přejít k prostředku a přejděte na nový virtuální počítač. Ve výchozím zobrazení nového virtuálního počítače identifikujte přidružené IP adresy pomocí následujícího postupu:

  1. V Nastavení vyberte Vlastnosti.

  2. Poznamenejte si hodnoty PRO POPISEK NÁZVU VEŘEJNÉ IP ADRESY/DNS a PRIVÁTNÍ IP ADRESU pro pozdější použití.

    Public and private IP addresses.

Instalace a konfigurace vazby (software DNS)

  1. Pomocí protokolu SSH se připojte k veřejné IP adrese virtuálního počítače. Nahraďte sshuser uživatelským účtem SSH, který jste zadali při vytváření virtuálního počítače. Následující příklad se připojí k virtuálnímu počítači na adrese 40.68.254.142:

    ssh sshuser@40.68.254.142
    
  2. Chcete-li nainstalovat vazbu, použijte následující příkazy z relace SSH:

    sudo apt-get update -y
    sudo apt-get install bind9 -y
    
  3. Chcete-li nakonfigurovat vazbu pro předávání požadavků na překlad názvů na místní server DNS, použijte jako obsah /etc/bind/named.conf.options souboru následující text:

    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; };
    };
    

    Důležité

    Nahraďte hodnoty v goodclients této části rozsahem IP adres virtuální sítě a místní sítě. Tato část definuje adresy, ze kterých tento server DNS přijímá požadavky.

    192.168.0.1 Položku v forwarders části nahraďte IP adresou vašeho místního serveru DNS. Tato položka směruje požadavky DNS na místní server DNS pro překlad.

    Pokud chcete tento soubor upravit, použijte následující příkaz:

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

    Pokud chcete soubor uložit, použijte Ctrl+X, Y a pak Enter.

  4. V relaci SSH použijte následující příkaz:

    hostname -f
    

    Tento příkaz vrátí hodnotu podobnou následujícímu textu:

    dnsproxy.icb0d0thtw0ebifqt0g1jycdxd.ex.internal.cloudapp.net
    

    Text icb0d0thtw0ebifqt0g1jycdxd.ex.internal.cloudapp.net je přípona DNS pro tuto virtuální síť. Uložte tuto hodnotu, protože se použije později.

  5. Chcete-li nakonfigurovat vazbu pro překlad názvů DNS pro prostředky ve virtuální síti, použijte jako obsah /etc/bind/named.conf.local souboru následující text:

    // 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
    };
    

    Důležité

    Příponu icb0d0thtw0ebifqt0g1jycdxd.ex.internal.cloudapp.net DNS, kterou jste získali dříve, musíte nahradit.

    Pokud chcete tento soubor upravit, použijte následující příkaz:

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

    Pokud chcete soubor uložit, použijte Ctrl+X, Y a pak Enter.

  6. Chcete-li spustit vazbu, použijte následující příkaz:

    sudo service bind9 restart
    
  7. Pokud chcete ověřit, že vazba dokáže přeložit názvy prostředků v místní síti, použijte následující příkazy:

    sudo apt install dnsutils
    nslookup dns.mynetwork.net 10.0.0.4
    

    Důležité

    Nahraďte dns.mynetwork.net plně kvalifikovaným názvem domény (FQDN) prostředku ve vaší místní síti.

    Nahraďte 10.0.0.4 interní IP adresu vašeho vlastního serveru DNS ve virtuální síti.

    Odpověď se podobá následujícímu textu:

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

Konfigurace virtuální sítě pro použití vlastního serveru DNS

Pokud chcete virtuální síť nakonfigurovat tak, aby místo rekurzivního překladače Azure používala vlastní server DNS, použijte na webu Azure Portal následující kroky:

  1. V nabídce vlevo přejděte na Všechny služby>Síťové>virtuální sítě.

  2. V seznamu vyberte svou virtuální síť, která otevře výchozí zobrazení pro vaši virtuální síť.

  3. Ve výchozím zobrazení v části Nastavení vyberte servery DNS.

  4. Vyberte Vlastní a zadejte PRIVÁTNÍ IP ADRESU vlastního serveru DNS.

  5. Zvolte Uložit.

    Set the custom DNS server for the network.

Konfigurace místního serveru DNS

V předchozí části jste nakonfigurovali vlastní server DNS tak, aby předával požadavky místnímu serveru DNS. Dále musíte nakonfigurovat místní server DNS tak, aby předával požadavky vlastnímu serveru DNS.

Konkrétní postup konfigurace serveru DNS najdete v dokumentaci k softwaru serveru DNS. Vyhledejte postup konfigurace podmíněného předávání.

Podmíněný předávání předává pouze požadavky na konkrétní příponu DNS. V tomto případě musíte nakonfigurovat předávač pro příponu DNS virtuální sítě. Požadavky na tuto příponu by se měly předávat na IP adresu vlastního serveru DNS.

Následující text je příkladem konfigurace podmíněného předávání pro software Bind DNS:

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

Informace o používání DNS ve Windows Serveru 2016 najdete v dokumentaci Add-DnsServerConditionalForwarderZone ...

Jakmile nakonfigurujete místní server DNS, můžete pomocí místní nslookup sítě ověřit, že můžete přeložit názvy ve virtuální síti. Následující příklad

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

Tento příklad používá místní server DNS na adrese 196.168.0.4 k překladu názvu vlastního serveru DNS. Nahraďte IP adresu místním serverem DNS. dnsproxy Nahraďte adresu plně kvalifikovaným názvem domény vlastního serveru DNS.

Volitelné: Řízení síťového provozu

K řízení síťového provozu můžete použít skupiny zabezpečení sítě (NSG) nebo trasy definované uživatelem. Skupiny zabezpečení sítě umožňují filtrovat příchozí a odchozí provoz a povolit nebo zakázat provoz. Trasy definované uživatelem umožňují řídit tok provozu mezi prostředky ve virtuální síti, internetem a místní sítí.

Upozorňující

HDInsight vyžaduje příchozí přístup z konkrétních IP adres v cloudu Azure a neomezený odchozí přístup. Pokud k řízení provozu používáte skupiny zabezpečení sítě nebo trasy definované uživatelem, musíte provést následující kroky:

  1. Vyhledejte IP adresy pro umístění, které obsahuje vaši virtuální síť. Seznam požadovaných IP adres podle umístění najdete v tématu Požadované IP adresy.

  2. U IP adres identifikovaných v kroku 1 povolte příchozí provoz z této IP adresy.

    • Pokud používáte skupinu zabezpečení sítě: Povolte příchozí provoz na portu 443 pro IP adresy.
    • Pokud používáte trasu definovanou uživatelem: Nastavte typ dalšího směrování trasy na internet pro IP adresy.

Příklad použití Azure PowerShellu nebo Azure CLI k vytvoření skupin zabezpečení sítě najdete v dokumentu Rozšíření SLUŽBY HDInsight s využitím služby Azure Virtual Networks .

Vytvoření clusteru HDInsight

Upozorňující

Před instalací služby HDInsight ve virtuální síti musíte nakonfigurovat vlastní server DNS.

Pomocí kroků v clusteru HDInsight pomocí dokumentu webu Azure Portal vytvořte cluster HDInsight.

Upozorňující

  • Při vytváření clusteru musíte zvolit umístění, které obsahuje vaši virtuální síť.
  • V části Upřesnit nastavení musíte vybrat virtuální síť a podsíť, kterou jste vytvořili dříve.

Připojení do HDInsightu

Většina dokumentace ke službě HDInsight předpokládá, že máte přístup ke clusteru přes internet. To znamená, že se ke clusteru můžete připojit třeba na https://CLUSTERNAME.azurehdinsight.net. Tato adresa používá veřejnou bránu, která není dostupná, pokud jste k omezení přístupu z internetu použili skupiny zabezpečení sítě nebo trasy definované uživatelem.

Některá dokumentace také odkazuje headnodehost při připojování ke clusteru z relace SSH. Tato adresa je dostupná jenom z uzlů v clusteru a není použitelná u klientů připojených přes virtuální síť.

Pokud se chcete přímo připojit ke službě HDInsight přes virtuální síť, postupujte následovně:

  1. Pokud chcete zjistit interní plně kvalifikované názvy domén uzlů clusteru HDInsight, použijte jednu z následujících metod:

    $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. Pokud chcete zjistit port, na který je služba dostupná, podívejte se na porty používané službami Apache Hadoop v dokumentu HDInsight .

    Důležité

    Některé služby hostované v hlavních uzlech jsou aktivní jenom na jednom uzlu najednou. Pokud se pokusíte získat přístup ke službě na jednom hlavním uzlu a selže, přepněte na druhý hlavní uzel.

    Apache Ambari je například aktivní jenom na jednom hlavním uzlu najednou. Pokud se pokusíte získat přístup k Ambari na jednom hlavním uzlu a vrátí chybu 404, pak běží na druhém hlavním uzlu.

Další kroky