Azure CycleCloud und Clusterkonnektivität

Knoten in einem Cluster müssen mit dem Azure CycleCloud-Server für Aktivitäten wie Überwachung, Statusbericht, Dienstsynchronisierung und automatische Skalierung kommunizieren. In CycleCloud 8 verwenden Knoten HTTPS am TCP-Port 9443 für die direkte Kommunikation mit dem CycleCloud-Server. Für die vollständigen Anforderungen an direkte Verbindungen, Return-Proxy-, Scheduler-, Monitoring- und Egressanforderungen siehe die CycleCloud-Ports- und Traffic-Matrix.

Wenn Sie den Azure CycleCloud-Server im selben virtuellen Netzwerk wie der Computecluster bereitstellen, erfüllen Sie in der Regel die Konnektivitätsanforderungen. Wenn Ihre Netzwerktopologie oder Firewalls jedoch die direkte Kommunikation blockieren, sollten Sie die folgenden Alternativen in Betracht ziehen:

  • Festlegen eines Rückgabeproxys
  • Einrichten eines virtuellen Netzwerk-Peerings

Für Installationen, bei denen der CycleCloud-Anwendungsserver lokal installiert ist:

  • VPN-Verbindung
  • Bastion-Server

Einrichten eines Rückgabe-Proxys

Wenn Netzwerktopologie oder Firewalls die Kommunikation zwischen dem Azure CycleCloud-Server und Clusterknoten verhindern, können Sie einen Knoten im Cluster als Rückgabeproxy festlegen. Mit diesem Setup leiten Sie den Listening-Port auf dem Azure CycleCloud-Server durch einen SSH-Tunnel weiter. Die Cluster-Knoten erreichen den CycleCloud-Server über TCP-Port 37140 am Proxy. Eine typische Bereitstellung hat den Cluster-Head-Knoten als Rückgabe-Proxy festgelegt, aber jeder persistente Knoten kann dieselbe Rolle übernehmen.

Die CycleCloud-7-Knoten verwenden außerdem TCP-Port 37141 auf dem Reverseproxy für AMQP-Datenverkehr an den CycleCloud-Port 5672.

Weitere Informationen zum Konfigurieren des Rückgabeproxys finden Sie unter "Rückgabeproxy".

Peering in virtuellen Netzwerken

Mit virtuellem Netzwerk-Peering können Sie virtuelle Azure-Netzwerke verbinden. Nachdem die virtuellen Netzwerke miteinander verbunden wurden, erscheinen sie zu Verbindungszwecken als ein einziges Netzwerk. Der Datenverkehr zwischen virtuellen Computern in den virtuellen Peernetzwerken wird über die Microsoft-Backbone-Infrastruktur weitergeleitet. Wie beim Datenverkehr zwischen virtuellen Maschinen im selben virtuellen Netzwerk wird der Datenverkehr nur über private IP-Adressen geroutet.

Anweisungen zum Einrichten des virtuellen Netzwerk-Peerings finden Sie auf der Dokumentationsseite zu Azure Virtual Network.

VPN

Wenn Sie Ihren Azure CycleCloud-Server in Ihrem internen Netzwerk bereitstellen, verwenden Sie diese Methode, um die Konnektivität zwischen dem Anwendungsserver und clusterknoten zu aktivieren. Ihr Azure CycleCloud-Server kann direkt Clusterknoten innerhalb des virtuellen Azure-Netzwerks erreichen.

Informationen zum Erstellen einer Verbindung zwischen Azure und Ihrem VPN finden Sie in der Dokumentation zur Standort-zu-Standort-Verbindung (oder die entsprechende Dokumentation für Ihren Cloudanbieter).

Bastion-Server

Außerhalb der direkten Verbindung Ihres Unternehmensnetzwerks mit Ihrem virtuellen Setup besteht die nächste beste Option darin, einen externen Server (auch als Bastionserver oder Sprungfeld bezeichnet) mit einer öffentlich zugänglichen, statischen IP-Adresse zu erstellen. Azure bietet mehrere Szenarien in der Dokumentation zu bewährten Methoden für Netzwerksicherheit . Wählen Sie das Szenario aus, das für Ihre Umgebung am besten geeignet ist.

Proxyknoten

Anstatt einen dedizierten Bastionserver zu verwenden, können Sie einen der Knoten in Ihrem Cluster so konfigurieren, dass er als Proxy für die Kommunikation mit Azure CycleCloud fungiert. Um diese Option zu verwenden, konfigurieren Sie das öffentliche Subnetz so, dass automatisch öffentliche IP-Adressen zugewiesen werden.

[cluster htcondor]
  [[node proxy]]
  # this attribute configures the node to act as a proxy
  IsReturnProxy = true
  credentials = cloud
  MachineType = Standard_A1
  # this is the public subnet
  subnetid = /ResourceGroupName/VnetName/PublicSubnetName
  ImageName = cycle.image.centos7

  [[node private]]
  # this is the private subnet
  subnetid = /ResourceGroupName/VnetName/PrivatebnetName

Der proxy Knoten in dieser Clustervorlage leitet die Kommunikation zwischen Knoten und CycleCloud nur weiter. Es wird keine Proxykommunikation mit dem größeren Internet durchgeführt.