Configurazione di rete del nodo

Un nodo del cluster Azure CycleCloud include impostazioni predefinite per la rete. È possibile modificare queste impostazioni nella sezione relativa alla definizione del nodo del modello di cluster.

Interfacce di rete

Quando Azure CycleCloud crea una macchina virtuale di Azure per un cluster, collega un'interfaccia di rete virtuale alla macchina virtuale. Per i set di scalabilità di macchine virtuali, l'interfaccia di rete virtuale si connette a un bilanciatore del carico.

È possibile configurare le impostazioni di rete per i nodi modificando la sezione relativa alla definizione dell'interfaccia di rete del nodo nel modello di cluster.

Assegnazione di indirizzi IP pubblici

Aggiungere un AssociatePublicIpAddress attributo a un nodo per specificare se il nodo deve ricevere un indirizzo IP pubblico. Per esempio:

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

La configurazione precedente consente l'accesso pubblico al nodo dello scheduler sulle porte consentite dal gruppo di sicurezza di rete sulla rete virtuale.

Per impostazione predefinita, il nodo ottiene un indirizzo IP pubblico dinamico che cambia ogni volta che si avvia il cluster. Per assegnare un indirizzo IP pubblico statico al nodo, creare prima di tutto un indirizzo IP pubblico nella sottoscrizione di Azure. Aggiungere quindi l'attributo PublicIP alla sezione node network-interface e assegnargli l'ID risorsa per l'oggetto PublicIP creato.

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

In alternativa, creare un'interfaccia di rete nella sottoscrizione di Azure e collegare un indirizzo IP pubblico a tale interfaccia di rete. Specificare quindi l'ID dell'interfaccia di rete nella configurazione del nodo:

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

Assegnazione di un'etichetta DNS pubblica

L'aggiunta PublicDnsLabel a un'interfaccia di rete pubblica consente di personalizzare il nome DNS per tale indirizzo IP.

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

La configurazione precedente ti dà un indirizzo IP pubblico assegnato staticamente e una voce DNS per la macchina virtuale che si risolve in myuniquename.eastus.cloudapp.azure.com (con eastus che corrisponde alla posizione di Azure per la macchina virtuale).

Assegnazione di un indirizzo IP privato

Per impostazione predefinita, le macchine virtuali ottengono un indirizzo IP privato assegnato dinamicamente in Azure. In alcuni casi, sono necessari indirizzi IP privati fissi per i nodi. Per configurare questa opzione, usare la sezione network-interface della configurazione del cluster:

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

L'indirizzo IP privato specificato deve essere valido per la subnet associata. Azure riserva i primi quattro e gli ultimi indirizzi IP nella subnet. Non è possibile assegnare manualmente questi indirizzi a un nodo.

Gruppi di sicurezza di rete

Azure CycleCloud effettua il provisioning di macchine virtuali e set di scalabilità di macchine virtuali in reti virtuali e subnet definite dall'utente. I gruppi di sicurezza di rete associati alla rete virtuale regolano l'accesso a porte specifiche nei nodi. Per altre informazioni, vedere Documentazione sulla rete virtuale.

Se si configura l'interfaccia di rete di un nodo con AssociatePublicIpAddress = true o si assegna un PublicIpoggetto , il nodo riceve automaticamente un gruppo di sicurezza di rete.

È possibile specificare questo gruppo di sicurezza di rete usando SecurityGroup. Se si omette SecurityGroup, il gruppo di sicurezza di rete viene generato automaticamente dalle input-endpoints sezioni del nodo. L'oggetto SecurityGroup specificato per un'interfaccia esegue l'override del gruppo di sicurezza di rete automatico creato per input-endpoints. A meno che non si specifichi un oggetto SecurityGroup, tutte le interfacce ottengono il gruppo di sicurezza di rete automatico dalle definizioni input-endpoint.

Porti e traffico necessari

Usa le seguenti tabelle come matrice autorevole del traffico quando configuri gruppi di sicurezza di rete (NSG), firewall o appliance di routing per CycleCloud. Inbound e outbound descrivono rispettivamente la direzione della regola sulla destinazione e sulla sorgente. Limitare ogni sorgente e destinazione alla subnet applicabile, all'indirizzo IP privato o all'intervallo client approvato.

Traffico di CycleCloud e del cluster

origine Destination Direzione Protocol Porto Purpose Applicability
Amministratori e client API CycleCloud VM In ingresso TCP 443 Interfaccia web e API di CycleCloud su HTTPS Richiesto per utenti e strumenti che accedono a CycleCloud. Utilizza gamme di fonti private o aziendali approvate.
Administrators CycleCloud VM In ingresso TCP 22 Accesso amministrativo SSH Optional. Preferisci Azure Bastion, VPN o ExpressRoute, e limita il sorgente.
Nodi del cluster CycleCloud VM Traffico in uscita dai nodi del cluster; traffico in entrata a CycleCloud TCP 9443 Stato dei nodi, richieste API di ridimensionamento automatico e sincronizzazione dei servizi tramite HTTPS Richiesto per la comunicazione diretta tra il nodo e CycleCloud in CycleCloud 8.
CycleCloud VM Restituisci nodo proxy In uscita da CycleCloud; in entrata verso il proxy TCP 22 Configurare il tunnel SSH return-proxy Richiesto solo quando abiliti il proxy di ritorno.
Nodi del cluster Nodo proxy di ritorno In uscita dai nodi del cluster; in entrata al proxy TCP 37140 Inoltra il traffico HTTPS del nodo attraverso il proxy di ritorno alla porta CycleCloud 9443 Richiesto solo quando si abilita il proxy di ritorno.
CycleCloud VM Utilità di pianificazione del cluster, accesso o altri nodi gestiti In uscita da CycleCloud; in ingresso verso i nodi del cluster TCP 22 Orchestrazione dei nodi, accesso al sistema e monitoraggio del lavoro Richiesto quando CycleCloud deve connettersi ai nodi gestiti usando SSH.
Utenti del cluster Nodi di scheduling o di login In ingresso TCP 22 Accesso SSH degli utenti e invio di job Opzionale, in base alla progettazione dell'accesso al cluster. Limita la fonte alle reti di utenti approvati.
Amministratori o utenti Nodi del cluster Windows In ingresso TCP 3389 Accesso RDP (Protocollo Desktop Remoto) Opzionale per i nodi Windows. Limita la fonte alle reti di utenti approvati.

CycleCloud 7 utilizza anche TCP 5672 dai nodi del cluster alla VM CycleCloud per il traffico Advanced Message Queuing Protocol (AMQP). Con il proxy inverso abilitato, i nodi di CycleCloud 7 utilizzano la porta TCP 37141 verso il proxy, che inoltra il traffico alla porta 5672. Non aprire le porte 5672 o 37141 per un deployment solo CycleCloud 8.

Utilità di pianificazione, monitoraggio e traffico del carico di lavoro

origine Destination Direzione Protocol Porto Purpose Applicability
Client e nodi di calcolo di Slurm nodo dello scheduler Slurm In entrata per l'utilità di pianificazione TCP 6817 Comunicazione con slurmctld È necessario per Slurm quando usi la porta predefinita. Aggiorna la regola se personalizza SlurmctldPort.
nodo dello scheduler Slurm Nodi di calcolo Slurm In entrata verso i nodi di calcolo TCP 6818 Comunicazione con slurmd È necessario per Slurm quando usi la porta predefinita. Aggiorna la regola se personalizza SlurmdPort.
Scheduler e nodi di calcolo Scheduler e nodi di calcolo In entrata e in uscita Definito dall'utilità di pianificazione Definito dallo scheduler Comunicazione tra il demone di pianificazione e l'adattatore di scalabilità automatica Richiesto per il scheduler selezionato. Per PBS Pro, IBM LSF, Grid Engine o HTCondor, consente le porte configurate dall'utilità di pianificazione e dal modello del cluster. CycleCloud non definisce un intervallo comune.
CycleCloud 7 VM Nodo primario del cluster in uscita da CycleCloud; in entrata verso il nodo primario TCP 8652 Monitoraggio dei gangli Solo per CycleCloud 7. CycleCloud 8 ottiene metriche cluster da Monitoraggio di Azure e non richiede questa regola inbound.
Nodi del cluster Endpoint del file system condiviso In entrata e in uscita TCP 2049 Accesso al Network File System (NFS) Optional. Richiesto solo per lo storage condiviso basato su NFS. Aggiungi eventuali porte extra richieste dalla versione NFS selezionata e dalla configurazione di montaggio.
Nodi del cluster Servizio di elenco In entrata e in uscita TCP 389 o 636 Protocollo LDAP (Lightweight Directory Access Protocol) o autenticazione LDAP su TLS Optional. Preferisco la porta 636 per LDAP criptato. Usare le porte richieste dalla progettazione dell'identità.

In una distribuzione standard di Slurm, i client Munge comunicano con il daemon locale munged tramite un socket Unix a dominio. Non aggiungere la porta TCP 4065 come regola NSG tra nodi, a meno che un componente personalizzato nella distribuzione non utilizzi esplicitamente tale porta.

Uscita del servizio e del pacchetto di Azure

origine Destination Direzione Protocol Porto Purpose Applicability
CycleCloud VM AzureResourceManager Targhetta di servizio In uscita TCP 443 Creare e gestire risorse Azure Required.
CycleCloud VM AzureActiveDirectory service tag In uscita TCP 443 Eseguire l'autenticazione in Microsoft Entra ID Richiesto quando la distribuzione utilizza l'autenticazione Microsoft Entra o le identità gestite.
CycleCloud VM AzureMonitor tag di servizio e endpoint di telemetria obbligatori In uscita TCP 443 Recupera le metriche e invia la telemetria Richiesto per il monitoraggio di CycleCloud 8. Per i firewall che filtrano in base al nome di dominio completo (FQDN), consentire l'accesso agli endpoint di telemetria e di Application Insights elencati in Uso in una rete bloccata.
CycleCloud VM ratecard.azure-api.net In uscita TCP 443 Recupera i dati dei prezzi di Azure Richiesto per le stime dei costi. I dati di utilizzo rimangono disponibili senza l'accesso all'API di RateCard, ma i costi non vengono mostrati.
VM e nodi del cluster di CycleCloud Storage tag di servizio, endpoint di servizio o endpoint privato In uscita TCP 443 Accedere all'archiviazione CycleCloud e agli artefatti del cluster a fasi Required. Quando usi un endpoint privato, configura il DNS privato e limita o disabilita esplicitamente l'accesso allo storage pubblico.
VM e nodi del cluster di CycleCloud Repository di pacchetti approvati ed endpoint di download di GitHub In uscita TCP 443 Scarica pacchetti di installazione e progetti CycleCloud Richiesto solo quando gli artefatti non sono disponibili da un'immagine personalizzata, un mirror privato o un progetto a fasi. Consentire github.com e qualsiasi host di destinazione raggiunto attraverso i reindirizzamenti di download, oppure instradare il traffico tramite un firewall approvato o un proxy HTTPS.

Gli NSG sono con stato, quindi non serve una regola separata per il traffico di risposta. Se usi Firewall di Azure, un appliance virtuale di rete o un firewall on-premise, configura percorsi e regole equivalenti. Per una distribuzione bloccata, vedi Operare in una rete bloccata.

Endpoint di input in matrici di nodi

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

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

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

La configurazione precedente consente l'accesso pubblico ai nodi di esecuzione sulle porte consentite dal gruppo di sicurezza di rete per la rete virtuale. Per la matrice di nodi, PublicPort è il numero di porta di base per i nodi nella matrice. L'intervallo di porte riservate per la matrice di nodi è di 500 porte per ogni endpoint. Per impostazione predefinita, gli endpoint utilizzano il protocollo TCP, ma è supportato anche UDP impostando Protocol = UDP. Per impostazione predefinita, il nodo ottiene un indirizzo IP pubblico dinamico che cambia ogni volta che si avvia il cluster. Per assegnare un indirizzo IP pubblico statico al nodo, aggiungere PublicIP alla configurazione dell'interfaccia di rete per l'interfaccia primaria:

Per i nodi proxy restituiti, se non si specifica AssociatePublicIpAddress, il sistema crea automaticamente un indirizzo IP pubblico. Se si imposta AssociatePublicIpAddress su False, il nodo ha esito negativo con un avviso e non viene creato alcun gruppo di sicurezza di rete automatico per il nodo.

Annotazioni

Quando si avvia un nodo con AssociatePublicIpAddress, il nodo mantiene tale indirizzo IP fino a quando non si rimuove il nodo o il cluster.