Steuern des Netzwerkdatenverkehrs von HDInsight in AKS-Clusterpools und -clustern
Hinweis
Azure HDInsight on AKS wird am 31. Januar 2025 eingestellt. Vor dem 31. Januar 2025 müssen Sie Ihre Workloads zu Microsoft Fabric oder einem gleichwertigen Azure-Produkt migrieren, um eine abruptes Beendigung Ihrer Workloads zu vermeiden. Die verbleibenden Cluster in Ihrem Abonnement werden beendet und vom Host entfernt.
Bis zum Einstellungsdatum ist nur grundlegende Unterstützung verfügbar.
Wichtig
Diese Funktion steht derzeit als Vorschau zur Verfügung. Die zusätzlichen Nutzungsbedingungen für Microsoft Azure-Vorschauen enthalten weitere rechtliche Bestimmungen, die für Azure-Features in Betaversionen, in Vorschauversionen oder anderen Versionen gelten, die noch nicht allgemein verfügbar gemacht wurden. Informationen zu dieser spezifischen Vorschau finden Sie unter Informationen zur Vorschau von Azure HDInsight on AKS. Bei Fragen oder Funktionsvorschlägen senden Sie eine Anfrage an AskHDInsight mit den entsprechenden Details, und folgen Sie uns für weitere Updates in der Azure HDInsight-Community.
HDInsight on AKS ist eine moderne, zuverlässige, sichere und vollständig verwaltete Plattform als Service (PaaS), die auf Azure Kubernetes Service (AKS) ausgeführt wird. HDInsight on AKS ermöglicht es Ihnen, beliebte Open-Source Analyse-Workloads wie Apache Spark™, Apache Flink®️ und Trino bereitzustellen, ohne dass der Aufwand für die Verwaltung und Überwachung von Containern besteht.
Standardmäßig lässt HDInsight on AKS-Clustern ausgehende Netzwerkverbindungen von Clustern zu jedem Ziel zu, wenn das Ziel über die Netzwerkschnittstelle des Knotens erreichbar ist. Das bedeutet, dass Cluster-Ressourcen auf jede öffentliche oder private IP-Adresse, jeden Domainnamen oder jede URL im Internet oder in Ihrem virtuellen Netzwerk zugreifen können.
In einigen Szenarien möchten Sie jedoch aus Gründen der Sicherheit oder der Einhaltung von Vorschriften den ausgehenden Datenverkehr aus Ihrem Cluster kontrollieren oder einschränken.
Sie möchten beispielsweise Folgendes durchführen:
Verhindern Sie den Zugriff von Clustern auf bösartige oder unerwünschte Dienste.
Setzen Sie Netzwerkrichtlinien oder Firewall-Regeln für ausgehenden Datenverkehr durch.
Überwachung oder Überprüfung des ausgehender Datenverkehrs von Clustern zur Fehlerbehebung oder für Compliance-Zwecke.
Methoden und Werkzeuge zur Kontrolle des Ausgehenden Datenverkehrs
Sie verfügen über unterschiedliche Optionen und Tools zum Verwalten der ausgehenden Datenverkehrsströme von HDInsight auf AKS-Clustern. Sie können einige dieser Elemente auf Clusterpoolebene und andere auf Clusterebene einrichten.
Ausgehende Verbindungen mit Lastenausgleich. Wenn Sie einen Clusterpool mit diesem ausgehenden 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 ausgehenden Pfad bereitstellen, kann der Benutzer den ausgehenden Datenverkehr auf Subnetzebene mithilfe von Azure Firewall/NAT Gateway und benutzerdefinierten Routentabellen verwalten. Diese Option ist nur verfügbar, wenn ein benutzerdefiniertes VNet verwendet wird.
Privaten AKS aktivieren. Wenn Sie privaten AKS in Ihrem Clusterpool aktivieren, wird dem AKS-API-Server eine interne IP-Adresse zugewiesen, die nicht öffentlich zugänglich ist. Der Netzwerkverkehr zwischen dem AKS-API-Server und HDInsight on AKS Knotenpools (Clustern) verbleibt im privaten Netzwerk.
Privater eingehender Cluster. Wenn Sie einen Cluster mit aktivierter Option für privaten Eingang bereitstellen, wird keine öffentliche IP-Adresse erstellt, und der Cluster ist nur für Clients innerhalb desselben VNet zugänglich. Sie müssen eine eigene NAT-Lösung bereitstellen, z. B. ein NAT-Gateway oder eine von Ihrer Firewall bereitgestellte Adressübersetzung, um eine Verbindung mit ausgehenden öffentlichen HDInsight on AKS-Abhängigkeiten herzustellen.
In den folgenden Abschnitten beschreiben wir jede Methode im Detail.
Ausgehende Verbindungen mit Lastenausgleich
Der Lastenausgleich wird für den ausgehenden Datenverkehr über eine HDInsight on AKS zugewiesene öffentliche IP-Adresse verwendet. Wenn Sie für Ihren Clusterpool den Typ ausgehender Lastenausgleich konfigurieren, können Sie davon ausgehen, dass der von HDInsight on AKS erstellte Lastenausgleich ausläuft.
Sie können den Ausgang mit Lastenausgleich-Konfiguration über das Azure-Portal konfigurieren.
Sobald Sie sich für diese Konfiguration entscheiden, erstellt HDInsight on AKS automatisch eine öffentliche IP-Adresse, die für den Cluster ausgehender Datenverkehrs vorgesehen ist, und weist sie der Lastenausgleichsressource zu.
Eine öffentliche IP-Adresse, die von HDInsight on AKS erstellt wurde. Es handelt sich um eine von AKS verwaltete Ressource, d.h. AKS verwaltet den Lebenszyklus dieser öffentlichen IP und erfordert keine direkte Benutzeraktion auf der öffentlichen IP-Ressource.
Beim Erstellen von Clustern werden auch bestimmte öffentliche IP-Adressen erstellt.
Um Anfragen an den Cluster zuzulassen, muss eine Positivliste für den Datenverkehr erstellt werden. Sie können auch bestimmte Regeln im NSG konfigurieren, um eine grobkörnige Prüfung durchzuführen.
Ausgehend mit benutzerdefiniertem Routing
Hinweis
Der userDefinedRouting
Typ Outbound ist ein fortgeschrittenes Netzwerkszenario und erfordert eine ordnungsgemäße Netzwerkkonfiguration, bevor Sie beginnen.
Das Ändern des Ausgangstyps nach der Erstellung des Clusterpools wird nicht unterstützt.
Wenn userDefinedRouting festgelegt ist, wird HDInsight on AKS die ausgehender Datenverkehrspfade nicht automatisch konfigurieren. Das ausgehende Setup muss vom Benutzer durchgeführt werden.
Sie müssen den HDInsight on AKS-Cluster in einem bestehenden virtuellen Netzwerk mit einem zuvor konfigurierten Subnetz bereitstellen und einen expliziten ausgehenden Datenverkehr einrichten.
Diese Architektur erfordert explizites Senden von ausgehendem Datenverkehr an eine Anwendung wie eine Firewall, ein Gateway oder einen Proxy, damit eine öffentliche IP-Adresse, die dem Load Balancer Standard zugewiesen ist, oder Anwendung die Netzwerkadressenübersetzung (Network Address Translation, NAT) verarbeiten kann.
HDInsight on AKS konfiguriert keine ausgehenden öffentlichen IP-Adressen oder ausgehende Regeln, im Gegensatz zu den Ausgangsregeln mit Lastausgleicher vom Typ Cluster, wie im obigen Abschnitt beschrieben. Ihre UDR ist weiterhin die einzige Quelle für ausgehenden Datenverkehr.
Für den eingehenden Datenverkehr müssen Sie je nach Bedarf einen privaten Cluster auswählen (um den Datenverkehr auf der AKS-Steuerungsebene / API-Server zu sichern) und die private Eingangsoptionen auswählen, die für jeden Cluster verfügbar ist, um den öffentlichen oder internen Lastenausgleich-basierten Datenverkehr zu verwenden.
Clusterpool-Erstellung für ausgehende mit userDefinedRouting
Wenn Sie HDInsight on AKS-Clusterpools verwenden und userDefinedRouting (UDR) als ausgehenden Pfad auswählen, wird kein standardmäßiger Lastenausgleich bereitgestellt. Sie müssen die Firewallregeln für die ausgehenden Ressourcen einrichten, bevor userDefinedRouting
funktioniert.
Wichtig
Der ausgehende UDR-Pfad erfordert eine Route für 0.0.0.0/0 und ein Ziel des nächsten Hops Ihrer Firewall oder des virtuellen Netzwerkgeräts (Network Virtual Appliance, NVA) in der Routingtabelle. Die Routingtabelle weist bereits die Standardeinstellung 0.0.0.0/0 zum Internet auf. Durch Hinzufügen dieser Route erhalten Sie keine ausgehende Internetverbindung, 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, NVA usw. Wenn Sie UDR verwenden, wird eine öffentliche IP-Adresse für den Lastenausgleich für eingehende Anforderungen nur dann erstellt, wenn Sie einen Dienst vom Typ loadbalancer konfigurieren. HDInsight on AKS erstellt niemals eine öffentliche IP-Adresse für ausgehende Anfragen, wenn Sie einen ausgehenden UDR-Pfad verwenden.
Mit den folgenden Schritten erfahren Sie, wie Sie den ausgehenden Datenverkehr von Ihrem HDInsight on AKS-Dienst zu Backend-Azure-Ressourcen oder anderen Netzwerkressourcen mit Azure Firewall sperren können. Diese Konfiguration trägt dazu bei, Datenexfiltration oder das Risiko einer Einschleusung schädlicher Programme zu verhindern.
Azure Firewall ermöglicht es Ihnen, ausgehenden Datenverkehr auf einer viel präziseren Ebene zu steuern und Datenverkehr basierend auf in Echtzeit gewonnenen Threat Intelligence-Informationen von Microsoft Cyber Security zu filtern. Sie können Richtlinien zur Anwendungs- und Netzwerkkonnektivität übergreifend für Abonnements und virtuelle Netzwerke zentral erstellen, erzwingen und protokollieren.
Im Folgenden finden Sie ein Beispiel für die Einrichtung von Firewallregeln und das Testen Ihrer ausgehenden Verbindungen.
Dies ist 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 mit dem Namen AzureFirewallSubnet oder einem Namen Ihrer Wahl.
Navigieren Sie im Azure-Portal zu dem virtuellen Netzwerk, das mit Ihrer App integriert ist.
Wählen Sie in der linken Navigation Subnetz > + Subnetz.
Geben Sie unter Name die Zeichenfolge AzureFirewallSubnet ein.
Übernehmen Sie für Subnetzadressbereich den Standardwert, oder geben Sie einen Bereich an, der mindestens die Größe /26 aufweist.
Wählen Sie Speichern.
Stellen Sie die Firewall bereit und ermitteln Sie ihre IP
Wählen Sie im Menü des Azure-Portals oder auf der Startseite die Option Ressource erstellen aus.
Geben Sie Firewall in das Suchfeld ein und drücken Sie Enter.
Wählen Sie Firewall aus, und klicken Sie anschließend auf Erstellen.
Konfigurieren Sie die Firewall auf der Seite zum Erstellen einer Firewall anhand der folgenden Tabelle:
Einstellung Wert Resource group 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, indem Sie Neu hinzufügen auswählen. Klicken Sie auf Überprüfen + erstellen.
Wählen Sie noch mal Erstellen aus. Das Bereitstellen dieses Prozess dauert nur wenige Minuten.
Navigieren Sie nach Abschluss der Bereitstellung zur 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 Hop-Adresse in der Routingregel für das virtuelle Netzwerk verwendet.
Leiten Sie den gesamten Datenverkehr an die Firewall weiter
Wenn Sie ein virtuelles Netzwerk erstellen, erstellt Azure automatisch eine Standardroutingtabelle für jedes der Subnetze und fügt der Tabelle Standardrouten des Systems hinzu. In diesem Schritt erstellen Sie eine benutzerdefinierte Routingtabelle, mit der der Datenverkehr an die Firewall weitergeleitet wird, und ordnen diese dann dem App Service-Subnetz im integrierten virtuellen Netzwerk zu.
Wählen Sie im Menü des Azure-Portals die Option Alle Dienste aus, oder suchen Sie auf einer beliebigen Seite nach Alle Dienste, und wählen Sie diese Option anschließend aus.
Wählen Sie unter Netzwerk die Option Routingtabellen aus.
Wählen Sie Hinzufügen.
Konfigurieren Sie die Routingtabelle wie im folgenden Beispiel:
Vergewissern Sie sich, dass Sie dieselbe Region wie die von Ihnen erstellte Firewall auswählen.
Klicken Sie auf Überprüfen + erstellen.
Klicken Sie auf Erstellen.
Klicken Sie nach Abschluss der Bereitstellung auf Zu Ressource wechseln.
Wählen Sie in der linken Navigation die Option Routen > hinzufügen.
Konfigurieren Sie die neue Route wie in der folgenden Tabelle gezeigt:
Einstellung Wert Zieltyp IP-Adressen Ziel-IP-Adressen/CIDR-Bereiche 0.0.0.0/0 Typ des nächsten Hops Virtuelles Gerät Adresse des nächsten Hops Die private IP-Adresse für die Firewall, die Sie kopiert haben Wählen Sie in der linken Navigation die Option Subnets >Associate.
Wählen Sie im Feld Virtuelles Netzwerk das integrierte virtuelle Netzwerk aus.
In Subnetz wählen Sie das HDInsight on AKS-Subnetz, das Sie verwenden möchten.
Wählen Sie OK aus.
Konfigurieren Sie Firewall-Richtlinien
Ausgehender Datenverkehr von Ihrem HDInsight on AKS-Subnetz wird nun durch das integrierte virtuelle Netzwerk zur Firewall geleitet. Um den ausgehenden Datenverkehr zu kontrollieren, fügen Sie der Firewall-Richtlinie eine Anwendungsregel hinzu.
Navigieren Sie zur Übersichtsseite der Firewall, und wählen Sie die Firewallrichtlinie aus.
Fügen Sie auf der Seite mit den Firewallrichtlinien über die linke Navigation Netzwerk- und Anwendungsregeln hinzu. Wählen Sie z. B. Netzwerkregeln > Eine Regelsammlung hinzufügen aus.
Fügen Sie unter Regeln eine Netzwerkregel mit dem Teilnetz als Quelladresse hinzu und geben Sie einen FQDN als Ziel an. Fügen Sie entsprechend die Anwendungsregeln hinzu.
- Sie müssen die hier angegebenen Regeln für ausgehenden Datenverkehr hinzufügen. Weitere Informationen zum Hinzufügen von Anwendungs- und Netzwerkregeln zum Zulassen des Datenverkehrs für den Cluster finden Sie in diesem Dokument. (Der AKS ApiServer muss hinzugefügt werden, nachdem der clusterPool erstellt wurde, da Sie den AKS ApiServer erst nach der Erstellung des clusterPools erhalten können).
- Sie können auch die privaten Endpunkte für alle abhängigen Ressourcen im selben Subnetz hinzufügen, damit der Cluster darauf zugreifen kann (Beispiel – Speicher).
Wählen Sie Hinzufügen aus.
Überprüfen Sie, ob eine öffentliche IP-Adresse erstellt wurde
Wenn die Firewallregeln festgelegt sind, können Sie das Subnetz während der Erstellung des Cluster-Pools auswählen.
Sobald der Clusterpool erstellt ist, können Sie in der MC-Gruppe feststellen, dass keine öffentliche IP-Adresse erstellt wurde.
Wichtig
Bevor Sie den Cluster im Clusterpoolsetup mit dem Ausgangspfad Outbound with userDefinedRouting
erstellen, müssen Sie dem AKS-Cluster (der zum Cluster-Pool passt) die Network Contributor
-Rolle für Ihre Netzwerkressourcen zuweisen, die für die Definition des Routings verwendet werden, wie z. B. Virtual Network, Routingtabelle und NSG (falls verwendet). Erfahren Sie hier mehr darüber, wie Sie die Rolle zuweisen.
Hinweis
Wenn Sie einen Clusterpool mit dem ausgehenden UDR-Pfad und einem privaten eingehenden Cluster bereitstellen, erstellt HDInsight on AKS automatisch eine private DNS-Zone und ordnet die Einträge zu, um den FQDN für den Zugriff auf das Cluster aufzulösen.
Clusterpool-Erstellung mit privatem AKS
Bei privatem AKS verfügt die Steuerungsebene oder der API-Server über interne IP-Adressen, die im Dokument RFC1918 – Adresszuweisung für privates Internet definiert sind. Mit dieser Option des privaten AKS können Sie sicherstellen, dass der Netzwerkverkehr zwischen Ihrem API-Server und Ihren HDInsight on AKS-Workload-Clustern nur über das private Netzwerk erfolgt.
Wenn Sie einen privaten AKS-Cluster bereitstellen, erstellt AKS standardmäßig einen privaten FQDN mit einer privaten DNS-Zone und einen zusätzlichen öffentlichen FQDN mit einem entsprechenden A-Eintrag in öffentlichem Azure-DNS. Die Agent-Knoten 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.
HDInsight on AKS fügt den Datensatz automatisch in die private DNS-Zone in die erstellte verwaltete Gruppe für den privaten Eingang in HDInsight on AKS ein.
Clusters mit eingehenden privaten Datenverkehr
Wenn Sie einen Cluster mit HDInsight on AKS erstellen, verfügt er über einen öffentlichen FQDN und eine IP-Adresse, auf die jeder zugreifen kann. Mit dem Feature „Privater Eingang“ können Sie sicherstellen, dass nur Ihr privates Netzwerk Daten zwischen dem Client und dem HDInsight on AKS-Cluster senden und empfangen kann.
Hinweis
Mit dieser Funktion erstellt HDInsight on AKS automatisch A-Records in der privaten DNS-Zone für den eingehenden privatem Datenverkehr.
Dieses Feature verhindert, dass das öffentliche Internet auf den Cluster zugreift. Der Cluster ruft einen internen Lastenausgleich und eine private IP-Adresse ab. HDInsight on AKS verwendet die private DNS-Zone, die der Clusterpool erstellt hat, um das Virtual Network des Clusters zu verbinden und die Namensauflösung durchzuführen.
Jeder private Cluster enthält zwei FQDNs: den öffentlichen FQDN und den privaten 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 der richtigen Private DNS zone setting
verwendet werden, um sicherzustellen, dass der FQDN schließlich in die korrekte private IP-Adresse aufgelöst werden kann.
Die Private DNS-Zone sollte in der Lage sein, den privaten FQDN in eine IP (privatelink.{clusterPoolName}.{subscriptionId})
aufzulösen.
Hinweis
HDInsight on AKS erstellt eine private DNS-Zone im Cluster-Pool, virtuelles Netzwerk. Wenn sich Ihre Client-Anwendungen im selben virtuellen Netzwerk befinden, müssen Sie die private DNS-Zone nicht erneut konfigurieren. Wenn Sie eine Clientanwendung in einem anderen virtuellen Netzwerk verwenden, müssen Sie ein virales Netzwerk-Peering verwenden und es an eine private DNS-Zone im virtuellen Netzwerk des Clusterpools binden, oder Sie verwenden private Endpunkte im viralen Netzwerk und private DNS-Zonen, um den A-Eintrag zur privaten IP des privaten Endpunkts hinzuzufügen.
Privat FQDN: {clusterName}.privatelink.{clusterPoolName}.{subscriptionId}.{region}.hdinsightaks.net
Der private FQDN wird Clustern zugewiesen, für die der private Eingang aktiviert ist. Es handelt sich um einen A-EINTRAG in der privaten DNS-Zone, der in die private IP-Adresse des Clusters aufgelöst wird.