Delen via


Azure-landingszones - Ontwerpoverwegingen voor Bicep-modules

In dit artikel worden de ontwerpoverwegingen besproken van de modulaire Azure Landing Zones (ALZ) - Bicep-oplossing die u kunt gebruiken voor het implementeren en beheren van de kernplatformmogelijkheden van de conceptuele architectuur van de Azure-landingszone, zoals beschreven in het Cloud Adoption Framework (CAF).

Bicep is een domeinspecifieke taal (DSL) die declaratieve syntaxis gebruikt om Azure-resources te implementeren. Het bevat beknopte syntaxis, betrouwbare typeveiligheid en ondersteuning voor hergebruik van code.

GitHub logo Er is een implementatie van deze architectuur beschikbaar op GitHub: Azure Landing Zones (ALZ) - Bicep Implementation. U kunt het als uitgangspunt gebruiken en configureren op basis van uw behoeften.

Notitie

Er zijn implementaties voor verschillende implementatietechnologieën, waaronder portalgebaseerde ARM-sjablonen en Terraform-modules. De keuze van implementatietechnologie mag geen invloed hebben op de resulterende implementatie van Azure-landingszones.

ALZ Bicep Accelerator

U vindt stapsgewijze instructies voor het implementeren, automatiseren en onderhouden van uw ALZ Bicep-module met de ALZ Bicep Accelerator.

Het ALZ Bicep Accelerator-framework is ontwikkeld om eindgebruikers ondersteuning te bieden voor onboarding en implementatie van ALZ Bicep met behulp van volwaardige CI/CD-pijplijnen, ondersteuning voor GitHub Actions en Azure DevOps Pipelines, toegewezen framework om synchroon te blijven met nieuwe ALZ Bicep-releases en aangepaste modules te wijzigen of toe te voegen, en biedt vertakkingsstrategierichtlijnen en pull-aanvraagpijplijnen voor linting en validatie van Bicep-modules.

Ontwerpen

Diagram showing the bicep modules for deploying Azure landing zones.

De architectuur profiteert van de modulaire aard van Azure Bicep en bestaat uit het aantal modules. Elke module bevat een kernmogelijkheid van de conceptuele architectuur van Azure Landing Zones. De modules kunnen afzonderlijk worden geïmplementeerd, maar er zijn afhankelijkheden waar u rekening mee moet houden.

De architectuur stelt voor om orchestratormodules op te nemen om de implementatie-ervaring te vereenvoudigen. De orchestratormodules kunnen worden gebruikt om de implementatie van de modules te automatiseren en om verschillende implementatietopologieën in te kapselen.

Modules

Een kernconcept in Bicep is het gebruik van modules. Met modules kunt u implementaties organiseren in logische groeperingen. Met modules verbetert u de leesbaarheid van uw Bicep-bestanden door complexe details van uw implementatie in te kapselen. U kunt modules ook eenvoudig hergebruiken voor verschillende implementaties.

De mogelijkheid om modules opnieuw te gebruiken biedt een echt voordeel bij het definiëren en implementeren van landingszones. Het maakt herhaalbare, consistente omgevingen in code mogelijk en vermindert tegelijkertijd de inspanning die nodig is om op schaal te implementeren.

Lagen en fasering

Naast modules is de Bicep-landingszonearchitectuur gestructureerd met behulp van een concept van lagen. Lagen zijn groepen Bicep-modules die samen moeten worden geïmplementeerd. Deze groepen vormen logische fasen van de implementatie.

Diagram showing the deployment layers.

Een voordeel van deze gelaagde benadering is de mogelijkheid om stapsgewijs aan uw omgeving toe te voegen. U kunt bijvoorbeeld beginnen met een klein aantal lagen. U kunt de resterende lagen in een volgende fase toevoegen wanneer u klaar bent.

Modulebeschrijvingen

Deze sectie biedt een algemeen overzicht van de kernmodules in deze architectuur.

Laag Module Beschrijving Nuttige koppelingen
Basis Beheergroepen Beheergroepen zijn de resources op het hoogste niveau in een Azure-tenant. Met beheergroepen kunt u uw resources eenvoudiger beheren. U kunt beleid toepassen op het niveau van de beheergroep en resources op lager niveau nemen dat beleid over. U kunt met name de volgende items toepassen op het niveau van de beheergroep die worden overgenomen door abonnementen onder de beheergroep:
  • Azure-beleid
  • RBAC-roltoewijzingen (Op rollen gebaseerd toegangsbeheer) van Azure
  • Kostenbeheer

In deze module wordt de hiërarchie van de beheergroep geïmplementeerd zoals gedefinieerd in de conceptuele architectuur van de Azure-landingszone.
Basis Aangepaste beleidsdefinities DeployIfNotExists (DINE) of Beleid wijzigen helpt ervoor te zorgen dat de abonnementen en resources waaruit landingszones bestaan, compatibel zijn. Het beleid vereenvoudigt ook het beheer van landingszones.

In deze module worden aangepaste beleidsdefinities geïmplementeerd in beheergroepen. Niet alle klanten kunnen DINE gebruiken of beleid wijzigen. Als dat het geval is voor u, biedt CAF-richtlijnen voor aangepaste beleidsregels richtlijnen.
Basis Aangepaste roldefinities Op rollen gebaseerd toegangsbeheer (RBAC) vereenvoudigt het beheer van gebruikersrechten binnen een systeem. In plaats van de rechten van personen te beheren, bepaalt u de rechten die vereist zijn voor verschillende rollen in uw systeem. Azure RBAC heeft verschillende ingebouwde rollen. Met aangepaste roldefinities kunt u aangepaste rollen maken voor uw omgeving.

In deze module worden aangepaste roldefinities geïmplementeerd. De module moet de CAF-richtlijnen voor op rollen gebaseerd toegangsbeheer van Azure volgen.
Beheer Logboekregistratie, Automation & Sentinel Met Azure Monitor, Azure Automation en Microsoft Sentinel kunt u uw infrastructuur en workloads bewaken en beheren. Azure Monitor is een oplossing waarmee u telemetriegegevens uit uw omgeving kunt verzamelen, analyseren en er actie op kunt ondernemen.

Microsoft Sentinel is een cloudeigen SIEM (Security Information and Event Management). Hiermee kunt u het volgende doen:
  • Verzamelen - Gegevens verzamelen in uw hele infrastructuur
  • Detecteren - Bedreigingen detecteren die eerder niet zijn gedetecteerd
  • Reageren - Reageren op legitieme bedreigingen met ingebouwde indeling
  • Onderzoeken - Bedreigingen onderzoeken met kunstmatige intelligentie

Azure Automation is een automatiseringssysteem in de cloud. Deze bevat:
  • Configuratiebeheer: wijzigingen inventariseren en bijhouden voor virtuele Linux- en Windows-machines en gewenste statusconfiguratie beheren
  • Updatebeheer - Windows- en Linux-systeemnaleving beoordelen en geplande implementaties maken om te voldoen aan de naleving
  • Procesautomatisering - Beheertaken automatiseren

In deze module worden de hulpprogramma's geïmplementeerd die nodig zijn voor het bewaken, beheren en openen van bedreigingen voor uw omgeving. Deze hulpprogramma's moeten Azure Monitor, Azure Automation en Microsoft Sentinel bevatten.
Connectiviteit Netwerken Netwerktopologie is een belangrijke overweging in implementaties van Azure-landingszones. CAF richt zich op twee kernnetwerken:
  • Topologieën op basis van Azure Virtual WAN
  • Traditionele topologieën

Deze modules implementeren de netwerktopologie die u kiest.
Identiteit Roltoewijzingen Identiteits- en toegangsbeheer (IAM) is de belangrijkste beveiligingsgrens in cloud-computing. Met Azure RBAC kunt u roltoewijzingen uitvoeren van ingebouwde rollen of aangepaste roldefinities voor beveiligingsprinciplen.

In deze module worden roltoewijzingen geïmplementeerd in service-principals, beheerde identiteiten of beveiligingsgroepen in beheergroepen en abonnementen. De module moet de CAF-richtlijnen voor identiteits- en toegangsbeheer van Azure volgen.
Basis Plaatsing van abonnementen Abonnementen die zijn toegewezen aan een beheergroep nemen het volgende over:
  • Azure-beleid
  • RBAC-roltoewijzingen (Op rollen gebaseerd toegangsbeheer) van Azure
  • Kostenbeheer

Met deze module worden abonnementen verplaatst onder de juiste beheergroep.
Basis Ingebouwde en aangepaste beleidstoewijzingen In deze module worden de standaard azure-landingszonetoewijzingen voor Azure Policy geïmplementeerd in beheergroepen. Er worden ook roltoewijzingen gemaakt voor door het systeem toegewezen beheerde identiteiten die zijn gemaakt door beleid.
Beheer Orchestrator-modules Orchestrator-modules kunnen de implementatie-ervaring aanzienlijk verbeteren. Deze modules kapselen de implementatie van meerdere modules in één module in. Dit verbergt de complexiteit van de eindgebruiker.

De Bicep-implementatie aanpassen

De implementaties van de Azure-landingszone die worden geleverd als onderdeel van het Cloud Adoption Framework, zijn geschikt voor een groot aantal vereisten en gebruiksscenario's. Er zijn echter vaak scenario's waarin aanpassing is vereist om te voldoen aan specifieke bedrijfsbehoeften.

Zodra de landingszone van het platform is geïmplementeerd, is de volgende stap het implementeren van landingszones voor toepassingen die toepassingsteams in staat stellen onder de landing zones beheergroep met de kaders die centrale IT- of PlatformOps-beheerders nodig hebben. De corp beheergroep is bedoeld voor bedrijfstoepassingen die zijn verbonden, terwijl de online beheergroep bedoeld is voor toepassingen die voornamelijk openbaar zijn, maar in sommige scenario's nog steeds verbinding kunnen maken met bedrijfstoepassingen via hubnetwerken.

De implementatie van de Bicep Azure-landingszone kan worden gebruikt als basis voor uw aangepaste implementatie. Het biedt u een manier om uw implementatie te versnellen door de noodzaak om helemaal opnieuw te beginnen te verwijderen vanwege een specifieke vereiste wijziging die een kant-en-klare optie uitvoert.

GitHub logo Informatie over het aanpassen van de modules is beschikbaar in de GitHub-opslagplaatswiki GitHub: Azure Landing Zones (ALZ) Bicep - Wiki- Consumer Guide. U kunt het als uitgangspunt gebruiken en configureren op basis van uw behoeften.