Zone di destinazione di Azure - Considerazioni sulla progettazione dei moduli Bicep

Questo articolo illustra le considerazioni di progettazione relative alle zone di destinazione di Azure (ALZ) modularizzate: è possibile usare la soluzione Bicep per distribuire e gestire le funzionalità principali della piattaforma dell'architettura concettuale della zona di destinazione di Azure, come descritto in dettaglio in Cloud Adoption Framework (CAF).

Bicep è un linguaggio specifico di dominio (DSL) che usa la sintassi dichiarativa per distribuire le risorse di Azure. Include sintassi concisa, sicurezza dei tipi affidabile e supporto per il riutilizzo del codice.

GitHub logo Un'implementazione di questa architettura è disponibile in GitHub: Zone di destinazione di Azure (ALZ) - Implementazione Bicep. È possibile usarlo come punto di partenza e configurarlo in base alle proprie esigenze.

Nota

Sono disponibili implementazioni per diverse tecnologie di distribuzione, tra cui modelli di Resource Manager e moduli Terraform basati sul portale. La scelta della tecnologia di distribuzione non deve influenzare la distribuzione delle zone di destinazione di Azure risultanti.

ALZ Bicep Accelerator

È possibile trovare istruzioni dettagliate sull'implementazione, l'automazione e la gestione del modulo ALZ Bicep con l'acceleratore ALZ Bicep.

Il framework ALZ Bicep Accelerator è stato sviluppato per fornire agli utenti finali il supporto per l'onboarding e la distribuzione di ALZ Bicep usando pipeline CI/CD complete, supporto per GitHub Actions e Azure DevOps Pipelines, framework dedicato per rimanere sincronizzato con le nuove versioni di ALZ Bicep e modificare o aggiungere moduli personalizzati e fornisce linee guida per la strategia di diramazione e pipeline di richieste pull per l'linting e la convalida dei moduli Bicep.

Progettazione

Diagram showing the bicep modules for deploying Azure landing zones.

L'architettura sfrutta la natura modulare di Azure Bicep ed è costituita da un numero di moduli. Ogni modulo incapsula una funzionalità di base dell'architettura concettuale delle zone di destinazione di Azure. I moduli possono essere distribuiti singolarmente, ma esistono dipendenze da tenere presente.

L'architettura propone l'inclusione di moduli dell'agente di orchestrazione per semplificare l'esperienza di distribuzione. I moduli dell'agente di orchestrazione possono essere usati per automatizzare la distribuzione dei moduli e per incapsulare topologie di distribuzione diverse.

Moduli

Un concetto di base in Bicep è l'uso dei moduli. I moduli consentono di organizzare le distribuzioni in raggruppamenti logici. Con i moduli è possibile migliorare la leggibilità dei file Bicep incapsulando dettagli complessi della distribuzione. È anche possibile riutilizzare facilmente i moduli per distribuzioni diverse.

La possibilità di riutilizzare i moduli offre un vantaggio reale quando si definiscono e distribuiscono le zone di destinazione. Consente ambienti ripetibili e coerenti nel codice riducendo al tempo stesso lo sforzo necessario per la distribuzione su larga scala.

Livelli e gestione temporanea

Oltre ai moduli, l'architettura della zona di destinazione Bicep è strutturata usando un concetto di livelli. I livelli sono gruppi di moduli Bicep che devono essere distribuiti insieme. Tali gruppi formano fasi logiche dell'implementazione.

Diagram showing the deployment layers.

Un vantaggio di questo approccio a più livelli è la possibilità di aggiungere all'ambiente in modo incrementale nel tempo. Ad esempio, è possibile iniziare con un numero ridotto di livelli. È possibile aggiungere i livelli rimanenti in una fase successiva quando si è pronti.

Descrizioni dei moduli

Questa sezione offre una panoramica generale dei moduli di base in questa architettura.

Livello Modulo Descrizione Collegamenti utili
Memoria centrale Gruppi di gestione I gruppi di gestione sono le risorse di livello più alto in un tenant di Azure. I gruppi di gestione consentono di gestire più facilmente le risorse. È possibile applicare criteri a livello di gruppo di gestione e le risorse di livello inferiore erediteranno tale criterio. In particolare, è possibile applicare gli elementi seguenti a livello di gruppo di gestione che verranno ereditati dalle sottoscrizioni nel gruppo di gestione:
  • Criteri di Azure
  • Assegnazioni di ruolo Controllo di accesso basate su ruoli di Azure
  • Controlli dei costi

Questo modulo distribuisce la gerarchia dei gruppi di gestione come definito nell'architettura concettuale della zona di destinazione di Azure.
Memoria centrale Definizioni di criteri personalizzati DeployIfNotExists (DINE) o Modifica criteri consentono di garantire che le sottoscrizioni e le risorse che costituiscono le zone di destinazione siano conformi. I criteri semplificano anche il carico di gestione delle zone di destinazione.

Questo modulo distribuisce definizioni di criteri personalizzate ai gruppi di gestione. Non tutti i clienti possono usare i criteri DINE o Modify. In tal caso, le linee guida di Cloud Adoption Framework per i criteri personalizzati forniscono indicazioni.
Memoria centrale Definizioni di ruolo personalizzate Il controllo degli accessi in base al ruolo semplifica la gestione dei diritti utente all'interno di un sistema. Invece di gestire i diritti delle persone, si determinano i diritti necessari per ruoli diversi nel sistema. Il controllo degli accessi in base al ruolo di Azure include diversi ruoli predefiniti. Le definizioni di ruolo personalizzate consentono di creare ruoli personalizzati per l'ambiente.

Questo modulo distribuisce definizioni di ruolo personalizzate. Il modulo deve seguire le indicazioni di Cloud Adoption Framework per il controllo degli accessi in base al ruolo di Azure.
Gestione Registrazione, Automazione e Sentinel Monitoraggio di Azure, Automazione di Azure e Microsoft Sentinel consentono di monitorare e gestire l'infrastruttura e i carichi di lavoro. Monitoraggio di Azure è una soluzione che consente di raccogliere, analizzare e agire sui dati di telemetria dall'ambiente.

Microsoft Sentinel è una soluzione SIEM (Security Information and Event Management) nativa del cloud. Consente di:
  • Raccogliere : raccogliere dati nell'intera infrastruttura
  • Rilevare: rilevare le minacce che in precedenza non sono state rilevate
  • Rispondere: rispondere alle minacce legittime con l'orchestrazione predefinita
  • Analizzare - Analizzare le minacce con l'intelligenza artificiale

Automazione di Azure è un sistema di automazione basato sul cloud. Comprende:
  • Gestione della configurazione - Inventario e rilevamento delle modifiche per le macchine virtuali Linux e Windows e gestire la configurazione dello stato desiderata
  • Gestione degli aggiornamenti - Valutare la conformità del sistema Windows e Linux e creare distribuzioni pianificate per soddisfare la conformità
  • Automazione dei processi - Automatizzare le attività di gestione

Questo modulo distribuisce gli strumenti necessari per monitorare, gestire e accedere alle minacce all'ambiente. Questi strumenti devono includere Monitoraggio di Azure, Automazione di Azure e Microsoft Sentinel.
Connettività Rete La topologia di rete è una considerazione fondamentale nelle distribuzioni della zona di destinazione di Azure. Cloud Adoption Framework è incentrato sugli approcci di rete principali 2:
  • Topologie basate su Azure rete WAN virtuale
  • Topologie tradizionali

Questi moduli distribuiscono la topologia di rete scelta.
Identità Assegnazioni di ruolo La gestione delle identità e degli accessi (IAM) è il limite di sicurezza chiave nel cloud computing. Il controllo degli accessi in base al ruolo di Azure consente di eseguire assegnazioni di ruolo di ruoli predefiniti o definizioni di ruolo personalizzate alle entità di sicurezza.

Questo modulo distribuisce le assegnazioni di ruolo a entità servizio, identità gestite o gruppi di sicurezza tra gruppi di gestione e sottoscrizioni. Il modulo deve seguire le indicazioni di Cloud Adoption Framework sulla gestione delle identità e degli accessi di Azure.
Memoria centrale Posizionamento delle sottoscrizioni Le sottoscrizioni assegnate a un gruppo di gestione ereditano:
  • Criteri di Azure
  • Assegnazioni di ruolo Controllo di accesso basate su ruoli di Azure
  • Controlli dei costi

Questo modulo sposta le sottoscrizioni nel gruppo di gestione appropriato.
Memoria centrale Assegnazioni di criteri predefinite e personalizzate Questo modulo distribuisce la zona di destinazione di Azure predefinita Criteri di Azure assegnazioni ai gruppi di gestione. Crea anche assegnazioni di ruolo per le identità gestite assegnate dal sistema create dai criteri.
Gestione Moduli di Orchestrator I moduli di Orchestrator possono migliorare notevolmente l'esperienza di distribuzione. Questi moduli incapsulano la distribuzione di più moduli in un singolo modulo. In questo modo si nasconde la complessità dell'utente finale.

Personalizzazione dell'implementazione di Bicep

Le implementazioni della zona di destinazione di Azure fornite come parte di Cloud Adoption Framework soddisfano un'ampia gamma di requisiti e casi d'uso. Tuttavia, esistono spesso scenari in cui è necessaria la personalizzazione per soddisfare esigenze aziendali specifiche.

Dopo aver implementato la zona di destinazione della piattaforma, il passaggio successivo consiste nel distribuire le zone di destinazione dell'applicazione che consentono ai team delle applicazioni nel landing zones gruppo di gestione di usare le protezioni richieste dagli amministratori IT centrale o PlatformOps. Il corp gruppo di gestione è destinato alle applicazioni connesse all'azienda, mentre il online gruppo di gestione è destinato alle applicazioni rivolte principalmente pubblicamente, ma può comunque connettersi alle applicazioni aziendali tramite reti hub in alcuni scenari.

L'implementazione della zona di destinazione di Azure Bicep può essere usata come base della distribuzione personalizzata. Offre un modo per accelerare l'implementazione rimuovendo la necessità di iniziare da zero a causa di una modifica specifica necessaria che regola un'opzione pronta.

GitHub logo Le informazioni sulla personalizzazione dei moduli sono disponibili nel wiki del repository GitHub GitHub: Azure Landing Zones (ALZ) Bicep - Wiki- Consumer Guide (AlZ) Bicep ( Zone di destinazione di Azure - Wiki- Consumer Guide). È possibile usarlo come punto di partenza e configurarlo in base alle proprie esigenze.