Aller au contenu

Article 1 – Blueprint

Nous allons traiter des différentes opérations sur une Blueprint pour contenir nos Policy, mais aussi de la façon de manipuler ces Blueprint sous forme de fichiers pour pouvoir les exporter d’un environnement de développement vers un environnement de production, par exemple.

Une Policy trop stricte pouvant avoir des conséquences graves (ressources qui ne démarrent plus ou qui ne se déploient plus, voire des reconfigurations de services si la remédiation automatique est appliquée), j’ai pris l’habitude de réaliser l’ensemble des développements et tests dans ma souscription MSDN avant d’envoyer le résultat sur une souscription appartenant à un client.

La procédure que nous allons donc suivre est la suivante :

  • Créer la Blueprint depuis le portail
  • Tester dans un environnement où elle ne peut avoir aucun impact pour le client
  • Export
  • Importer dans l’environnement client
  • Assigner

Nous commençons donc par un article technique, l’approche utilisée pour discuter du contenu de la Blueprint avec le client fera l’objet d’un autre article.

1. Cycle de vie d’une Blueprint

Commençons par quelques généralités pour comprendre le cycle de vie d’une Blueprint.

  • Une fois publiée, une Blueprint peut-être assignée à plusieurs souscriptions
  • Quand une Blueprint est modifiée, elle sera en mode Draft, en la publiant avec un numéro de version supérieur, les modifications seront automatiquement poussées sur les souscriptions auxquelles elle est assignée
  • Les actions d’Export/Import ne peuvent pour l’instant qu’être réalisées en PowerShell et ne supportent que les définitions standard, ceci nécessite le script Manage-AzureRMBlueprint disponible à l’adresse suivante : https://www.powershellgallery.com/packages/Manage-AzureRMBlueprint
https://www.powershellgallery.com/packages/Manage-AzureRMBlueprint

2. Création et modification de la Blueprint

L’édition de Blueprint dans le portal consiste à ajouter ou retirer des Artefacts de type Policy Définitions:

Le bouton pour ajouter un Artefact se trouve tout en bas de la liste:

Comme nous sommes en train de créer une Blueprint pour affecter des Policy, il faut choisir le type d’Artifact Policy Assignment.

Ces Artifact peuvent être des Initiative ou des définitions de Policy et chacune peut être custom ou built-in.

Initiative et Policy seront détaillés dans les articles suivants.

Actuellement, les Blueprint ne peuvent être importées que si elles reposent sur des définitions Builtin. Vous pouvez vérifier dans la documentation Azure si cette limitation a été levée, sinon une solution de contournement sera présentée dans l’article sur les Initiative.

3. Export de Blueprint

Exporter la Blueprint se fait à l’aide des commandes PowerShell suivantes dans le Cloud Shell, par exemple.

Cette première commande n’est à faire qu’une seule fois, pour ajouter les commandes:

Manage-AzureRMBlueprint

CD \$home

save-Script -Name Manage-AzureRMBlueprint -Path \$home

La première ligne fait l’export dans un dossier XYZ.

La Deuxième ligne compresse le dossier XYZ dans le fichier ZZZ.Zip

Cd $home

./Manage-AzureRMBlueprint.ps1 -mode export -Blueprintname XXX -exportdir $home\XYZ

Compress-Archive -Path "$home/XYZ" -DestinationPath "$home/ZZZ.zip"

Il ne reste plus qu’à télécharger le fichier:

4. Import de Blueprint

Uploader le fichier compressé contenant la Blueprint:

Ensuite, on décompresse le fichier ZZZ.Zip

expand-archive .\ZZZ.zip

La commande suivante réalise l’upload dans le Management group YYY:

Manage-AzureRMBlueprint.ps1 -mode Import -ImportDir "$home/XYZ/XXX" -ManagementGroupID 'YYY' -NewBluePrintName 'XXX'

  1. Assignement

Suite à l’import, la Blueprint est en statut Draft.

Cliquer sur le nom de la Blueprint:

Cliquer sur Publish Blueprint:

Indiquer une Version et une description pour suivre les modifications, puis cliquer sur Publish:

Vous pouvez maintenant cliquer sur Assign pour choisir à quelles souscriptions appliquer la Blueprint:

La page suivante vous permet de choisir la souscription et de paramétrer les Policy pour lesquelles c’est nécessaire:

Cet article sur la manipulation des Blueprints Azure est terminé. Les prochains articles se concentreront sur le contenu.

Article rédigé par Arnaud Torres

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

J’accepte les conditions et la politique de confidentialité