Konfiguracja sieciowa węzła

Węzeł klastra Azure CycleCloud zawiera ustawienia domyślne dla sieci. Te ustawienia można zmienić w sekcji definicji węzła szablonu klastra.

Interfejsy sieciowe

Gdy usługa Azure CycleCloud tworzy maszynę wirtualną platformy Azure dla klastra, dołącza do niej wirtualny interfejs sieciowy. W przypadku zestawów skalowania maszyn wirtualnych wirtualny interfejs sieciowy łączy się z modułem równoważenia obciążenia.

Ustawienia sieciowe węzłów można skonfigurować, zmieniając sekcję definicji interfejsu sieciowego węzła w szablonie klastra.

Przypisywanie publicznych adresów IP

AssociatePublicIpAddress Dodaj atrybut do węzła, aby określić, czy węzeł powinien odbierać publiczny adres IP. Na przykład:

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

Poprzednia konfiguracja umożliwia publiczny dostęp do węzła planowania na portach, które są dozwolone przez grupę zabezpieczeń sieciowych dla sieci wirtualnej.

Domyślnie węzeł pobiera dynamiczny publiczny adres IP, który zmienia się za każdym razem, gdy uruchamiasz klaster. Aby przypisać statyczny publiczny adres IP do węzła, najpierw utwórz publiczny adres IP w subskrypcji platformy Azure. Następnie dodaj PublicIP atrybut do sekcji interfejsu sieciowego węzła i przypisz mu identyfikator zasobu dla utworzonego obiektu PublicIP.

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

Alternatywnie utwórz interfejs sieciowy w ramach subskrypcji platformy Azure i dołącz publiczny adres IP do tego interfejsu sieciowego. Następnie określ identyfikator interfejsu sieciowego w konfiguracji węzła:

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

Przypisywanie publicznej etykiety DNS

Dodanie PublicDnsLabel do publicznego interfejsu sieciowego umożliwia dostosowanie nazwy DNS dla tego adresu IP.

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

Poprzednia konfiguracja zapewnia statycznie przypisany publiczny adres IP oraz wpis DNS dla maszyny wirtualnej, który rozwiązuje się do myuniquename.eastus.cloudapp.azure.com (z eastus dopasowaniem odpowiedniej lokalizacji platformy Azure dla maszyny wirtualnej).

Przypisywanie prywatnego adresu IP

Domyślnie maszyny wirtualne uzyskują dynamicznie przypisany prywatny adres IP na platformie Azure. W niektórych przypadkach potrzebne są stałe prywatne adresy IP dla węzłów. Aby skonfigurować tę opcję, użyj sekcji interfejsu sieciowego konfiguracji klastra:

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

Określony prywatny adres IP musi być prawidłowy dla skojarzonej podsieci. Platforma Azure rezerwuje pierwsze cztery i ostatnie adresy IP w podsieci. Nie można ręcznie przypisać tych adresów do węzła.

Sieciowe grupy zabezpieczeń

Usługa Azure CycleCloud aprowizuje maszyny wirtualne i zestawy skalowania maszyn wirtualnych w sieciach wirtualnych i podsieciach zdefiniowanych przez użytkownika. Sieciowe grupy zabezpieczeń skojarzone z siecią wirtualną zarządzają dostępem do określonych portów w węzłach. Aby uzyskać więcej informacji, zobacz Dokumentację sieci wirtualnej.

Jeśli skonfigurujesz interfejs sieciowy węzła z elementem AssociatePublicIpAddress = true lub przypiszesz PublicIp, węzeł automatycznie otrzymuje grupę zabezpieczeń sieciowych.

Tę sieciowa grupa zabezpieczeń można określić przy użyciu polecenia SecurityGroup. Jeśli pominięto SecurityGroup, sieciowa grupa zabezpieczeń zostanie automatycznie wygenerowana z input-endpoints sekcji w węźle. Określony SecurityGroup dla interfejsu zastępuje automatycznie utworzoną grupę nsg dla elementu input-endpoints. O ile nie określisz SecurityGroup, wszystkie interfejsy uzyskają auto-nsg według definicji z input-endpoint.

Wymagane porty i ruch

Użyj poniższych tabel jako autorytatywnej macierzy ruchu podczas konfiguracji grup bezpieczeństwa sieciowego (NSG), zapór sieciowych lub urządzeń trasowania dla CycleCloud. Przychodzący i wychodzący opisują kierunek reguły odpowiednio dla miejsca docelowego i źródła. Ogranicz każde źródło i miejsce docelowe do odpowiedniej podsieci, prywatnego adresu IP lub zatwierdzonego zakresu klientów.

CycleCloud i ruch klastrowy

Source Destynacja Direction Protocol Port Purpose Applicability
Administratorzy i klienci API CycleCloud VM Inbound TCP 443 Interfejs internetowy i interfejs API usługi CycleCloud za pośrednictwem protokołu HTTPS Wymagane dla użytkowników i narzędzi korzystających z CycleCloud. Używaj zatwierdzonych zakresów źródeł prywatnych lub korporacyjnych.
Administrators CycleCloud VM Inbound TCP 22 Administracyjny dostęp SSH Optional. Wolej Azure Bastion, VPN lub ExpressRoute i ograniczaj źródło.
Węzły klastra CycleCloud VM Ruch wychodzący z węzłów klastra; ruch przychodzący do usługi CycleCloud TCP 9443 Status węzłów, automatyczne skalowanie żądań API oraz synchronizacja usług przez HTTPS Wymagane do bezpośredniej komunikacji między węzłem a usługą CycleCloud w usłudze CycleCloud 8.
CycleCloud VM Zwrotny węzeł proxy Ruch wychodzący z CycleCloud; ruch przychodzący do serwera proxy TCP 22 Ustalenie tunelu powrotu proxy SSH Wymagane tylko wtedy, gdy włączysz zwrotny serwer proxy.
Węzły klastra Zwrotny węzeł proxy Wychodzące z węzłów klastrowych; przychodzące do proxy TCP 37140 Przekieruj ruch HTTPS węzła przez powrotny proxy do portu CycleCloud 9443 Wymagane tylko po włączeniu serwera proxy zwrotnego.
CycleCloud VM Harmonogram klastra, logowanie lub inne zarządzane węzły Wychodzące z CycleCloud; przychodzące do węzłów klastra TCP 22 Orkiestracja węzłów, dostęp do systemu i monitorowanie zadań Wymagane, gdy CycleCloud musi łączyć się z zarządzanymi węzłami za pomocą SSH.
Użytkownicy klastra Węzły planowania lub logowania Inbound TCP 22 Dostęp użytkownika SSH i przesyłanie zadań Opcjonalne, w zależności od projektu dostępu do klastra. Ogranicz źródło do zatwierdzonych sieci użytkowników.
Administratorzy lub użytkownicy Węzły klastra Windows Inbound TCP 3389 Dostęp do protokołu RDP (Remote Desktop Protocol) Opcjonalne dla węzłów Windows. Ogranicz źródło do zatwierdzonych sieci użytkowników.

CycleCloud 7 korzysta także z portu TCP 5672 z węzłów klastra do maszyny wirtualnej CycleCloud na potrzeby ruchu protokołu Advanced Message Queuing Protocol (AMQP). Przy włączonej funkcji return proxy węzły CycleCloud 7 używają portu TCP 37141 do komunikacji z serwerem proxy, który przekazuje ruch do portu 5672. Nie otwieraj portów 5672 ani 37141 przy wdrożeniu tylko w CycleCloud 8.

Harmonogram, monitorowanie i ruch obciążenia

Source Destynacja Direction Protocol Port Purpose Applicability
Klienci Slurm i węzły obliczeniowe Węzeł harmonogramu Slurm Przychodzące do harmonogramu TCP 6817 Komunikacja z slurmctld Wymagane dla Slurm, gdy używasz domyślnego portu. Zaktualizuj regułę, jeśli dostosowujesz SlurmctldPort.
Węzeł harmonogramowania Slurm Węzły obliczeniowe Slurm Przychodzące do węzłów obliczeniowych TCP 6818 Komunikacja z slurmd Wymagane dla Slurm, gdy używasz domyślnego portu. Zaktualizuj regułę, jeśli dostosujesz SlurmdPort.
Węzły planowania i przetwarzania Węzły planowania i przetwarzania Przyloty i wyloty Zdefiniowane przez harmonogram Zdefiniowane przez harmonogram Komunikacja demona harmonogramu i adaptera automatycznego skalowania Wymagane dla wybranego harmonogramu. W przypadku PBS Pro, IBM LSF, Grid Engine lub HTCondor należy zezwolić na porty skonfigurowane przez dany harmonogram i szablon klastra. CycleCloud nie definiuje jednego wspólnego zakresu.
Maszyna wirtualna CycleCloud 7 Główny węzeł klastra Wychodzące z CycleCloud; przychodzące do węzła głównego TCP 8652 Monitorowanie gangliów Tylko CycleCloud 7. CycleCloud 8 pobiera metryki klastrów z usługi Azure Monitor i nie wymaga tej reguły ruchu przychodzącego.
Węzły klastra Współdzielony punkt końcowy systemu plików Przyloty i wyloty TCP 2049 Dostęp do Network File System (NFS) Optional. Wymagane tylko dla pamięci współdzielonej opartej na NFS. Dodaj dodatkowe porty wymagane przez wybraną wersję NFS i konfigurację montażu.
Węzły klastra Usługa katalogowa Przyloty i wyloty TCP 389 lub 636 Uwierzytelnianie za pomocą protokołu Lightweight Directory Access Protocol (LDAP) lub LDAP over TLS Optional. Wolę port 636 dla szyfrowanego LDAP. Korzystaj z portów wymaganych przez twój projekt tożsamości.

W standardowym wdrożeniu Slurm klienci Munge komunikują się z lokalnym demonem munged przez gniazdo domenowe Unix. Nie dodawaj portu TCP 4065 jako reguły NSG między węzłami, chyba że niestandardowy komponent we wdrożeniu wyraźnie używa tego portu.

Ruch wychodzący usługi i pakietu Azure

Source Destynacja Direction Protocol Port Purpose Applicability
CycleCloud VM AzureResourceManager Etykieta serwisowa Outbound TCP 443 Tworzenie zasobów platformy Azure i zarządzanie nimi Required.
CycleCloud VM AzureActiveDirectory Etykieta serwisowa Outbound TCP 443 Zaloguj się do Microsoft Entra ID Wymagane, gdy wdrożenie wykorzystuje uwierzytelnianie Microsoft Entra lub tożsamości zarządzane.
CycleCloud VM AzureMonitor Tag serwisowy oraz wymagane punkty końcowe telemetrii Outbound TCP 443 Pobieranie metryk i wysyłanie telemetrii Wymagane do monitorowania CycleCloud 8. W przypadku zapór sieciowych filtrujących na podstawie w pełni kwalifikowanej nazwy domeny (FQDN) należy zezwolić na punkty końcowe telemetrii i usługi Application Insights wymienione w Działanie w zablokowanej sieci.
CycleCloud VM ratecard.azure-api.net Outbound TCP 443 Pobieranie danych cenowych platformy Azure Wymagane do oszacowania kosztów. Dane o użytkowaniu pozostają dostępne bez dostępu do API RateCard, ale koszty nie są wyświetlane.
Maszyny wirtualne i węzły klastra usługi CycleCloud Storage Tag usługi, punkt końcowy usługi lub prywatny punkt końcowy Outbound TCP 443 Uzyskaj dostęp do przechowywania CycleCloud i artefaktów w klastrze etapowym Required. Gdy korzystasz z prywatnego endpointu, konfiguruj prywatny DNS i wyraźnie ograniczaj lub wyłączaj dostęp do publicznej pamięci.
Węzły VM i klastra CycleCloud Zatwierdzone repozytoria pakietów i punkty końcowe pobierania z GitHub Outbound TCP 443 Pobierz pakiety instalacyjne i projekty CycleCloud Wymagane tylko wtedy, gdy artefakty nie są dostępne z niestandardowego obrazu, prywatnego lustra lub wstępnie przygotowanego projektu. Zezwalaj na github.com i na wszystkie hosty docelowe osiągane za pośrednictwem przekierowań pobierania lub kieruj ruch przez zatwierdzoną zaporę sieciową lub serwer proxy HTTPS.

Grupy zabezpieczeń sieci (NSG) są stanowe, więc nie potrzebujesz osobnej reguły dla ruchu zwrotnego. Jeśli używasz Azure Firewall, wirtualnego urządzenia sieciowego lub sieciowego firewalla, skonfiguruj równoważne trasy i reguły. O wdrożeniu zablokowanym zobacz Działanie w sieci zablokowanej.

Punkty końcowe wejściowe w tablicach węzłów

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

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

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

Poprzednia konfiguracja umożliwia publiczny dostęp do węzłów obliczeniowych na portach, które Grupa zabezpieczeń sieci pozwala dla sieci wirtualnej. W przypadku tablicy węzłów, PublicPort jest numerem portu podstawowego dla węzłów w tablicy. Zakres portów zarezerwowanych dla tablicy węzłów to 500 portów dla każdego punktu końcowego. Punkty końcowe są domyślne dla protokołu TCP, ale protokół UDP jest również obsługiwany przez ustawienie Protocol = UDP. Domyślnie węzeł pobiera dynamiczny publiczny adres IP, który zmienia się za każdym razem, gdy uruchamiasz klaster. Aby przypisać statyczny publiczny adres IP do węzła, dodaj PublicIP do konfiguracji interfejsu sieciowego dla interfejsu podstawowego:

W przypadku zwracanych węzłów serwera proxy, jeśli nie określisz AssociatePublicIpAddress, system automatycznie utworzy publiczny adres IP. Jeśli zostanie ustawiona wartość AssociatePublicIpAddressFałsz, węzeł zakończy się niepowodzeniem z ostrzeżeniem i nie zostanie utworzona żadna automatyczna grupa nsg dla węzła.

Uwaga

Po uruchomieniu węzła za pomocą AssociatePublicIpAddress, węzeł utrzymuje ten adres IP aż do momentu usunięcia węzła lub klastra.