Private Link inschakelen op een HDInsight-cluster
In dit artikel leert u hoe u Azure Private Link gebruikt om privé verbinding te maken met een HDInsight-cluster via het Microsoft-backbone-netwerk. Dit artikel is een uitbreiding van het artikel Clusterconnectiviteit beperken in Azure HDInsight, dat is gericht op het beperken van openbare connectiviteit. Als u openbare connectiviteit met of binnen uw HDInsight-clusters en afhankelijke resources wilt, kunt u overwegen de connectiviteit van uw cluster te beperken door de richtlijnen te volgen in Netwerkverkeer beheren in Azure HDInsight.
Private Link kan worden gebruikt in scenario's voor meerdere netwerken waarbij peering van virtuele netwerken niet beschikbaar of ingeschakeld is.
Notitie
Het beperken van openbare connectiviteit is een vereiste voor het inschakelen van Private Link en mag niet als dezelfde mogelijkheid worden beschouwd.
Het gebruik van Private Link om verbinding te maken met een HDInsight-cluster is een optionele functie en is standaard uitgeschakeld. De functie is alleen beschikbaar wanneer de resourceProviderConnection
netwerkeigenschap is ingesteld op uitgaand, zoals beschreven in het artikel Clusterconnectiviteit beperken in Azure HDInsight.
Wanneer privateLink
deze instelling is ingeschakeld, worden interne load balancers (SLO's) gemaakt en wordt er een Azure Private Link-service ingericht voor elke SLB. Met de Private Link-service hebt u toegang tot het HDInsight-cluster vanaf privé-eindpunten.
Implementatiestappen voor Private Link
Het maken van een Private Link-cluster voert veel stappen uit, dus we hebben ze hier beschreven. Volg elk van de onderstaande stappen om ervoor te zorgen dat alles correct is ingesteld.
Stap 1: Maak vereisten
Als u wilt beginnen, implementeert u de volgende resources als u ze nog niet hebt gemaakt. U moet ten minste één resourcegroep, twee virtuele netwerken en een netwerkbeveiligingsgroep hebben om te koppelen aan het subnet waarin het HDInsight-cluster wordt geïmplementeerd, zoals hieronder wordt weergegeven.
Type | Naam | Doel |
---|---|---|
Resourcegroep | hdi-privlink-rg | Wordt gebruikt om algemene resources bij elkaar te houden |
Virtueel netwerk | hdi-privlink-cluster-vnet | Het VNET waar het cluster wordt geïmplementeerd |
Virtueel netwerk | hdi-privlink-client-vnet | Het VNET vanaf waaruit clients verbinding maken met het cluster |
Netwerkbeveiligingsgroep | hdi-privlink-cluster-vnet-nsg | Standaard-NSG zoals vereist voor clusterimplementatie |
Notitie
De netwerkbeveiligingsgroep (NSG) kan eenvoudig worden geïmplementeerd. We hoeven geen NSG-regels voor clusterimplementatie te wijzigen.
Stap 2: Configureer het HDInsight-subnet
- Schakel privateLinkServiceNetworkPolicies in subnet uit. Als u een bron-IP-adres voor uw Private Link-service wilt kiezen, is een expliciete instelling
privateLinkServiceNetworkPolicies
voor uitschakelen vereist voor het subnet. Volg de instructies hier om netwerkbeleid uit te schakelen voor Private Link-services. - Schakel service-eindpunten in op het subnet. Voor een geslaagde implementatie van een HDInsight-cluster van Private Link raden we u aan de
Microsoft.SQL
,Microsoft.Storage
enMicrosoft.KeyVault
service-eindpunten toe te voegen aan uw subnet vóór de clusterimplementatie. Service-eindpunten routeren verkeer rechtstreeks van uw virtuele netwerk naar de service in het Backbone-netwerk van Microsoft Azure. Door het verkeer op het Azure-backbone-netwerk in stand te houden, kunt u het uitgaande internetverkeer vanuit uw virtuele netwerk blijven controleren en bewaken via geforceerd tunnelen, zonder dat dit van invloed is op het serviceverkeer.
Stap 3: NAT-gateway of firewall implementeren
Standard load balancers bieden niet automatisch openbare uitgaande NAT , zoals standaard load balancers doen. Omdat Private Link-clusters gebruikmaken van standaard load balancers, moet u uw eigen NAT-oplossing leveren, zoals een NAT-gateway of een NAT die door uw firewall wordt geleverd, om verbinding te maken met uitgaande, openbare HDInsight-afhankelijkheden.
Een NAT-gateway implementeren (optie 1)
U kunt ervoor kiezen om een NAT-gateway te gebruiken als u geen firewall of een NVA (Network Virtual Appliance) voor NAT wilt configureren. Als u wilt beginnen, voegt u een NAT-gateway (met een nieuw openbaar IP-adres in uw virtuele netwerk) toe aan het geconfigureerde subnet van uw virtuele netwerk. Deze gateway is verantwoordelijk voor het vertalen van uw persoonlijke interne IP-adres naar openbare adressen wanneer verkeer buiten uw virtuele netwerk moet gaan.
Voor een eenvoudige installatie om aan de slag te gaan:
Zoek in Azure Portal naar NAT-gateways en klik op Maken.
Gebruik de volgende configuraties in de NAT-gateway. (We bevatten hier niet alle configuraties, zodat u de standaardwaarden kunt gebruiken.)
Configureren Weergegeven als NAT-gatewaynaam hdi-privlink-nat-gateway Voorvoegsels voor openbare IP Een nieuw openbaar IP-voorvoegsel maken Naam van openbaar IP-voorvoegsel hdi-privlink-nat-gateway-voorvoegsel Grootte van openbaar IP-voorvoegsel /28 (16 adressen) Virtueel netwerk hdi-privlink-cluster-vnet Subnetnaam default Zodra de NAT-gateway is geïmplementeerd, bent u klaar om naar de volgende stap te gaan.
Een firewall configureren (optie 2)
Voor een eenvoudige installatie om aan de slag te gaan:
- Voeg een nieuw subnet met de naam AzureFirewallSubnet toe aan uw virtuele netwerk.
- Gebruik het nieuwe subnet om een nieuwe firewall te configureren en uw firewallbeleid toe te voegen.
- Gebruik het privé-IP-adres van de nieuwe firewall als de
nextHopIpAddress
waarde in uw routetabel. - Voeg de routetabel toe aan het geconfigureerde subnet van uw virtuele netwerk.
Uw HDInsight-cluster heeft nog steeds toegang nodig tot de uitgaande afhankelijkheden. Als deze uitgaande afhankelijkheden niet zijn toegestaan, kan het maken van een cluster mislukken. Zie Netwerkverkeer beheren in Azure HDInsight voor meer informatie over het instellen van een firewall.
Stap 4: Private Link-cluster implementeren
Op dit moment moet aan alle vereisten zijn voldaan en bent u klaar om het Private Link-cluster te implementeren. In het volgende diagram ziet u een voorbeeld van de netwerkconfiguratie die is vereist voordat u het cluster maakt. In dit voorbeeld wordt al het uitgaande verkeer gedwongen naar Azure Firewall via een door de gebruiker gedefinieerde route. De vereiste uitgaande afhankelijkheden moeten worden toegestaan op de firewall voordat het cluster wordt gemaakt. Voor Enterprise Security Package-clusters kan peering van virtuele netwerken de netwerkverbinding met Microsoft Entra Domain Services bieden.
Het cluster maken
Het volgende JSON-codefragment bevat de twee netwerkeigenschappen die u moet configureren in uw Azure Resource Manager-sjabloon om een privé HDInsight-cluster te maken:
networkProperties: {
"resourceProviderConnection": "Outbound",
"privateLink": "Enabled"
}
Zie de HDInsight Enterprise-beveiligingssjabloon voor een volledige sjabloon met veel van de beveiligingsfuncties van HDInsight Enterprise, waaronder Private Link.
Als u een cluster wilt maken met behulp van PowerShell, raadpleegt u het voorbeeld.
Als u een cluster wilt maken met behulp van de Azure CLI, raadpleegt u het voorbeeld.
Stap 5: Maak privé-eindpunten
Azure maakt automatisch een Private Link-service voor de Ambari- en SSH-load balancers tijdens de implementatie van het Private Link-cluster. Nadat het cluster is geïmplementeerd, moet u twee privé-eindpunten maken op de client-VNet('s), één voor Ambari en één voor SSH-toegang. Koppel ze vervolgens aan de Private Link-services die zijn gemaakt als onderdeel van de clusterimplementatie.
De privé-eindpunten maken:
Open Azure Portal en zoek naar 'Private link'.
Klik in de resultaten op het pictogram Privékoppeling.
Klik op Privé-eindpunt maken en gebruik de volgende configuraties om het Ambari-privé-eindpunt in te stellen:
Configureren Weergegeven als Naam hdi-privlink-cluster Brontype Microsoft.Network/privateLinkServices Bron gateway-* (Deze waarde moet overeenkomen met de HDI-implementatie-id van uw cluster, bijvoorbeeld gateway-4eafe3a2a67e4cd88762c22a55fe4654) Virtueel netwerk hdi-privlink-client-vnet Subnet default Herhaal het proces om een ander privé-eindpunt te maken voor SSH-toegang met behulp van de volgende configuraties:
Configureren Weergegeven als Naam hdi-privlink-cluster-ssh Brontype Microsoft.Network/privateLinkServices Bron headnode-* (Deze waarde moet overeenkomen met de HDI-implementatie-id van uw cluster, bijvoorbeeld headnode-4eafe3a2a67e4cd88762c22a55fe4654) Virtueel netwerk hdi-privlink-client-vnet Subnet default
Belangrijk
Als u een KafkaRestProxy HDInsight-cluster gebruikt, volgt u deze extra stappen om privé-eindpunten in te schakelen.
Zodra de privé-eindpunten zijn gemaakt, bent u klaar met deze fase van de installatie. Als u geen notitie hebt gedaan van de privé-IP-adressen die zijn toegewezen aan de eindpunten, volgt u de onderstaande stappen:
- Open het client-VNET in Azure Portal.
- Klik op het tabblad Privé-eindpunten.
- De Ambari- en SSH-netwerkinterfaces worden weergegeven.
- Klik op elk adres en navigeer naar de blade DNS-configuratie om het privé-IP-adres weer te geven.
- Noteer deze IP-adressen omdat ze vereist zijn om verbinding te maken met het cluster en DNS correct te configureren.
Stap 6: Configureer DNS om verbinding te maken via privé-eindpunten
Voor toegang tot privéclusters kunt u DNS-omzetting configureren via privé-DNS-zones. De Private Link-vermeldingen die zijn gemaakt in de door Azure beheerde openbare DNS-zone azurehdinsight.net
zijn als volgt:
<clustername> CNAME <clustername>.privatelink
<clustername>-int CNAME <clustername>-int.privatelink
<clustername>-ssh CNAME <clustername>-ssh.privatelink
In de volgende afbeelding ziet u een voorbeeld van de privé-DNS-vermeldingen die zijn geconfigureerd om toegang tot een cluster mogelijk te maken vanuit een virtueel netwerk dat niet is gekoppeld of die geen directe detectielijn voor het cluster heeft. U kunt een privézone van Azure DNS gebruiken om FQDN's (Fully Qualified Domain Names) te overschrijven *.privatelink.azurehdinsight.net
en de IP-adressen van privé-eindpunten in het netwerk van de client op te lossen. De configuratie is alleen bedoeld in <clustername>.azurehdinsight.net
het voorbeeld, maar wordt ook uitgebreid naar andere clustereindpunten.
DNS-omzetting configureren via een Privé-DNS zone:
Maak een Azure Privé-DNS-zone. (We bevatten hier niet alle configuraties, alle andere configuraties blijven op de standaardwaarden staan)
Configureren Weergegeven als Naam privatelink.azurehdinsight.net Voeg een recordset toe aan de Privé-DNS zone voor Ambari.
Configureren Weergegeven als Naam YourPrivateLinkClusterName Type A - Aliasrecord naar IPv4-adres TTL 1 TTL-eenheid Tijden IP-adres Privé-IP van privé-eindpunt voor Ambari-toegang Voeg een recordset toe aan de Privé-DNS-zone voor SSH.
Configureren Weergegeven als Naam YourPrivateLinkClusterName-ssh Type A - Aliasrecord naar IPv4-adres TTL 1 TTL-eenheid Tijden IP-adres Privé-IP van privé-eindpunt voor SSH-toegang
Belangrijk
Als u een KafkaRestProxy HDInsight-cluster gebruikt, volgt u deze extra stappen om DNS te configureren om verbinding te maken via een privé-eindpunt.
Koppel de privé-DNS-zone aan het client-VNET door een virtuele netwerkkoppeling toe te voegen.
- Open de privé-DNS-zone in Azure Portal.
- Klik op het tabblad Virtuele netwerkkoppelingen.
- Klik op de knop Toevoegen.
- Vul de details in: Koppelingsnaam, abonnement en virtueel netwerk (uw client-VNET)
- Klik op Opslaan.
Stap 7: Controleer de clusterconnectiviteit
De laatste stap is het testen van de verbinding met het cluster. Omdat dit cluster geïsoleerd of privé is, hebben we geen toegang tot het cluster met behulp van een openbare IP of FQDN. In plaats daarvan hebben we een aantal opties:
- VPN-toegang tot het client-VNET instellen vanuit uw on-premises netwerk
- Een VIRTUELE machine implementeren in het client-VNET en toegang krijgen tot het cluster vanaf deze VM
In dit voorbeeld implementeren we een VIRTUELE machine in het client-VNET met behulp van de volgende configuratie om de connectiviteit te testen.
Configureren | Weergegeven als |
---|---|
Virtual machine name | hdi-privlink-client-vm |
Afbeelding | Windows 10 Pro, versie 2004 - Gen1 |
Openbare poorten voor inkomend verkeer | Geselecteerde poorten toestaan |
Binnenkomende poorten selecteren | RDP (3389) |
Ik bevestig dat ik een in aanmerking komende Windows 10-licentie heb... | Geselecteerd |
Virtueel netwerk | hdi-privlink-client-vnet |
Subnet | default |
Zodra de client-VM is geïmplementeerd, kunt u zowel Ambari- als SSH-toegang testen.
Ambari-toegang testen:
- Open een webbrowser op de virtuele machine.
- Navigeer naar de reguliere FQDN van uw cluster:
https://<clustername>.azurehdinsight.net
- Als de Ambari-gebruikersinterface wordt geladen, is de configuratie juist voor Ambari-toegang.
SSH-toegang testen:
- Open een opdrachtprompt om een terminalvenster op te halen.
- Probeer in het terminalvenster verbinding te maken met uw cluster met SSH:
ssh sshuser@<clustername>.azurehdinsight.net
(Vervang 'sshuser' door de ssh-gebruiker die u voor uw cluster hebt gemaakt) - Als u verbinding kunt maken, is de configuratie juist voor SSH-toegang.
Privé-eindpunten beheren voor HDInsight
U kunt privé-eindpunten gebruiken voor uw Azure HDInsight-clusters, zodat clients in een virtueel netwerk veilig toegang hebben tot uw cluster via Private Link. Netwerkverkeer tussen de clients in het virtuele netwerk en het HDInsight-cluster loopt via het Backbone-netwerk van Microsoft, waardoor blootstelling van het openbare internet wordt geëlimineerd.
Een Private Link-servicegebruiker (bijvoorbeeld Azure Data Factory) kan kiezen uit twee methoden voor goedkeuring van verbindingen:
- Automatisch: als de servicegebruiker machtigingen voor op rollen gebaseerd toegangsbeheer (RBAC) van Azure heeft voor de HDInsight-resource, kan de consument de automatische goedkeuringsmethode kiezen. Wanneer de aanvraag de HDInsight-resource bereikt, is er geen actie vereist vanuit de HDInsight-resource en wordt de verbinding automatisch goedgekeurd.
- Handmatig: als de servicegebruiker geen Azure RBAC-machtigingen heeft voor de HDInsight-resource, kan de consument de handmatige goedkeuringsmethode kiezen. In dit geval wordt de verbindingsaanvraag weergegeven in de HDInsight-resources als In behandeling. De HDInsight-resource moet de aanvraag handmatig goedkeuren voordat verbindingen tot stand kunnen worden gebracht.
Als u privé-eindpunten wilt beheren, gaat u in de clusterweergave in Azure Portal naar de sectie Netwerken onder Beveiliging en netwerken. Hier ziet u alle bestaande verbindingen, verbindingsstatussen en details van privé-eindpunten.
U kunt ook bestaande verbindingen goedkeuren, afwijzen of verwijderen. Wanneer u een privéverbinding maakt, kunt u opgeven met welke HDInsight-subresource (bijvoorbeeld gateway- of hoofdknooppunt) u ook verbinding wilt maken.
In de volgende tabel ziet u de verschillende HDInsight-resourceacties en de resulterende verbindingsstatussen voor privé-eindpunten. Een HDInsight-resource kan ook de verbindingsstatus van de privé-eindpuntverbinding op een later tijdstip wijzigen zonder tussenkomst van de consument. De actie werkt de status van het eindpunt aan de kant van de consument bij.
Actie van serviceprovider | Status privé-eindpunt serviceconsument | Beschrijving |
---|---|---|
Geen | In behandeling | De verbinding wordt handmatig gemaakt en wacht op goedkeuring door de eigenaar van de Private Link-resource. |
Goedkeuren | Goedgekeurd | De verbinding werd automatisch of handmatig goedgekeurd en is klaar om te worden gebruikt. |
Verwerpen | Afgewezen | De verbinding is geweigerd door de eigenaar van de Private Link-resource. |
Verwijderen | Ontkoppeld | De verbinding is verwijderd door de eigenaar van de Private Link-resource. Het privé-eindpunt wordt informatief en moet worden verwijderd voor het opschonen. |