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.
Distributionssteg för privat länk
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.Storage
ochMicrosoft.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:
Sök efter NAT-gatewayer i Azure Portal och klicka på Skapa.
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 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:
- Lägg till ett nytt undernät med namnet AzureFirewallSubnet i ditt virtuella nätverk.
- Använd det nya undernätet för att konfigurera en ny brandvägg och lägga till brandväggsprinciper.
- Använd den nya brandväggens privata IP-adress som värde i routningstabellen
nextHopIpAddress
. - 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.
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:
Öppna Azure Portal och sök efter "Privat länk".
I resultatet klickar du på ikonen Privat länk.
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 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:
- Öppna det virtuella klientnätverket i Azure Portal.
- Klicka på fliken Privata slutpunkter.
- Du bör se både Ambari- och ssh Network-gränssnitten i listan.
- Klicka på var och en och gå till bladet DNS-konfiguration för att se den privata IP-adressen.
- 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.
Så här konfigurerar du DNS-matchning via en Privat DNS zon:
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 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 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
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.
Associera den privata DNS-zonen med klientens virtuella nätverk genom att lägga till en länk för virtuellt nätverk.
- Öppna den privata DNS-zonen i Azure Portal.
- Klicka på fliken Virtuella nätverkslänkar.
- Klicka på knappen Lägg till.
- Fyll i informationen: Länknamn, prenumeration och virtuellt nätverk (ditt klient-VNET)
- Klicka på Spara.
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:
- Öppna en webbläsare på den virtuella datorn.
- Gå till klustrets vanliga FQDN:
https://<clustername>.azurehdinsight.net
- Om Ambari-användargränssnittet läses in är konfigurationen korrekt för Ambari-åtkomst.
Så här testar du ssh-åtkomst:
- Öppna en kommandotolk för att hämta ett terminalfönster.
- 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) - 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.
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 Portal. 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 | Anslutningen skapas manuellt och väntar på godkännande av Private Link-resursägaren. |
Godkänn | Godkänd | Anslutningen godkändes automatiskt eller manuellt och är redo att användas. |
Avvisa | Avvisat | Anslutningen avvisades av private link-resursägaren. |
Ta bort | Frånkopplad | Anslutningen togs bort av private link-resursägaren. Den privata slutpunkten blir informativ och bör tas bort för rensning. |