Planera ett virtuellt nätverk för Azure HDInsight
Den här artikeln innehåller bakgrundsinformation om hur du använder virtuella Azure-nätverk (VNet) med Azure HDInsight. Den diskuterar även design- och implementeringsbeslut som måste fattas innan du kan implementera ett virtuellt nätverk för ditt HDInsight-kluster. När planeringsfasen är klar kan du fortsätta till Skapa virtuella nätverk för Azure HDInsight-kluster. Mer information om IP-adresser för HDInsight-hantering som behövs för att konfigurera nätverkssäkerhetsgrupper (NSG:er) och användardefinierade vägar finns i IP-adresser för HDInsight-hantering.
Med hjälp av ett virtuellt Azure-nätverk kan du använda följande scenarier:
- Ansluta till HDInsight direkt från ett lokalt nätverk.
- Ansluta HDInsight till datalager i ett virtuellt Azure-nätverk.
- Direktåtkomst till Apache Hadoop-tjänster som inte är tillgängliga offentligt via Internet. Till exempel Apache Kafka-API:er eller Apache HBase Java API.
Viktigt!
Om du skapar ett HDInsight-kluster i ett virtuellt nätverk skapas flera nätverksresurser, till exempel nätverkskort och lastbalanserare. Ta inte bort eller ändra dessa nätverksresurser eftersom de behövs för att klustret ska fungera korrekt med det virtuella nätverket.
Planerad
Följande är de frågor som du måste besvara när du planerar att installera HDInsight i ett virtuellt nätverk:
Behöver du installera HDInsight i ett befintligt virtuellt nätverk? Eller skapar du ett nytt nätverk?
Om du använder ett befintligt virtuellt nätverk kan du behöva ändra nätverkskonfigurationen innan du kan installera HDInsight. Mer information finns i avsnittet om att lägga till HDInsight i ett befintligt virtuellt nätverk .
Vill du ansluta det virtuella nätverket som innehåller HDInsight till ett annat virtuellt nätverk eller ditt lokala nätverk?
För att enkelt kunna arbeta med resurser mellan nätverk kan du behöva skapa en anpassad DNS och konfigurera DNS-vidarebefordran. Mer information finns i avsnittet ansluta flera nätverk .
Vill du begränsa/omdirigera inkommande eller utgående trafik till HDInsight?
HDInsight måste ha obegränsad kommunikation med specifika IP-adresser i Azure-datacentret. Det finns också flera portar som måste tillåtas via brandväggar för klientkommunikation. Mer information finns i Kontrollera nätverkstrafik.
Lägga till HDInsight i ett befintligt virtuellt nätverk
Följ stegen i det här avsnittet för att identifiera hur du lägger till en ny HDInsight i ett befintligt virtuellt Azure-nätverk.
Kommentar
- Du kan inte lägga till ett befintligt HDInsight-kluster i ett virtuellt nätverk.
- Det virtuella nätverket och klustret som skapas måste finnas i samma prenumeration.
Använder du en klassisk distributionsmodell eller Resource Manager-distributionsmodell för det virtuella nätverket?
HDInsight 3.4 och senare kräver ett virtuellt Resource Manager-nätverk. Tidigare versioner av HDInsight krävde ett klassiskt virtuellt nätverk.
Om ditt befintliga nätverk är ett klassiskt virtuellt nätverk måste du skapa ett virtuellt Resource Manager-nätverk och sedan ansluta de två. Ansluta klassiska virtuella nätverk till nya virtuella nätverk.
När HDInsight är installerat i Resource Manager-nätverket kan det interagera med resurser i det klassiska nätverket.
Använder du nätverkssäkerhetsgrupper, användardefinierade vägar eller virtuella nätverksinstallationer för att begränsa trafik till eller från det virtuella nätverket?
Som hanterad tjänst kräver HDInsight obegränsad åtkomst till flera IP-adresser i Azure-datacentret. Om du vill tillåta kommunikation med dessa IP-adresser uppdaterar du alla befintliga nätverkssäkerhetsgrupper eller användardefinierade vägar.
HDInsight är värd för flera tjänster som använder olika portar. Blockera inte trafik till dessa portar. En lista över portar som ska tillåtas via brandväggar för virtuella installationer finns i avsnittet Säkerhet.
Om du vill hitta din befintliga säkerhetskonfiguration använder du följande Azure PowerShell- eller Azure CLI-kommandon:
Nätverkssäkerhetsgrupper
Ersätt
RESOURCEGROUP
med namnet på resursgruppen som innehåller det virtuella nätverket och ange sedan kommandot:Get-AzNetworkSecurityGroup -ResourceGroupName "RESOURCEGROUP"
az network nsg list --resource-group RESOURCEGROUP
Mer information finns i Dokumentet Felsöka nätverkssäkerhetsgrupper .
Viktigt!
Regler för nätverkssäkerhetsgrupper tillämpas i ordning baserat på regelprioritet. Den första regeln som matchar trafikmönstret tillämpas och inga andra tillämpas för den trafiken. Orderregler från mest tillåtande till minst tillåtande. Mer information finns i dokumentet Filtrera nätverkstrafik med nätverkssäkerhetsgrupper .
Användardefinierade vägar
Ersätt
RESOURCEGROUP
med namnet på resursgruppen som innehåller det virtuella nätverket och ange sedan kommandot:Get-AzRouteTable -ResourceGroupName "RESOURCEGROUP"
az network route-table list --resource-group RESOURCEGROUP
Mer information finns i dokumentet Diagnostisera en virtuell dators routningsproblem .
Skapa ett HDInsight-kluster och välj Det virtuella Azure-nätverket under konfigurationen. Använd stegen i följande dokument för att förstå processen för att skapa kluster:
- Create HDInsight using the Azure portal (Skapa HDInsight med hjälp av Azure-portalen)
- Create HDInsight using Azure PowerShell (Skapa HDInsight med hjälp av Azure PowerShell)
- Skapa HDInsight med azure classic CLI
- Skapa HDInsight med hjälp av en Azure Resource Manager-mall
Viktigt!
Att lägga till HDInsight i ett virtuellt nätverk är ett valfritt konfigurationssteg. Se till att välja det virtuella nätverket när du konfigurerar klustret.
Ansluta flera nätverk
Den största utmaningen med en konfiguration med flera nätverk är namnmatchning mellan nätverken.
Azure tillhandahåller namnmatchning för Azure-tjänster som är installerade i ett virtuellt nätverk. Med den här inbyggda namnmatchningen kan HDInsight ansluta till följande resurser med hjälp av ett fullständigt domännamn (FQDN):
Alla resurser som är tillgängliga på Internet. Till exempel microsoft.com windowsupdate.com.
Alla resurser som finns i samma virtuella Azure-nätverk med hjälp av resursens interna DNS-namn . När du till exempel använder standardnamnmatchningen är följande exempel på interna DNS-namn som tilldelats till HDInsight-arbetsnoder:
<workername1.0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net>
<workername2.0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net>
Båda dessa noder kan kommunicera direkt med varandra och andra noder i HDInsight med hjälp av interna DNS-namn.
Standardnamnmatchningen tillåter inte att HDInsight löser namnen på resurser i nätverk som är anslutna till det virtuella nätverket. Det är till exempel vanligt att ansluta ditt lokala nätverk till det virtuella nätverket. Med endast standardnamnmatchningen kan HDInsight inte komma åt resurser i det lokala nätverket med namn. Motsatsen är också sant, resurser i ditt lokala nätverk kan inte komma åt resurser i det virtuella nätverket med namn.
Varning
Du måste skapa den anpassade DNS-servern och konfigurera det virtuella nätverket att använda den innan du skapar HDInsight-klustret.
Om du vill aktivera namnmatchning mellan det virtuella nätverket och resurser i anslutna nätverk måste du utföra följande åtgärder:
Skapa en anpassad DNS-server i Azure Virtual Network där du planerar att installera HDInsight.
Konfigurera det virtuella nätverket så att det använder den anpassade DNS-servern.
Hitta det Azure-tilldelade DNS-suffixet för ditt virtuella nätverk. Det här värdet liknar
0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net
. Information om hur du hittar DNS-suffixet finns i avsnittet Exempel: Anpassad DNS .Konfigurera vidarebefordran mellan DNS-servrarna. Konfigurationen beror på typen av fjärrnätverk.
Om fjärrnätverket är ett lokalt nätverk konfigurerar du DNS på följande sätt:
Anpassad DNS (i det virtuella nätverket):
Vidarebefordra begäranden för DNS-suffixet för det virtuella nätverket till den rekursiva Azure-matcharen (168.63.129.16). Azure hanterar begäranden om resurser i det virtuella nätverket
Vidarebefordra alla andra begäranden till den lokala DNS-servern. Den lokala DNS hanterar alla andra namnmatchningsbegäranden, även begäranden för Internetresurser som Microsoft.com.
Lokal DNS: Vidarebefordra begäranden för DNS-suffixet för det virtuella nätverket till den anpassade DNS-servern. Den anpassade DNS-servern vidarebefordrar sedan till den rekursiva Azure-matcharen.
Den här konfigurationen dirigerar begäranden om fullständigt kvalificerade domännamn som innehåller DNS-suffixet för det virtuella nätverket till den anpassade DNS-servern. Alla andra begäranden (även för offentliga Internetadresser) hanteras av den lokala DNS-servern.
Om fjärrnätverket är ett annat virtuellt Azure-nätverk konfigurerar du DNS på följande sätt:
Anpassad DNS (i varje virtuellt nätverk):
Begäranden om DNS-suffixet för de virtuella nätverken vidarebefordras till de anpassade DNS-servrarna. DNS i varje virtuellt nätverk ansvarar för att matcha resurser i nätverket.
Vidarebefordra alla andra begäranden till den rekursiva Azure-matcharen. Den rekursiva lösaren ansvarar för att lösa lokala resurser och Internetresurser.
DNS-servern för varje nätverk vidarebefordrar begäranden till den andra, baserat på DNS-suffix. Andra begäranden löses med hjälp av rekursiv Lösning för Azure.
Ett exempel på varje konfiguration finns i avsnittet Exempel: Anpassad DNS .
Mer information finns i dokumentet Namnmatchning för virtuella datorer och rollinstanser .
Ansluta direkt till Apache Hadoop-tjänster
Du kan ansluta till klustret på https://CLUSTERNAME.azurehdinsight.net
. Den här adressen använder en offentlig IP-adress som kanske inte kan nås om du har använt NSG:er för att begränsa inkommande trafik från Internet. När du distribuerar klustret i ett virtuellt nätverk kan du dessutom komma åt det med hjälp av den privata slutpunkten https://CLUSTERNAME-int.azurehdinsight.net
. Den här slutpunkten matchar en privat IP-adress i det virtuella nätverket för klusteråtkomst.
Använd följande steg för att ansluta till Apache Ambari och andra webbsidor via det virtuella nätverket:
Om du vill identifiera de interna fullständigt kvalificerade domännamnen (FQDN) för HDInsight-klusternoderna använder du någon av följande metoder:
Ersätt
RESOURCEGROUP
med namnet på resursgruppen som innehåller det virtuella nätverket och ange sedan kommandot:$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}"
I listan över noder som returneras letar du reda på FQDN för huvudnoderna och använder FQDN för att ansluta till Ambari och andra webbtjänster. Använd till exempel
http://<headnode-fqdn>:8080
för att komma åt Ambari.Viktigt!
Vissa tjänster som finns på huvudnoderna är bara aktiva på en nod i taget. Om du försöker komma åt en tjänst på en huvudnod och den returnerar ett 404-fel växlar du till den andra huvudnoden.
Information om vilken nod och port som en tjänst är tillgänglig på finns i dokumentet Portar som används av Hadoop-tjänster i HDInsight .
Belastningsutjämning
När du skapar ett HDInsight-kluster skapas även flera lastbalanserare. På grund av att den grundläggande lastbalanseraren dras tillbaka är typen av lastbalanserare på standard-SKU-nivån, som har vissa begränsningar. Inkommande flöden till standardlastbalanserarna stängs om det inte tillåts av en nätverkssäkerhetsgrupp. Du kan behöva koppla en nätverkssäkerhet till ditt undernät och konfigurera nätverkssäkerhetsreglerna.
Det finns flera utgående anslutningsmetoder aktiverade för standardlastbalanseraren. Det är värt att notera att standardåtkomsten för utgående trafik snart kommer att dras tillbaka. Om en NAT-gateway antas för att ge utgående nätverksåtkomst kan undernätet inte använda den grundläggande lastbalanseraren. Om du tänker binda en NAT-gateway till ett undernät bör det inte finnas någon grundläggande lastbalanserare i det här undernätet. Med NAT-gatewayen som utgående åtkomstmetod kan ett nyligen skapat HDInsight-kluster inte dela samma undernät med tidigare skapade HDInsight-kluster med grundläggande lastbalanserare.
En annan begränsning är att HDInsight-lastbalanserarna inte ska tas bort eller ändras. Ändringar i lastbalanseringsreglerna skrivs över under vissa underhållshändelser, till exempel certifikatförnyelser. Om lastbalanserarna ändras och det påverkar klusterfunktionerna kan du behöva återskapa klustret.
Nästa steg
- Kodexempel och exempel på hur du skapar virtuella Azure-nätverk finns i Skapa virtuella nätverk för Azure HDInsight-kluster.
- Ett exempel på hur du konfigurerar HDInsight för att ansluta till ett lokalt nätverk finns i Ansluta HDInsight till ett lokalt nätverk.
- Mer information om virtuella Azure-nätverk finns i översikten över Azure Virtual Network.
- Mer information om nätverkssäkerhetsgrupper finns i Nätverkssäkerhetsgrupper.
- Mer information om användardefinierade vägar finns i Användardefinierade vägar och IP-vidarebefordran.
- Mer information om hur du styr trafik, inklusive brandväggsintegrering, finns i Kontrollera nätverkstrafik.