Aktivera Private Link i ett HDInsight-kluster

I den här artikeln får du lära dig mer om hur du använder Azure Private Link för att ansluta till ett HDInsight-kluster privat över nätverk via Microsofts stamnätverk. Den här artikeln är ett tillägg till artikeln Begränsa klusteranslutningen i Azure HDInsight, som fokuserar på att begränsa den offentliga anslutningen. Om du vill ha offentlig anslutning till eller inom dina HDInsight-kluster och beroende resurser kan du överväga att begränsa klustrets anslutning genom att följa riktlinjerna i Kontrollera nätverkstrafik i Azure HDInsight.

Private Link kan användas i scenarier mellan nätverk där peering för virtuella nätverk inte är tillgängligt eller aktiverat.

Kommentar

Att begränsa den offentliga anslutningen är en förutsättning för att aktivera Private Link och bör inte betraktas som samma funktion.

Användningen av Private Link för att ansluta till ett HDInsight-kluster är en valfri funktion och är inaktiverad som standard. Funktionen är endast tillgänglig när nätverksegenskapen resourceProviderConnection är inställd på utgående trafik, enligt beskrivningen i artikeln Begränsa klusteranslutning i Azure HDInsight.

När privateLink anges som aktiverad skapas interna standardlastbalanserare (SBA) och en Azure Private Link-tjänst etableras för varje SLB. Private Link-tjänsten gör att du kan komma åt HDInsight-klustret från privata slutpunkter.

Det tar många steg att skapa ett Private Link-kluster, så vi har beskrivit dem här. Följ var och en av stegen nedan för att se till att allt är korrekt konfigurerat.

Steg 1: Skapa förutsättningar

Börja genom att distribuera följande resurser om du inte redan har skapat dem. Du måste ha minst en resursgrupp, två virtuella nätverk och en nätverkssäkerhetsgrupp som ska kopplas till det undernät där HDInsight-klustret ska distribueras enligt nedan.

Typ Name Syfte
Resursgrupp hdi-privlink-rg Används för att hålla ihop gemensamma resurser
Virtuellt nätverk hdi-privlink-cluster-vnet Det virtuella nätverk där klustret ska distribueras
Virtuellt nätverk hdi-privlink-client-vnet Det virtuella nätverk där klienter ansluter till klustret från
Nätverkssäkerhetsgrupp hdi-privlink-cluster-vnet-nsg Standard-NSG som krävs för klusterdistribution

Kommentar

Nätverkssäkerhetsgruppen (NSG) kan helt enkelt distribueras, vi behöver inte ändra några NSG-regler för klusterdistribution.

Steg 2: Konfigurera HDInsight-undernät

  • Inaktivera privateLinkServiceNetworkPolicies i undernätet. För att kunna välja en käll-IP-adress för private link-tjänsten krävs en explicit inaktivera-inställning privateLinkServiceNetworkPolicies i undernätet. Följ anvisningarna här om du vill inaktivera nätverksprinciper för Private Link-tjänster.
  • Aktivera tjänstslutpunkter i undernätet. För en lyckad distribution av ett Private Link HDInsight-kluster rekommenderar vi att du lägger till tjänstslutpunkterna Microsoft.SQL, Microsoft.Storageoch Microsoft.KeyVault i undernätet före klusterdistributionen. Tjänstslutpunkter dirigerar trafik direkt från ditt virtuella nätverk till tjänsten i Microsoft Azure-stamnätverket. Om du behåller trafiken i Azure-stamnätverket kan du fortsätta att granska och övervaka den utgående internettrafiken från dina virtuella nätverk, via tvingad tunneltrafik, utan att tjänsttrafiken påverkas.

Steg 3: Distribuera NAT-gateway eller brandvägg

Standardlastbalanserare tillhandahåller inte automatiskt offentlig utgående NAT som grundläggande lastbalanserare gör. Eftersom Private Link kluster använder standardlastbalanserare måste du ange en egen NAT-lösning, till exempel en NAT-gateway eller en NAT som tillhandahålls av brandväggen, för att ansluta till utgående, offentliga HDInsight-beroenden.

Distribuera en NAT-gateway (alternativ 1)

Du kan välja att använda en NAT-gateway om du inte vill konfigurera en brandvägg eller en virtuell nätverksinstallation (NVA) för NAT. Kom igång genom att lägga till en NAT-gateway (med en ny offentlig IP-adress i ditt virtuella nätverk) i det konfigurerade undernätet för ditt virtuella nätverk. Den här gatewayen ansvarar för att översätta din privata interna IP-adress till offentliga adresser när trafiken måste gå utanför ditt virtuella nätverk.

För en grundläggande konfiguration för att komma igång:

  1. Sök efter NAT-gatewayer i Azure-portalen och klicka på Skapa.

  2. Använd följande konfigurationer i NAT Gateway. (Vi inkluderar inte alla konfigurationer här, så du kan använda standardvärdena.)

    Konfigurera Värde
    NAT-gatewayens namn hdi-privlink-nat-gateway
    Prefix till offentliga IP-adresser Skapa ett nytt offentligt IP-prefix
    Namn på offentligt IP-prefix hdi-privlink-nat-gateway-prefix
    Offentlig IP-prefixstorlek /28 (16 adresser)
    Virtuellt nätverk hdi-privlink-cluster-vnet
    Namn på undernät standard
  3. När NAT Gateway har distribuerats är du redo att gå till nästa steg.

Konfigurera en brandvägg (alternativ 2)

För en grundläggande konfiguration för att komma igång:

  1. Lägg till ett nytt undernät med namnet AzureFirewallSubnet i ditt virtuella nätverk.
  2. Använd det nya undernätet för att konfigurera en ny brandvägg och lägga till brandväggsprinciper.
  3. Använd den nya brandväggens privata IP-adress som värde i routningstabellen nextHopIpAddress .
  4. Lägg till routningstabellen i det konfigurerade undernätet för det virtuella nätverket.

HDInsight-klustret behöver fortfarande åtkomst till sina utgående beroenden. Om dessa utgående beroenden inte tillåts kan klusterskapandet misslyckas. Mer information om hur du konfigurerar en brandvägg finns i Kontrollera nätverkstrafik i Azure HDInsight.

Steg 4: Distribuera privat länkkluster

Nu bör alla krav vara uppfyllda och du är redo att distribuera Private Link klustret. Följande diagram visar ett exempel på den nätverkskonfiguration som krävs innan du skapar klustret. I det här exemplet tvingas all utgående trafik till Azure Firewall via en användardefinierad väg. Nödvändiga utgående beroenden ska tillåtas i brandväggen innan klustret skapas. För Enterprise Security Package-kluster kan peering för virtuella nätverk tillhandahålla nätverksanslutningen till Microsoft Entra Domain Services.

Diagram över Private Link-miljön innan klustret skapas.

Skapa klustret

Följande JSON-kodfragment innehåller de två nätverksegenskaper som du måste konfigurera i Azure Resource Manager-mallen för att skapa ett privat HDInsight-kluster:

networkProperties: {
    "resourceProviderConnection": "Outbound",
    "privateLink": "Enabled"
}

En fullständig mall med många av HDInsight Enterprise-säkerhetsfunktionerna, inklusive Private Link, finns i HDInsight Enterprise-säkerhetsmall.

Information om hur du skapar ett kluster med hjälp av PowerShell finns i exemplet.

Information om hur du skapar ett kluster med hjälp av Azure CLI finns i exemplet.

Steg 5: Skapa privata slutpunkter

Azure skapar automatiskt en privat länktjänst för Ambari- och SSH-lastbalanserarna under Private Link klusterdistributionen. När klustret har distribuerats måste du skapa två privata slutpunkter på klientens virtuella nätverk, en för Ambari och en för SSH-åtkomst. Länka dem sedan till de private link-tjänster som skapades som en del av klusterdistributionen.

Så här skapar du de privata slutpunkterna:

  1. Öppna Azure-portalen och sök efter "Privat länk".

  2. I resultatet klickar du på ikonen Privat länk.

  3. Klicka på Skapa privat slutpunkt och använd följande konfigurationer för att konfigurera den privata Ambari-slutpunkten:

    Konfigurera Värde
    Name hdi-privlink-cluster
    Resurstyp Microsoft.Network/privateLinkServices
    Resurs gateway-* (Det här värdet ska matcha HDI-distributions-ID:t för klustret, till exempel gateway-4eafe3a2a67e4cd88762c22a55fe4654)
    Virtuellt nätverk hdi-privlink-client-vnet
    Undernät standard

    Diagram över fliken Private Link Basic.Diagram över resursfliken Private Link.Diagram över fliken Privat länk för virtuellt nätverk.Diagram över dns-slutpunktsfliken Private Link.Diagram över fliken Private Link-tagg.Diagram över fliken Private Link review-tab.

  4. Upprepa processen för att skapa en annan privat slutpunkt för SSH-åtkomst med hjälp av följande konfigurationer:

    Konfigurera Värde
    Name hdi-privlink-cluster-ssh
    Resurstyp Microsoft.Network/privateLinkServices
    Resurs headnode-* (Det här värdet ska matcha HDI-distributions-ID:t för klustret, till exempel headnode-4eafe3a2a67e4cd88762c22a5fe4654)
    Virtuellt nätverk hdi-privlink-client-vnet
    Undernät standard

Viktigt!

Om du använder KafkaRestProxy HDInsight-kluster följer du de här extra stegen för att aktivera privata slutpunkter.

När de privata slutpunkterna har skapats är du klar med den här fasen av konfigurationen. Om du inte antecknar de privata IP-adresser som tilldelats slutpunkterna följer du stegen nedan:

  1. Öppna det virtuella klientnätverket i Azure-portalen.
  2. Klicka på fliken Privata slutpunkter.
  3. Du bör se både Ambari- och ssh Network-gränssnitten i listan.
  4. Klicka på var och en och gå till bladet DNS-konfiguration för att se den privata IP-adressen.
  5. Anteckna dessa IP-adresser eftersom de krävs för att ansluta till klustret och konfigurera DNS korrekt.

Steg 6: Konfigurera DNS för att ansluta via privata slutpunkter

För att få åtkomst till privata kluster kan du konfigurera DNS-matchning via privata DNS-zoner. De Private Link-poster som skapats i den Azure-hanterade offentliga DNS-zonen azurehdinsight.net är följande:

<clustername>        CNAME    <clustername>.privatelink
<clustername>-int    CNAME    <clustername>-int.privatelink
<clustername>-ssh    CNAME    <clustername>-ssh.privatelink

Följande bild visar ett exempel på de privata DNS-poster som konfigurerats för att aktivera åtkomst till ett kluster från ett virtuellt nätverk som inte är peer-kopplat eller inte har någon direkt siktlinje till klustret. Du kan använda en privat Azure DNS-zon för att åsidosätta *.privatelink.azurehdinsight.net fullständigt kvalificerade domännamn (FQDN) och matcha privata slutpunkters IP-adresser i klientens nätverk. Konfigurationen är bara till för <clustername>.azurehdinsight.net i exemplet, men den sträcker sig även till andra klusterslutpunkter.

Diagram över Private Link-arkitekturen.

Så här konfigurerar du DNS-matchning via en Privat DNS zon:

  1. Skapa en Azure Privat DNS-zon. (Vi inkluderar inte alla konfigurationer här, alla andra konfigurationer finns kvar vid standardvärden)

    Konfigurera Värde
    Name privatelink.azurehdinsight.net

    Diagram över den privata dns-zonen.

  2. Lägg till en postuppsättning i zonen Privat DNS för Ambari.

    Konfigurera Värde
    Name YourPrivateLinkClusterName
    Typ A – Aliaspost till IPv4-adress
    TTL 1
    TTL-enhet Tider
    IP-adress Privat IP för privat slutpunkt för Ambari-åtkomst

    Diagram över privat dns-zon, lägg till post.

  3. Lägg till en postuppsättning i Privat DNS-zonen för SSH.

    Konfigurera Värde
    Name YourPrivateLinkClusterName-ssh
    Typ A – Aliaspost till IPv4-adress
    TTL 1
    TTL-enhet Tider
    IP-adress Privat IP för privat slutpunkt för SSH-åtkomst

    Diagram över dns-zon för privat länk, lägg till ssh-post.

Viktigt!

Om du använder KafkaRestProxy HDInsight-kluster följer du de här extra stegen för att konfigurera DNS för att ansluta via privat slutpunkt.

  1. Associera den privata DNS-zonen med klientens virtuella nätverk genom att lägga till en länk för virtuellt nätverk.

    1. Öppna den privata DNS-zonen i Azure-portalen.
    2. Klicka på fliken Virtuella nätverkslänkar.
    3. Klicka på knappen Lägg till.
    4. Fyll i informationen: Länknamn, prenumeration och virtuellt nätverk (ditt klient-VNET)
    5. Klicka på Spara.

    Diagram över virtual-network-link.

Steg 7: Kontrollera klusteranslutningen

Det sista steget är att testa anslutningen till klustret. Eftersom det här klustret är isolerat eller privat kan vi inte komma åt klustret med någon offentlig IP-adress eller ett fullständigt domännamn. I stället har vi ett par alternativ:

  • Konfigurera VPN-åtkomst till klientens virtuella nätverk från ditt lokala nätverk
  • Distribuera en virtuell dator till klientens virtuella nätverk och få åtkomst till klustret från den här virtuella datorn

I det här exemplet distribuerar vi en virtuell dator i det virtuella klientnätverket med hjälp av följande konfiguration för att testa anslutningen.

Konfigurera Värde
Virtual machine name hdi-privlink-client-vm
Bild Windows 10 Pro, version 2004 – Gen1
Offentliga inkommande portar Tillåt valda portar
Välj inkommande portar RDP (3389)
Jag bekräftar att jag har en berättigad Windows 10-licens... Kontrollerad
Virtuellt nätverk hdi-privlink-client-vnet
Undernät standard

När den virtuella klientdatorn har distribuerats kan du testa både Ambari- och SSH-åtkomst.

Så här testar du Ambari-åtkomst:

  1. Öppna en webbläsare på den virtuella datorn.
  2. Gå till klustrets vanliga FQDN: https://<clustername>.azurehdinsight.net
  3. Om Ambari-användargränssnittet läses in är konfigurationen korrekt för Ambari-åtkomst.

Så här testar du ssh-åtkomst:

  1. Öppna en kommandotolk för att hämta ett terminalfönster.
  2. I terminalfönstret provar du att ansluta till klustret med SSH: ssh sshuser@<clustername>.azurehdinsight.net (Ersätt "sshuser" med den ssh-användare som du skapade för klustret)
  3. Om du kan ansluta är konfigurationen korrekt för SSH-åtkomst.

Hantera privata slutpunkter för HDInsight

Du kan använda privata slutpunkter för dina Azure HDInsight-kluster för att tillåta klienter i ett virtuellt nätverk att få säker åtkomst till klustret via Private Link. Nätverkstrafiken mellan klienterna i det virtuella nätverket och HDInsight-klustret passerar över Microsofts stamnätverk, vilket eliminerar exponering från det offentliga Internet.

Diagram över den privata slutpunktshanteringsupplevelsen.

En Private Link-tjänstkonsument (till exempel Azure Data Factory) kan välja mellan två metoder för anslutningsgodkännande:

  • Automatisk: Om tjänstkonsumenten har Behörigheter för rollbaserad åtkomstkontroll i Azure (RBAC) för HDInsight-resursen kan konsumenten välja metoden för automatiskt godkännande. I det här fallet, när begäran når HDInsight-resursen, krävs ingen åtgärd från HDInsight-resursen och anslutningen godkänns automatiskt.
  • Manuellt: Om tjänstkonsumenten inte har Azure RBAC-behörigheter för HDInsight-resursen kan konsumenten välja metoden för manuellt godkännande. I det här fallet visas anslutningsbegäran på HDInsight-resurserna som Väntande. HDInsight-resursen måste godkänna begäran manuellt innan anslutningar kan upprättas.

Om du vill hantera privata slutpunkter går du till avsnittet Nätverk under Säkerhet + Nätverk i klustervyn i Azure-portalen. Här kan du se alla befintliga anslutningar, anslutningstillstånd och information om privata slutpunkter.

Du kan också godkänna, avvisa eller ta bort befintliga anslutningar. När du skapar en privat anslutning kan du ange vilken HDInsight-underkälla (till exempel gateway eller huvudnod) som du också vill ansluta till.

I följande tabell visas de olika HDInsight-resursåtgärderna och de resulterande anslutningstillstånden för privata slutpunkter. En HDInsight-resurs kan också ändra anslutningstillståndet för den privata slutpunktsanslutningen vid ett senare tillfälle utan konsumentintervention. Åtgärden uppdaterar slutpunktens tillstånd på konsumentsidan.

Åtgärd för tjänstleverantör Tjänstkonsumentens privata slutpunktstillstånd Description
None Väntande Anslut ion skapas manuellt och väntar på godkännande av Private Link-resursägaren.
Godkänn Godkänd Anslut ion godkändes automatiskt eller manuellt och är redo att användas.
Avvisa Avvisat Anslut ion avvisades av private link-resursägaren.
Ta bort Frånkopplad Anslut ion har tagits bort av private link-resursägaren. Den privata slutpunkten blir informativ och bör tas bort för rensning.

Nästa steg