Condividi tramite


Panoramica dei cluster di Service Fabric in Azure

Un cluster di Service Fabric è un set connesso alla rete di macchine virtuali o fisiche in cui i microservizi vengono distribuiti e gestiti. Un computer o una VM che fa parte di un cluster è chiamato nodo del cluster. I cluster possono essere ridimensionati a migliaia di nodi. Quando si aggiungono nuovi nodi al cluster, Service Fabric riequilibra le repliche e le istanze delle partizioni del servizio sul numero aumentato di nodi. Le prestazioni complessive dell'applicazione migliorano e la contesa per l'accesso alla memoria si riduce. Se i nodi del cluster non vengono usati in modo efficiente, è possibile ridurre il numero di nodi del cluster. Service Fabric ribilancia di nuovo le repliche e le istanze di partizione nel numero ridotto di nodi per usare al meglio l'hardware in ogni nodo.

Un tipo di nodo definisce le dimensioni, il numero e le proprietà per un set di nodi (macchine virtuali) nel cluster. Ogni tipo di nodo può quindi essere ridimensionato verso l'alto o verso il basso in modo indipendente, avere set diversi di porte aperte e avere metriche di capacità diverse. I tipi di nodo vengono usati per definire i ruoli per un set di nodi del cluster, ad esempio "front-end" o "back-end". Il cluster può avere più di un tipo di nodo, ma il tipo di nodo primario deve avere almeno cinque macchine virtuali per i cluster di produzione (o almeno tre macchine virtuali per i cluster di test). I servizi di sistema di Service Fabric vengono posizionati nei nodi del tipo di nodo primario.

Componenti e risorse del cluster

Un cluster di Service Fabric in Azure è una risorsa di Azure che usa e interagisce con altre risorse di Azure:

  • Macchine virtuali e schede di rete virtuale
  • set di scalabilità di macchine virtuali
  • reti virtuali
  • servizi di bilanciamento del carico
  • account di archiviazione
  • indirizzi IP pubblici

Cluster di Service Fabric

Macchina virtuale

Una macchina virtuale che fa parte di un cluster viene tuttavia chiamata nodo, tecnicamente, un nodo del cluster è un processo di runtime di Service Fabric. A ogni nodo viene assegnato un nome (stringa). I nodi hanno caratteristiche, ad esempio le proprietà di posizionamento. Ogni computer o macchina virtuale ha un servizio di avvio automatico, FabricHost.exe, che viene avviato all'avvio e quindi avvia due eseguibili, Fabric.exe e FabricGateway.exe, che costituiscono il nodo. Una distribuzione di produzione è un nodo per ogni macchina fisica o virtuale. Per gli scenari di test, è possibile ospitare più nodi in un singolo computer o macchina virtuale eseguendo più istanze di Fabric.exe e FabricGateway.exe.

Ogni macchina virtuale è associata a una scheda di interfaccia di rete virtuale e a ogni scheda di interfaccia di rete viene assegnato un indirizzo IP privato. Una macchina virtuale viene assegnata a una rete virtuale e a un servizio di bilanciamento locale tramite la scheda di interfaccia di rete.

Tutte le macchine virtuali in un cluster vengono inserite in una rete virtuale. Tutti i nodi appartenenti allo stesso tipo di nodo/insieme di scalabilità sono posizionati sulla stessa subnet della rete virtuale. Questi nodi hanno solo indirizzi IP privati e non sono indirizzabili direttamente all'esterno della rete virtuale. I client possono accedere ai servizi nei nodi tramite il servizio di bilanciamento del carico di Azure.

Gruppo di scalabilità/tipo di nodo

Quando si crea un cluster, si definiscono uno o più tipi di nodo. I nodi o le macchine virtuali in un tipo di nodo hanno le stesse dimensioni e caratteristiche, ad esempio numero di CPU, memoria, numero di dischi e I/O su disco. Ad esempio, un tipo di nodo può essere per macchine virtuali front-end di piccole dimensioni con porte aperte a Internet, mentre un altro tipo di nodo potrebbe essere per macchine virtuali back-end di grandi dimensioni che elaborano i dati. Nei cluster di Azure ogni tipo di nodo viene mappato a un set di scalabilità di macchine virtuali.

È possibile usare i set di scalabilità per distribuire e gestire una raccolta di macchine virtuali come un insieme. Ogni tipo di nodo definito in un cluster di Azure Service Fabric configura un set di scalabilità separato. L'ambiente di esecuzione di Service Fabric viene configurato su ciascuna macchina virtuale nel set di scalabilità utilizzando le estensioni VM di Azure. È possibile ridimensionare in modo indipendente ogni tipo di nodo verso l'alto o verso il basso, modificare lo SKU del sistema operativo in esecuzione in ogni nodo del cluster, avere set diversi di porte aperte e usare metriche di capacità diverse. Un set di scalabilità ha cinque domini di aggiornamento e cinque domini di guasto e può avere fino a 100 macchine virtuali. È possibile creare cluster di più di 100 nodi creando più set di scalabilità/tipi di nodo.

Importante

La scelta del numero di tipi di nodo per il cluster e le proprietà di ogni tipo di nodo (dimensione, primaria, connessione Internet, numero di macchine virtuali e così via) è un'attività importante. Per altre informazioni, vedere Considerazioni sulla pianificazione della capacità del cluster.

Per altre informazioni, vedere Tipi di nodo di Service Fabric e set di scalabilità di macchine virtuali.

Bilanciatore di carico Azure

Le istanze di macchina virtuale vengono unite dietro un servizio di bilanciamento del carico di Azure, associato a un indirizzo IP pubblico e a un'etichetta DNS. Quando si effettua il provisioning di un cluster con <clustername>, il nome DNS, <clustername>.<location>.cloudapp.azure.com è l'etichetta DNS associata al bilanciamento del carico davanti al set di scalabilità.

Le macchine virtuali in un cluster hanno solo indirizzi IP privati. Il traffico di gestione e il traffico del servizio vengono instradati attraverso il bilanciatore di carico orientato verso il pubblico. Il traffico di rete viene instradato a questi computer tramite regole NAT (client che si connettono a nodi/istanze specifiche) o regole di bilanciamento del carico (il traffico passa alle macchine virtuali round robin). Un servizio di bilanciamento del carico ha un indirizzo IP pubblico associato con un nome DNS nel formato clustername<>.<location.cloudapp.azure.com>. Un indirizzo IP pubblico è un'altra risorsa di Azure nel gruppo di risorse. Se si definiscono più tipi di nodo in un cluster, viene creato un servizio di bilanciamento del carico per ogni tipo di nodo o set di scalabilità. In alternativa, è possibile configurare un singolo servizio di bilanciamento del carico per più tipi di nodo. Il tipo di nodo primario ha l'etichetta DNS <clustername>.<location>.cloudapp.azure.com, mentre gli altri tipi di nodo hanno l'etichetta DNS <clustername>-<nodetype>.<location>.cloudapp.azure.com.

Account di archiviazione

Ogni tipo di nodo del cluster è supportato da un account di archiviazione di Azure e da dischi gestiti.

Sicurezza del cluster

Un cluster di Service Fabric è una risorsa di cui si è proprietari. È responsabilità dell'utente proteggere i cluster per evitare che utenti non autorizzati si connettano a essi. Un cluster sicuro è particolarmente importante quando si eseguono carichi di lavoro nel cluster.

Sicurezza da nodo a nodo

La sicurezza da nodo a nodo protegge la comunicazione tra le macchine virtuali o i computer in un cluster. Questo scenario di sicurezza assicura che solo i computer autorizzati a connettersi al cluster possano partecipare all'hosting di applicazioni e servizi nel cluster. Service Fabric usa certificati X.509 per proteggere un cluster e fornire le funzionalità di sicurezza dell'applicazione. Per proteggere il traffico del cluster e fornire l'autenticazione del cluster e del server, è necessario un certificato cluster. I certificati autofirmati possono essere usati per i cluster di test, ma è consigliabile usare un certificato di un'autorità di certificazione attendibile per proteggere i cluster di produzione.

Per altre informazioni, vedere Sicurezza da nodo a nodo

Sicurezza da client a nodo

La sicurezza da client a nodo autentica i client e aiuta a proteggere la comunicazione tra un client e i singoli nodi del cluster. Questo tipo di sicurezza aiuta a garantire che solo gli utenti autorizzati possano accedere al cluster e alle applicazioni distribuite nel cluster. I client vengono identificati in modo univoco tramite le credenziali di sicurezza del certificato X.509. È possibile usare qualsiasi numero di certificati client facoltativi per autenticare i client amministratore o utente con il cluster.

Oltre ai certificati client, è anche possibile configurare l'ID Microsoft Entra per autenticare i client con il cluster.

Per altre informazioni, vedere Sicurezza da client a nodo

Controllo degli accessi in base al ruolo

Il controllo degli accessi in base al ruolo di Azure consente di assegnare controlli di accesso con granularità fine nelle risorse di Azure. È possibile assegnare regole di accesso diverse a sottoscrizioni, gruppi di risorse e risorse. Le regole di controllo degli accessi in base al ruolo di Azure vengono ereditate lungo la gerarchia delle risorse, a meno che non vengano sovrascritte a un livello inferiore. È possibile assegnare qualsiasi utente o gruppo di utenti nel tuo Microsoft Entra ID con le regole RBAC di Azure, in modo che gli utenti e i gruppi designati possano modificare il cluster. Per ulteriori informazioni, leggi la Panoramica di Azure RBAC.

Service Fabric supporta anche il controllo di accesso per limitare l'accesso a determinate operazioni del cluster per gruppi di utenti diversi. In questo modo il cluster è più sicuro. Per i client che si connettono a un cluster, sono supportati due tipi di controllo di accesso diversi: il ruolo di amministratore e il ruolo utente.

Per altre informazioni, vedere Controllo degli accessi in base al ruolo di Service Fabric.

Gruppi di sicurezza di rete

I gruppi di sicurezza di rete controllano il traffico in ingresso e in uscita di una subnet, di una macchina virtuale o di una scheda di interfaccia di rete specifica. Per impostazione predefinita, quando più macchine virtuali vengono inserite nella stessa rete virtuale, possono comunicare tra loro tramite qualsiasi porta. Se si desidera vincolare le comunicazioni tra i computer, è possibile definire gruppi di sicurezza di rete per segmentare la rete o isolare le macchine virtuali l'una dall'altra. Se sono presenti più tipi di nodo in un cluster, è possibile applicare gruppi di sicurezza di rete alle subnet per impedire ai computer appartenenti a tipi di nodo diversi di comunicare tra loro.

Per altre informazioni, vedere Gruppi di sicurezza

Scalabilità

Le richieste delle applicazioni cambiano nel tempo. Potrebbe essere necessario aumentare le risorse del cluster per soddisfare un maggiore carico di lavoro dell'applicazione o il traffico di rete o ridurre le risorse del cluster quando la domanda scende. Dopo aver creato un cluster di Service Fabric, è possibile ridimensionare il cluster orizzontalmente (modificare il numero di nodi) o verticalmente (modificare le risorse dei nodi). È possibile ridimensionare il cluster in qualsiasi momento, anche quando i carichi di lavoro sono in esecuzione nel cluster. Man mano che il cluster viene ridimensionato, anche le applicazioni vengono ridimensionate automaticamente.

Per altre informazioni, vedere Ridimensionamento dei cluster di Azure.

Aggiornamento

Un cluster di Azure Service Fabric è una risorsa proprietaria, ma è in parte gestita da Microsoft. Microsoft è responsabile dell'applicazione di patch al sistema operativo sottostante e dell'esecuzione degli aggiornamenti del runtime di Service Fabric nel cluster. È possibile impostare il cluster per ricevere gli aggiornamenti automatici del runtime, quando Microsoft rilascia una nuova versione o scegliere di selezionare una versione di runtime supportata desiderata. Oltre agli aggiornamenti di runtime, è anche possibile aggiornare la configurazione del cluster, ad esempio certificati o porte dell'applicazione.

Per altre informazioni, vedere Aggiornamento dei cluster.

Sistemi operativi supportati

Per altre informazioni, vedere Versioni supportate in Azure

Passaggi successivi

Altre informazioni sulla protezione, il ridimensionamento e l'aggiornamento dei cluster di Azure.

Informazioni sulle opzioni di supporto di Service Fabric.