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.
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
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.
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:
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:
Azure Automation is een automatiseringssysteem in de cloud. Deze bevat:
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:
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:
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.
Tip
Zie De architectuur van de Azure-landingszone aanpassen om te voldoen aan de vereisten voor meer informatie.
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.
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.