Knotennetzwerkkonfiguration

Ein Azure CycleCloud-Clusterknoten verfügt über Standardeinstellungen für Netzwerke. Sie können diese Einstellungen im Knotendefinitionsbereich der Clustervorlage ändern.

Netzwerkschnittstellen

Wenn Azure CycleCloud eine Azure-VM für einen Cluster erstellt, wird eine virtuelle Netzwerkschnittstelle an die VM angefügt. Bei VM-Skalierungsgruppen stellt die virtuelle Netzwerkschnittstelle eine Verbindung mit einem Lastenausgleich her.

Sie können die Netzwerkeinstellungen für Knoten konfigurieren, indem Sie den Abschnitt "Netzwerkschnittstellendefinition" des Knotens in der Clustervorlage ändern.

Zuweisen öffentlicher IP-Adressen

Fügen Sie einem Knoten ein AssociatePublicIpAddress Attribut hinzu, um anzugeben, ob der Knoten eine öffentliche IP-Adresse empfangen soll. Beispiel:

[[node scheduler]]
[[[network-interface eth0]]]
    AssociatePublicIpAddress = true

Die vorangehende Konfiguration ermöglicht den öffentlichen Zugriff auf den Planerknoten in Ports, die die Netzwerksicherheitsgruppe für das virtuelle Netzwerk zulässt.

Standardmäßig erhält der Knoten eine dynamische öffentliche IP-Adresse, die sich bei jedem Start des Clusters ändert. Um Ihrem Knoten eine statische öffentliche IP-Adresse zuzuweisen, erstellen Sie zuerst eine öffentliche IP-Adresse in Ihrem Azure-Abonnement. Fügen Sie dann das PublicIP Attribut zu Ihrem Knoten-Netzwerkschnittstellenabschnitt hinzu, und weisen Sie es der Ressourcen-ID für das erstellte PublicIP-Objekt zu.

[[node scheduler]]
[[[network-interface eth0]]]
    PublicIp = /subscriptions/${subscription_id/resourceGroups/${resource_group_name}/providers/Microsoft.Network/publicIPAddresses/${public-ip-name}

Erstellen Sie alternativ eine Netzwerkschnittstelle in Ihrem Azure-Abonnement, und fügen Sie eine öffentliche IP-Adresse an diese Netzwerkschnittstelle an. Geben Sie dann die Netzwerkschnittstellen-ID in der Knotenkonfiguration an:

[[node scheduler]]
[[[network-interface eth0]]]
    NetworkInterfaceId = /subscriptions/${subscription_id/resourceGroups/${resource_group_name}/providers/Microsoft.Network/networkInterfaces/${network-interface-name}

Zuweisen einer öffentlichen DNS-Bezeichnung

Durch das Hinzufügen PublicDnsLabel zu einer öffentlichen Netzwerkschnittstelle können Sie den DNS-Namen für diese IP-Adresse anpassen.

[[node scheduler]]
[[network-interface eth0]]
    AssociatePublicIpAddress = true
    PublicDnsLabel = myuniquename

Mit der vorherigen Konfiguration erhalten Sie eine statisch zugewiesene öffentliche IP-Adresse und einen DNS-Eintrag für die VM, der zu myuniquename.eastus.cloudapp.azure.com aufgelöst wird (mit eastus, das dem entsprechenden Azure-Standort für die VM entspricht).

Zuweisen einer privaten IP-Adresse

Standardmäßig erhalten virtuelle Computer eine dynamisch zugewiesene private IP-Adresse in Azure. In einigen Fällen benötigen Sie feste private IP-Adressen für die Knoten. Verwenden Sie zum Konfigurieren dieser Option den Abschnitt "Netzwerkschnittstelle" der Clusterkonfiguration:

[[[network-interface eth0]]]
PrivateIp = x.x.x.x

Die von Ihnen angegebene private IP-Adresse muss für das zugeordnete Subnetz gültig sein. Azure reserviert die ersten vier und letzten IPs im Subnetz. Sie können diese Adressen nicht manuell einem Knoten zuweisen.

Netzwerksicherheitsgruppen

Azure CycleCloud stellt virtuelle Computer und Skalierungsgruppen für virtuelle Computer in benutzerdefinierten virtuellen Netzwerken und Subnetzen bereit. Die mit dem virtuellen Netzwerk verknüpften Netzwerksicherheitsgruppen steuern den Zugriff auf bestimmte Ports auf Knoten. Weitere Informationen finden Sie in der Dokumentation zum virtuellen Netzwerk.

Wenn Sie die Netzwerkschnittstelle eines Knotens mit AssociatePublicIpAddress = true konfigurieren oder ein PublicIp zuweisen, erhält der Knoten automatisch eine Netzwerksicherheitsgruppe.

Sie können diese Netzwerksicherheitsgruppe mithilfe von SecurityGroup angeben. Wenn Sie SecurityGroup weglassen, wird die Netzwerksicherheitsgruppe automatisch aus den input-endpoints Sektionen auf dem Knoten generiert. Die Angabe von SecurityGroup für eine Schnittstelle überschreibt die automatisch erstellte nsg für input-endpoints. Sofern Sie keinen SecurityGroup angeben, erhalten alle Schnittstellen das auto-nsg aus den input-endpoint-Definitionen.

Erforderliche Häfen und Verkehr

Verwenden Sie die folgenden Tabellen als autoritative Verkehrsmatrix, wenn Sie Network Security Groups (NSGs), Firewalls oder Route-Appliances für CycleCloud konfigurieren. Eingehend und ausgehend bezeichnen die Richtung der Regel für Ziel bzw. Quelle. Beschränken Sie jede Quelle und jedes Ziel auf das jeweilige Subnetz, die private IP-Adresse oder den genehmigten Client-Bereich.

CycleCloud- und Clusterdatenverkehr

Source Destination Richtung Protocol Hafen Purpose Anwendbarkeit
Administratoren und API-Clients CycleCloud VM Eingehend TCP 443 CycleCloud-Weboberfläche und API über HTTPS Erforderlich für Nutzer und Tools, die auf CycleCloud zugreifen. Verwenden Sie genehmigte private oder Firmenquellen.
Administratoren CycleCloud VM Eingehend TCP 22 Administrativer SSH-Zugang Dies ist optional. Bevorzuge Azure Bastion, VPN oder ExpressRoute und begrenze die Quelle.
Clusterknoten CycleCloud VM ausgehend von Cluster-Knoten; eingehend zu CycleCloud TCP 9443 Knotenstatus, Autoskalierungs-API-Anfragen und Service-Synchronisation über HTTPS Erforderlich für die direkte Kommunikation zwischen Knoten und CycleCloud in CycleCloud 8.
CycleCloud VM Rücklauf-Proxy-Knoten ausgehend von CycleCloud; eingehend zum Proxy TCP 22 Richte den Return-Proxy-SSH-Tunnel ein Nur erforderlich, wenn du den Return Proxy aktivierst.
Clusterknoten Rücklauf-Proxy-Knoten Ausgehend von den Cluster-Knoten; eingehend an den Proxy TCP 37140 Leiten Sie den HTTPS-Datenverkehr eines Knotens über den Return-Proxy an den CycleCloud-Port 9443 weiter Nur erforderlich, wenn du den Return Proxy aktivierst.
CycleCloud VM Cluster-Scheduler, Login oder andere verwaltete Knoten Ausgehend von CycleCloud; eingehend an Cluster-Knoten TCP 22 Node-Orchestrierung, Systemzugriff und Jobüberwachung Erforderlich, wenn CycleCloud über SSH mit verwalteten Knoten verbunden werden muss.
Cluster-Nutzer Scheduler- oder Login-Knoten Eingehend TCP 22 Benutzer-SSH-Zugriff und Auftragseinreichung Optional, basierend auf dem Cluster-Zugriffsdesign. Beschränke die Quelle auf genehmigte Benutzernetzwerke.
Administratoren oder Benutzer Windows-Clusterknoten Eingehend TCP 3389 Remote-Desktop-Protokoll (RDP)-Zugriff Optional für Windows-Knoten. Beschränke die Quelle auf genehmigte Benutzernetzwerke.

CycleCloud 7 verwendet außerdem TCP 5672 von Clusterknoten zur CycleCloud-VM für Advanced Message Queuing Protocol (AMQP)-Verkehr. Mit aktiviertem Return-Proxy verwenden die CycleCloud 7-Knoten TCP 37141 zum Proxy, der den Datenverkehr an Port 5672 weiterleitet. Öffne keine Ports 5672 oder 37141 für eine reine CycleCloud 8-Bereitstellung.

Planung, Überwachung und Workload-Datenverkehr

Source Destination Richtung Protocol Hafen Purpose Anwendbarkeit
Slurm-Clients und Rechenknoten Slurm-Scheduler-Knoten Eingehend zum Scheduler TCP 6817 Kommunikation mit slurmctld Erforderlich für Slurm, wenn du den Standardport verwendest. Aktualisieren Sie die Regel, wenn Sie SlurmctldPort anpassen.
Slurm-Scheduler-Knoten Slurm-Rechenknoten Eingehend zu Compute-Knoten TCP 6818 Kommunikation mit slurmd Erforderlich für Slurm, wenn du den Standardport verwendest. Aktualisieren Sie die Regel, wenn Sie SlurmdPort anpassen.
Scheduler- und Rechenknoten Scheduler- und Rechenknoten Eingehend und ausgehend Vom Scheduler definiert Durch den Scheduler definiert Kommunikation zwischen Scheduler-Daemon und Adapter für automatische Skalierung Erforderlich für den ausgewählten Scheduler. Für PBS Pro, IBM LSF, Grid Engine oder HTCondor die von dem jeweiligen Scheduler und der Clustervorlage konfigurierten Ports zulassen. CycleCloud definiert keinen einheitlichen Bereich.
CycleCloud 7 VM Cluster-Primärknoten Ausgehend von CycleCloud; eingehend zum primären Knoten TCP 8652 Ganglienüberwachung Nur CycleCloud 7. CycleCloud 8 erhält Cluster-Metriken von Azure Monitor und benötigt diese eingehende Regel nicht.
Clusterknoten Gemeinsamer Dateisystem-Endpunkt Eingehend und ausgehend TCP 2049 Zugriff auf das Network File System (NFS) Dies ist optional. Erforderlich nur für NFS-basierte Shared Storage. Fügen Sie alle zusätzlichen Ports hinzu, die für die gewählte NFS-Version und die Mount-Konfiguration benötigt werden.
Clusterknoten Verzeichnisdienst Eingehend und ausgehend TCP 389 oder 636 Lightweight Directory Access Protocol (LDAP) oder LDAP über TLS-Authentifizierung Dies ist optional. Ich bevorzuge Port 636 für verschlüsseltes LDAP. Nutze die Ports, die dein Identitätsdesign verlangt.

In einer Standard-Slurm-Bereitstellung kommunizieren Munge-Clients über einen Unix-Domänensocket mit dem lokalen munged Daemon. Füge TCP-Port 4065 nicht als Inter-Node-NSG-Regel hinzu, es sei denn, eine benutzerdefinierte Komponente in deiner Bereitstellung nutzt diesen Port explizit.

Ausgehender Datenverkehr für Azure-Dienste und -Pakete

Source Destination Richtung Protocol Hafen Purpose Anwendbarkeit
CycleCloud VM AzureResourceManager-Service-Tag Ausgehend TCP 443 Erstellen und Verwalten von Azure Ressourcen Required.
CycleCloud VM AzureActiveDirectory-Service-Tag Ausgehend TCP 443 Authentifizieren bei Microsoft Entra ID Erforderlich, wenn die Bereitstellung Microsoft Entra-Authentifizierung oder verwaltete Identitäten verwendet.
CycleCloud VM AzureMonitor Service-Tag und erforderliche Telemetrie-Endpunkte Ausgehend TCP 443 Metriken abrufen und Telemetrie senden Erforderlich für die Überwachung von CycleCloud 8. Für Firewalls, die nach vollständig qualifiziertem Domänennamen (FQDN) filtern, lassen Sie die Telemetrie- und Application Insights-Endpunkte zu, die in Betrieb in einem gesperrten Netzwerk aufgeführt sind.
CycleCloud VM ratecard.azure-api.net Ausgehend TCP 443 Azure-Preisdaten abrufen Für Kostenschätzungen erforderlich. Nutzungsdaten bleiben auch ohne Zugriff auf die RateCard API verfügbar, aber die Kosten werden nicht angezeigt.
CycleCloud VM und Cluster-Knoten Storage service tag, Dienstendpunkt oder privater Endpunkt Ausgehend TCP 443 Zugriff auf CycleCloud-Speicher und gestufte Cluster-Artefakte Required. Wenn Sie einen privaten Endpunkt verwenden, konfigurieren Sie private DNS und beschränken oder deaktivieren Sie explizit den Zugriff auf den öffentlichen Speicher.
CycleCloud VM und Cluster-Knoten Genehmigte Paket-Repositories und GitHub-Download-Endpunkte Ausgehend TCP 443 Downloade Installationspakete und CycleCloud-Projekte Nur erforderlich, wenn Artefakte nicht aus einem benutzerdefinierten Image, einem privaten Mirror oder einem vorab bereitgestellten Projekt verfügbar sind. Lassen Sie github.com und alle Zielhosts zu, die über Download-Weiterleitungen erreicht werden, oder leiten Sie den Datenverkehr über eine genehmigte Firewall oder einen HTTPS-Proxy.

NSGs sind zustandsbehaftet, daher brauchst du keine separate Regel für den Antwortverkehr. Wenn Sie eine Azure Firewall, eine virtuelle Netzwerk-Appliance oder eine On-Premises-Firewall verwenden, konfigurieren Sie entsprechende Routen und Regeln. Für eine gesperrte Bereitstellung siehe Betrieb in einem gesperrten Netzwerk.

Eingabeendpunkte in Knotenarrays

[[nodearray execute]]
  [[[network-interface eth0]]]
    AssociatePublicIpAddress = true

  [[[input-endpoint SSH]]]
  PrivatePort = 22
  PublicPort = 10000

  [[[input-endpoint MyCustomPort]]]
  PrivatePort = 999
  PublicPort = 10999
  Protocol = tcp

Die vorherige Konfiguration ermöglicht den öffentlichen Zugriff auf die Ausführungsknoten an den Ports, die die Netzwerksicherheitsgruppe für das virtuelle Netzwerk zulässt. Für das Knotenarray ist PublicPort die Basisportnummer für Knoten im Array. Der für das Knotenarray reservierte Portbereich beträgt 500 Ports für jeden Endpunkt. Endpunkte werden standardmäßig auf das TCP-Protokoll festgelegt, UDP wird jedoch auch durch Festlegen Protocol = UDPunterstützt. Standardmäßig erhält der Knoten eine dynamische öffentliche IP-Adresse, die sich bei jedem Start des Clusters ändert. Um Ihrem Knoten eine statische öffentliche IP-Adresse zuzuweisen, fügen Sie PublicIP der Netzwerkschnittstellenkonfiguration für die primäre Schnittstelle hinzu:

Für Rückgabe-Proxyknoten: Wenn Sie AssociatePublicIpAddress nicht angeben, erstellt das System automatisch eine öffentliche IP-Adresse. Wenn Sie AssociatePublicIpAddress auf False festlegen, schlägt der Knoten mit einer Warnung fehl, und für den Knoten wird kein auto-nsg erstellt.

Hinweis

Wenn Sie einen Knoten mit AssociatePublicIpAddressbeginnen, behält der Knoten diese IP-Adresse bei, bis Sie den Knoten oder den Cluster entfernen.