Blauwdrukdefinities importeren en exporteren met PowerShell
Azure Blueprints kunnen volledig worden beheerd via Azure Portal. Naarmate organisaties hun gebruik van Azure Blueprints, moeten ze blauwdrukdefinities gaan zien als beheerde code. Dit concept wordt vaak Infrastructure as Code (IaC) genoemd. Het behandelen van uw blauwdrukdefinities als code biedt meer voordelen dan wat Azure Portal biedt. Dit zijn enkele voordelen:
- Blauwdrukdefinities delen
- Een back-up maken van uw blauwdrukdefinities
- Blauwdrukdefinities opnieuw gebruiken in verschillende tenants of abonnementen
- De blauwdrukdefinities in broncodebeheer plaatsen
- Automatisch testen van blauwdrukdefinities in testomgevingen
- Ondersteuning van pijplijnen voor continue integratie en continue implementatie (CI/CD)
Wat uw redenen ook zijn, het beheren van uw blauwdrukdefinities als code heeft voordelen. In dit artikel wordt beschreven hoe u de Import-AzBlueprintWithArtifact opdrachten en gebruikt in de module Export-AzBlueprintWithArtifact Az.Blueprint.
Vereisten
In dit artikel wordt ervan uitgenomen dat u een gemiddelde werkende kennis van Azure Blueprints. Als u dit nog niet hebt gedaan, volgt u de volgende artikelen:
- Een blauwdruk maken in de portal
- Meer informatie over implementatiefasen en de levenscyclus van blauwdrukken
- Blauwdrukdefinities en -toewijzingen maken en beheren met PowerShell
Als deze nog niet is geïnstalleerd, volgt u de instructies in De module Az.Blueprint toevoegen om de module Az.Blueprint van de PowerShell Gallery te installeren en te valideren.
Mapstructuur van een blauwdrukdefinitie
Voordat we kijken naar het exporteren en importeren van blauwdrukken, kijken we eerst hoe de bestanden waaruit de blauwdrukdefinitie is opgebouwd, zijn gestructureerd. Een blauwdrukdefinitie moet worden opgeslagen in een eigen map.
Belangrijk
Als er geen waarde wordt doorgegeven aan de parameter Naam van de cmdlet, wordt de naam gebruikt van de map waarin de Import-AzBlueprintWithArtifact blauwdrukdefinitie is opgeslagen.
Samen met de blauwdrukdefinitie, die de naam moet hebben, zijn de artefacten waaruit de blueprint.json blauwdrukdefinitie bestaat. Elk artefact moet zich in de submap met de naam artifacts .
De structuur van uw blauwdrukdefinitie als JSON-bestanden in mappen moet er als volgt uitzien:
.
|
|- MyBlueprint/ _______________ # Root folder name becomes default name of blueprint definition
| |- blueprint.json __________ # The blueprint definition. Fixed name.
|
| |- artifacts/ ______________ # Subfolder for all blueprint artifacts. Fixed name.
| |- artifact.json ________ # Blueprint artifact as JSON file. Artifact named from file.
| |- ...
| |- more-artifacts.json
Uw blauwdrukdefinitie exporteren
De stappen voor het exporteren van uw blauwdrukdefinitie zijn eenvoudig. Het exporteren van de blauwdrukdefinitie kan handig zijn voor het delen, maken van back-ups of plaatsen in broncodebeheer.
- Blauwdruk [vereist]
- Hiermee geeft u de blauwdrukdefinitie op
- Gebruiken
Get-AzBlueprintom het referentieobject op te halen
- OutputPath [vereist]
- Hiermee geeft u het pad op waar de JSON-bestanden van de blauwdrukdefinitie moeten worden opgeslagen
- De uitvoerbestanden staan in een submap met de naam van de blauwdrukdefinitie
- Versie (optioneel)
- Hiermee geeft u de versie op die moet worden uitgevoerd als het blauwdrukverwijzingsobject verwijzingen naar meer dan één versie bevat.
Haal een verwijzing op naar de blauwdrukdefinitie die moet worden geëxporteerd uit het abonnement dat wordt weergegeven als
{subId}:# Login first with Connect-AzAccount if not using Cloud Shell # Get version '1.1' of the blueprint definition in the specified subscription $bpDefinition = Get-AzBlueprint -SubscriptionId '{subId}' -Name 'MyBlueprint' -Version '1.1'Gebruik de
Export-AzBlueprintWithArtifactcmdlet om de opgegeven blauwdrukdefinitie te exporteren:Export-AzBlueprintWithArtifact -Blueprint $bpDefinition -OutputPath 'C:\Blueprints'
Uw blauwdrukdefinitie importeren
Zodra u een geëxporteerde blauwdrukdefinitie hebt of een handmatig gemaakte blauwdrukdefinitie in de vereiste mapstructuur hebt,kunt u die blauwdrukdefinitie importeren in een andere beheergroep of een ander abonnement.
Zie de Azure Blueprints GitHub voor voorbeelden van ingebouwde blauwdrukdefinities.
- Naam [vereist]
- Hiermee geeft u de naam op voor de nieuwe blauwdrukdefinitie
- InputPath [vereist]
- Hiermee geeft u het pad op voor het maken van de blauwdrukdefinitie van
- Moet overeenkomen met de vereiste mapstructuur
- ManagementGroupId (optioneel)
- De beheergroep-id voor het opslaan van de blauwdrukdefinitie in als dit niet de standaardinstelling van de huidige context is
- ManagementGroupId of SubscriptionId moeten worden opgegeven
- SubscriptionId (optioneel)
- De abonnements-id waarin de blauwdrukdefinitie moet worden op slaan als dit niet de standaardinstelling van de huidige context is
- ManagementGroupId of SubscriptionId moeten worden opgegeven
Gebruik de
Import-AzBlueprintWithArtifactcmdlet om de opgegeven blauwdrukdefinitie te importeren:# Login first with Connect-AzAccount if not using Cloud Shell Import-AzBlueprintWithArtifact -Name 'MyBlueprint' -ManagementGroupId 'DevMG' -InputPath 'C:\Blueprints\MyBlueprint'
Zodra de blauwdrukdefinitie is geïmporteerd, wijst u deze toe met PowerShell.
Zie de volgende artikelen voor meer informatie over het maken van geavanceerde blauwdrukdefinities:
- Gebruik statische en dynamische parameters.
- Pas de volgorde van blauwdruk sequencing aan.
- Bescherm implementaties met blauwdrukresourcevergrendeling.
- Beheer Blauwdrukken als code.
Volgende stappen
- Meer informatie over de levenscyclus van een blauwdruk.
- Meer informatie over hoe u statische en dynamische parameters gebruikt.
- Meer informatie over hoe u de blauwdrukvolgorde aanpast.
- Meer informatie over hoe u gebruikmaakt van resourcevergrendeling in blauwdrukken.
- Problemen oplossen tijdens de toewijzing van een blauwdruk met algemene probleemoplossing.