Steuern des Netzwerkdatenverkehrs von HDInsight auf AKS-Clusterpools und -clustern
Wichtig
Azure HDInsight auf AKS wurde am 31. Januar 2025 eingestellt. Erfahren Sie mehr in dieser Ankündigung.
Sie müssen Ihre Workloads zu Microsoft Fabric oder ein gleichwertiges Azure-Produkt migrieren, um eine abrupte Beendigung Ihrer Workloads zu vermeiden.
Wichtig
Dieses Feature befindet sich derzeit in der Vorschau. Die zusätzlichen Nutzungsbedingungen für Microsoft Azure Previews weitere rechtliche Bestimmungen enthalten, die für Azure-Features gelten, die in der Betaversion, in der Vorschau oder auf andere Weise noch nicht in die allgemeine Verfügbarkeit veröffentlicht werden. Informationen zu dieser spezifischen Vorschau finden Sie unter Azure HDInsight auf AKS-Vorschauinformationen. Für Fragen oder Featurevorschläge reichen Sie bitte eine Anfrage auf AskHDInsight mit den Details ein und folgen Sie uns für weitere Updates in der Azure HDInsight Community.
HDInsight auf AKS ist eine verwaltete Plattform als Dienst (PaaS), die auf Azure Kubernetes Service (AKS) ausgeführt wird. HDInsight auf AKS ermöglicht Es Ihnen, beliebte Open-Source Analytics-Workloads wie Apache Spark™, Apache Flink®️ und Trino bereitzustellen, ohne dass der Aufwand für die Verwaltung und Überwachung von Containern besteht.
Standardmäßig ermöglichen HDInsight auf AKS-Clustern ausgehende Netzwerkverbindungen von Clustern zu einem beliebigen Ziel, wenn das Ziel über die Netzwerkschnittstelle des Knotens erreichbar ist. Dies bedeutet, dass Clusterressourcen auf eine beliebige öffentliche oder private IP-Adresse, domänenname oder URL im Internet oder in Ihrem virtuellen Netzwerk zugreifen können.
In einigen Szenarien möchten Sie den ausgehenden Datenverkehr Ihres Clusters aus Sicherheits- oder Compliance-Gründen steuern oder einschränken.
Sie können z. B. Folgendes wünschen:
Verhindern, dass Cluster auf böswillige oder unerwünschte Dienste zugreifen.
Erzwingen Sie Netzwerkrichtlinien oder Firewallregeln für den ausgehenden Datenverkehr.
Überwachen oder Prüfen des ausgehenden Datenverkehrs vom Cluster bei Problembehandlungs- oder Compliancezwecken.
Methoden und Werkzeuge zum Steuern des ausgehenden Datenverkehrs
Sie verfügen über verschiedene Optionen und Tools zum Verwalten, wie der abfließende Datenverkehr von HDInsight auf AKS-Clustern gesteuert wird. Sie können einige dieser Elemente auf Clusterpoolebene und andere auf Clusterebene einrichten.
Ausgehender Verkehr mit Lastenausgleich. Wenn Sie einen Clusterpool mit diesem Egress-Pfad bereitstellen, wird eine öffentliche IP-Adresse bereitgestellt und der Lastenausgleichsressource zugewiesen. Ein benutzerdefiniertes virtuelles Netzwerk (VNET) ist nicht erforderlich; Es wird jedoch dringend empfohlen. Sie können Azure Firewall- oder Netzwerksicherheitsgruppen (Network Security Groups, NSGs) im benutzerdefinierten VNET verwenden, um den Datenverkehr zu verwalten, der das Netzwerk verlässt.
Ausgehend mit benutzerdefiniertem Routing. Wenn Sie einen Clusterpool mit diesem Ausgangspfad bereitstellen, kann der Benutzer den Ausgehenden Datenverkehr auf Subnetzebene mithilfe von Azure Firewall/NAT-Gateway und benutzerdefinierten Routentabellen verwalten. Diese Option ist nur bei Verwendung eines benutzerdefinierten VNET verfügbar.
Private AKS aktivieren. Wenn Sie private AKS in Ihrem Clusterpool aktivieren, wird dem AKS-API-Server eine interne IP-Adresse zugewiesen und kann nicht öffentlich zugänglich sein. Der Netzwerkdatenverkehr zwischen dem AKS-API-Server und dem HDInsight auf AKS-Knotenpools (Clustern) verbleibt im privaten Netzwerk.
Privater Eingangscluster. Wenn Sie einen Cluster mit aktivierter Option für den privaten Eingangsmodus bereitstellen, wird keine öffentliche IP erstellt, und der Cluster kann nur von Clients innerhalb desselben VNET zugänglich sein. Sie müssen Ihre eigene NAT-Lösung bereitstellen, wie z. B. ein NAT-Gateway oder eine NAT, die von Ihrer Firewall bereitgestellt wird, um eine Verbindung zu ausgehenden, öffentlichen HDInsight-Diensten für AKS-Abhängigkeiten herzustellen.
In den folgenden Abschnitten werden die einzelnen Methoden ausführlich beschrieben.
Ausgehend mit Lastenausgleich
Der Lastenausgleich wird für den Ausgang über ein HDInsight auf AKS zugewiesener öffentlicher IP verwendet. Wenn Sie den ausgehenden Typ des Load Balancers in Ihrem Clusterpool konfigurieren, können Sie erwarten, dass der Traffic aus dem von HDInsight auf AKS erstellten Load Balancer fließt.
Sie können den ausgehenden Datenverkehr mithilfe der Lastenausgleichskonfiguration über das Azure-Portal konfigurieren.
Sobald Sie sich für diese Konfiguration entscheiden, vollendet HDInsight auf AKS automatisch die Erstellung einer öffentlichen IP-Adresse, die für den Cluster-Ausgangsverkehr bereitgestellt wird und & der Ressource für den Lastenausgleich zugewiesen ist.
Eine öffentliche IP, die von HDInsight auf AKS erstellt wurde, und es handelt sich um eine AKS-verwaltete Ressource, was bedeutet, dass AKS den Lebenszyklus dieser öffentlichen IP verwaltet und keine Benutzeraktion direkt für die öffentliche IP-Ressource erfordert.
Beim Erstellen von Clustern werden auch bestimmte Eingangs-öffentliche IPs erstellt.
Damit Anforderungen an den Cluster gesendet werden können, müssen Sie den Datenverkehr zulassen. Sie können auch bestimmte Regeln im NSG konfigurieren, um eine grob granulare Steuerung zu ermöglichen.
Ausgehend mit benutzerdefiniertem Routing
Anmerkung
Der userDefinedRouting
ausgehende Typ ist ein erweitertes Netzwerkszenario, das eine ordnungsgemäße Netzwerkkonfiguration erfordert, bevor Sie beginnen.
Das Ändern des ausgehenden Typs nach der Erstellung des Clusterpools wird nicht unterstützt.
Wenn "userDefinedRouting" festgelegt ist, konfiguriert HDInsight auf AKS keine automatischen Abflusspfade. Die Konfiguration des Ausgangs muss vom Benutzer durchgeführt werden.
Sie müssen HDInsight im AKS-Cluster in einem vorhandenen virtuellen Netzwerk mit einem zuvor konfigurierten Subnetz bereitstellen, und Sie müssen einen expliziten Egress einrichten.
Diese Architektur erfordert explizites Senden von Ausgehenden Datenverkehr an eine Appliance wie eine Firewall, ein Gateway oder einen Proxy, sodass eine öffentliche IP, die dem Standardmäßigen Lastenausgleichsmodul oder der Appliance zugewiesen ist, die Netzwerkadressübersetzung (Network Address Translation, NAT) verarbeiten kann.
HDInsight auf AKS konfiguriert keine ausgehenden öffentlichen IP-Adressen oder ausgehenden Regeln, im Gegensatz zu Clustern mit Outbound-Traffic-Management durch einen Lastenausgleichstyp, wie im obigen Abschnitt beschrieben. Ihr UDR ist die einzige Quelle für ausgehenden Datenverkehr.
Für den eingehenden Datenverkehr müssen Sie basierend auf den Anforderungen ein privates Cluster auswählen (um den Datenverkehr auf der AKS-Control Plane/API-Server zu sichern). Wählen Sie die private Ingress-Option aus, die für jede Cluster-Form verfügbar ist, um öffentlichen oder internen datenverkehrsbasierten Lastenausgleich zu verwenden.
Erstellen von Clusterpools für ausgehende Daten mit userDefinedRouting
Wenn Sie HDInsight für AKS-Clusterpools verwenden und userDefinedRouting (UDR) als Ausgangspfad für ausgehenden Datenverkehr auswählen, wird kein Standard-Lastenausgleich bereitgestellt. Sie müssen die Firewallregeln für die ausgehenden Ressourcen einrichten, bevor userDefinedRouting
funktionieren können.
Wichtig
Der UDR-Egress-Pfad benötigt eine Route für 0.0.0.0/0 und einen nächsten Hop Ihrer Firewall oder NVA in der Routentabelle. Die Routentabelle verfügt bereits über eine Standardeinstellung 0.0.0.0/0 im Internet. Sie können keine ausgehende Internetverbindung erhalten, indem Sie diese Route hinzufügen, da Azure eine öffentliche IP-Adresse für SNAT benötigt. AKS überprüft, dass Sie keine 0.0.0.0/0-Route erstellen, die auf das Internet verweist, sondern auf ein Gateway, eine NVA usw. Wenn Sie UDR verwenden, wird nur eine öffentliche IP-Adresse für eingehende Anforderungen erstellt, wenn Sie einen Dienst vom Typ "Loadbalancer" konfigurieren. HDInsight für AKS erstellt niemals eine öffentliche IP-Adresse für ausgehende Anforderungen, wenn Sie einen UDR-Ausgangspfad verwenden.
Mit den folgenden Schritten erfahren Sie, wie Sie den ausgehenden Datenverkehr von Ihrem HDInsight-Dienst im AKS-Dienst auf Back-End-Azure-Ressourcen oder andere Netzwerkressourcen mit Azure Firewall sperren. Diese Konfiguration trägt dazu bei, datenexfiltration oder das Risiko einer Bösartigen Programm-Implantierung zu verhindern.
Mit azure Firewall können Sie ausgehenden Datenverkehr auf einer viel differenzierteren Ebene steuern und den Datenverkehr basierend auf Echtzeit-Bedrohungserkennung von Microsoft Cyber Security filtern. Sie können Anwendungs- und Netzwerkkonnektivitätsrichtlinien zentral für Abonnements und virtuelle Netzwerke erstellen, erzwingen und protokollieren.
Nachfolgend sehen Sie ein Beispiel für das Einrichten von Firewallregeln und testen Ihre ausgehenden Verbindungen.
Nachfolgend finden Sie ein Beispiel zum Konfigurieren von Firewallregeln und zum Überprüfen ihrer ausgehenden Verbindungen.
Erstellen des erforderlichen Firewallsubnetzes
Um eine Firewall im integrierten virtuellen Netzwerk bereitzustellen, benötigen Sie ein Subnetz namens AzureFirewallSubnet oder Den Namen Ihrer Wahl.
Navigieren Sie im Azure-Portal zu dem virtuellen Netzwerk, das in Ihre App integriert ist.
Wählen Sie in der linken Navigation Subnetze > + Subnetaus.
Geben Sie in Nameden Text AzureFirewallSubnetein.
Subnetz-Adressbereich, übernehmen Sie die Standardeinstellung oder geben Sie einen Bereich an, der mindestens /26 groß ist .
Wählen Sie Speichernaus.
Stelle die Firewall bereit und rufe die IP-Adresse ab.
Wählen Sie im Azure-Portalmenü oder auf der Seite StartseiteRessource erstellenaus.
Geben Sie Firewall in das Suchfeld ein und drücken Sie die Eingabetaste .
Wählen Sie Firewall aus und klicken Sie dann auf Erstellen.
Konfigurieren Sie auf der Seite Erstellen einer Firewall die Firewall wie in der folgenden Tabelle dargestellt:
Einstellung Wert Ressourcengruppe Dieselbe Ressourcengruppe wie das integrierte virtuelle Netzwerk. Name Name Ihrer Wahl Region Dieselbe Region wie das integrierte virtuelle Netzwerk. Firewallrichtlinie Erstellen Sie eine, indem Sie "Neu hinzufügen" auswählen. Virtuelles Netzwerk Wählen Sie das integrierte virtuelle Netzwerk aus. Öffentliche IP-Adresse Wählen Sie eine vorhandene Adresse aus, oder erstellen Sie eine adresse, indem Sie "Neu hinzufügen" auswählen. Klicken Sie auf Überprüfen understellen.
Wählen Sie Erneut erstellenaus. Dieser Vorgang benötigt ein paar Minuten zur Bereitstellung.
Wechseln Sie nach Abschluss der Bereitstellung zu Ihrer Ressourcengruppe, und wählen Sie die Firewall aus.
Kopieren Sie auf der Seite Übersicht der Firewall die private IP-Adresse. Die private IP-Adresse wird als nächste Hopadresse in der Routingregel für das virtuelle Netzwerkverwendet.
Weiterleiten des gesamten Datenverkehrs an die Firewall
Wenn Sie ein virtuelles Netzwerk erstellen, erstellt Azure automatisch eine Standardroutentabelle für jedes seiner Subnetze und fügt system Standardrouten zur Tabellehinzu. In diesem Schritt erstellen Sie eine benutzerdefinierte Routentabelle, die den gesamten Datenverkehr an die Firewall weitergibt, und ordnen sie dann dem App Service-Subnetz im integrierten virtuellen Netzwerk zu.
Wählen Sie im Menü Azure-PortalAlle Dienste aus, oder suchen Sie Alle Dienste auf einer beliebigen Seite aus.
Wählen Sie unter Netzwerk-Routingtabellenaus.
Wählen Sie und fügen Siehinzu.
Konfigurieren Sie die Routentabelle wie im folgenden Beispiel:
Stellen Sie sicher, dass Sie dieselbe Region wie die von Ihnen erstellte Firewall auswählen.
Wählen Sie Überprüfen understellen aus.
Wählen Sie Erstellenaus.
Wählen Sie nach Abschluss der Bereitstellung Zur Ressource wechseln.
Wählen Sie aus dem linken Navigationsbereich Routen > Hinzufügenaus.
Konfigurieren Sie die neue Route wie in der folgenden Tabelle dargestellt:
Einstellung Wert Zieltyp IP-Adressen Ziel-IP-Adressen/CIDR-Bereiche 0.0.0.0/0 Nächster Hop-Typ Virtuelle Appliance Nächste Sprungadresse Die private IP-Adresse für die Firewall, die Sie kopiert haben Wählen Sie im linken Navigationsbereich Subnetze > Zuordnenaus.
Wählen Sie im virtuellen Netzwerk Ihr integriertes virtuelles Netzwerkaus.
Wählen Sie in Subnetz-das HDInsight im AKS-Subnetz aus, das Sie verwenden möchten.
Wählen Sie OKaus.
Konfigurieren von Firewallrichtlinien
Ausgehender Datenverkehr von Ihrem HDInsight im AKS-Subnetz wird jetzt über das integrierte virtuelle Netzwerk an die Firewall weitergeleitet. Um den ausgehenden Datenverkehr zu steuern, fügen Sie einer Firewallrichtlinie eine Anwendungsregel hinzu.
Navigieren Sie zur Übersichtsseite der Firewall, und wählen Sie die zugehörige Firewallrichtlinie aus.
Fügen Sie auf der Firewallrichtlinienseite über die linke Navigation Netzwerk- und Anwendungsregeln hinzu. Wählen Sie z. B. Netzwerkregeln aus, > Eine Regelauflistung hinzufügen.
Fügen Sie in Regelneine Netzwerkregel mit dem Subnetz als Quelladresse hinzu, und geben Sie ein FQDN-Ziel an. Fügen Sie entsprechend die Anwendungsregeln hinzu.
- Sie müssen die hier angegebenen Regeln für ausgehenden Datenverkehrhinzufügen. Verweisen Sie auf in diesem Dokument, um Anwendungs- und Netzwerkregeln hinzuzufügen, die den Datenverkehr für den Betrieb des Clusters zulassen. (AKS-ApiServer muss hinzugefügt werden, nachdem der ClusterPool erstellt wurde, da Sie nach dem Erstellen des ClusterPools nur den AKS-ApiServer abrufen können).
- Sie können auch die privaten Endpunkte für abhängige Ressourcen im selben Subnetz hinzufügen, damit der Cluster darauf zugreifen kann (zum Beispiel Speicher).
Wählen Sie aus,hinzufügen.
Überprüfen, ob öffentliche IP erstellt wird
Wenn die Firewallregeln festgelegt sind, können Sie das Subnetz während der Erstellung des Clusterpools auswählen.
Nachdem der Clusterpool erstellt wurde, können Sie in der MC-Gruppe beobachten, dass keine öffentliche IP erstellt wurde.
Wichtig
Bevor Sie den Cluster im Clusterpool-Setup mit Outbound with userDefinedRouting
-Ausgangspfad erstellen, müssen Sie dem AKS-Cluster, das dem Clusterpool entspricht, die Network Contributor
-Rolle in Ihren Netzwerkressourcen zuweisen, die zum Definieren des Routings verwendet werden, wie z. B. Virtual Network, Routentabelle und NSG (sofern verwendet). Weitere Informationen zum Zuweisen der Rolle hier
Anmerkung
Wenn Sie einen Clusterpool mit UDR-Ausgangspfad und einem privaten Eingangscluster bereitstellen, erstellt HDInsight auf AKS automatisch eine private DNS-Zone und ordnet die Einträge zu, um den FQDN für den Zugriff auf den Cluster aufzulösen.
Erstellen eines Clusterpools mit privaten AKS
Bei privaten AKS verfügt die Steuerebene oder der API-Server über interne IP-Adressen, die im RFC1918 - Adresszuweisung für private Internetdokumentdefiniert sind. Mit dieser Option privater AKS können Sie sicherstellen, dass der Netzwerkdatenverkehr zwischen Ihrem API-Server und Ihrem HDInsight auf AKS-Workloadclustern nur im privaten Netzwerk verbleibt.
Wenn Sie einen privaten AKS-Cluster bereitstellen, erstellt AKS standardmäßig einen privaten FQDN mit einer privaten DNS-Zone und einem zusätzlichen öffentlichen FQDN mit einem entsprechenden A-Eintrag in Azure public DNS. Die Agentknoten verwenden weiterhin den Eintrag in der privaten DNS-Zone, um die private IP-Adresse des privaten Endpunkts für die Kommunikation mit dem API-Server aufzulösen.
Da HDInsight auf AKS den Eintrag automatisch in die private DNS-Zone der durch HDInsight auf AKS erstellten verwalteten Gruppe einfügt, erfolgt dies für den privaten Ingress.
Cluster mit privatem Eingangseingang
Wenn Sie einen Cluster mit HDInsight auf AKS erstellen, verfügt er über einen öffentlichen FQDN und eine IP-Adresse, auf die jeder zugreifen kann. Mit der Funktion "Privater Ingress" können Sie sicherstellen, dass nur Ihr privates Netzwerk Daten zwischen dem Client und dem HDInsight im AKS-Cluster senden und empfangen kann.
Anmerkung
Mit dieser Funktion erstellt HDInsight auf AKS automatisch A-Einträge in der privaten DNS-Zone für den Zugriff.
Dieses Feature verhindert den Zugriff auf das öffentliche Internet auf den Cluster. Der Cluster erhält einen internen Load Balancer und eine private IP. HDInsight auf AKS verwendet die private DNS-Zone, die der Clusterpool erstellt hat, um das virtuelle Clusternetzwerk zu verbinden und die Namensauflösung durchzuführen.
Jeder private Cluster enthält zwei FQDNs: öffentliche FQDN und private FQDN.
Öffentlicher FQDN: {clusterName}.{clusterPoolName}.{subscriptionId}.{region}.hdinsightaks.net
Der öffentliche FQDN kann nur in einen CNAME mit Unterdomäne aufgelöst werden, daher muss er mit dem richtigen Private DNS zone setting
verwendet werden, um sicherzustellen, dass der FQDN schließlich aufgelöst werden kann, um die private IP-Adresse zu korrigieren.
Die private DNS-Zone sollte in der Lage sein, private FQDN in eine IP-(privatelink.{clusterPoolName}.{subscriptionId})
aufzulösen.
Anmerkung
HDInsight auf AKS erstellt private DNS-Zone im Clusterpool, virtuelles Netzwerk. Wenn sich Ihre Clientanwendungen in demselben virtuellen Netzwerk befinden, müssen Sie die private DNS-Zone nicht erneut konfigurieren. Falls Sie eine Clientanwendung in einem anderen virtuellen Netzwerk verwenden, müssen Sie Netzwerkpeering verwenden und an die private DNS-Zone im Clusterpool-Virtualnetzwerk binden oder private Endpunkte im virtuellen Netzwerk und private DNS-Zonen verwenden, um den A-Eintrag zur privaten IP-Adresse des privaten Endpunkts hinzuzufügen.
Privater FQDN: {clusterName}.privatelink.{clusterPoolName}.{subscriptionId}.{region}.hdinsightaks.net
Der private FQDN wird Clustern zugewiesen, für die der private Ingress aktiviert ist. Es handelt sich um einen A-EINTRAG in der privaten DNS-Zone, der auf die private IP-Adresse des Clusters zeigt.