Articles Tagués ‘Azure Automation’

Hi everyone,

Après plusieurs mois de travail, un nouvel eBook voit le jour sur ma plateforme BecomeITexpert.com

Il s’agit d’un Step-by-step guide sur Azure CLI 2.0, la puissante Command-line Interface Azure dans sa version 2.0

Je vous apprend à travers cet eBook comment utiliser les commandes, sous-commandes et paramètres/arguments fournis avec l’interface Az CLI 2.0.

A la fin de cet eBook, vous serez capable de :

  • Décrire l’interface Azure CLI 2.0 et son fonctionnement
  • Installer et utiliser l’interface Azure CLI 2.0 on mode Web (via le Cloud Shell Azure) ou en mode local sur Windows, MacOS mais aussi Linux :).
  • Utiliser les commandes, sous-commandes et arguments fournis avec l’interface Az CLI 2.0
  • Créer des scripts d’automatisation pour créer et provisionner des ressources Cloud Azure (VNET, VM, Compte de Stockage…etc) en « One-Click »

 

Des techniques avancées liées à l’utilisation d’Azure ainsi que plusieurs retours d’expérience sont détaillés dans cet eBook.

Il est organisé en 15 Chapitres, voir la table des matières suivante pour en savoir plus :

Ce diaporama nécessite JavaScript.

L’eBook est disponible sur BecomeITexpert.com, cliquez sur l’image ci-après pour en savoir plus :

Read & Enjoy :).

Publicités

 

Si vous êtes amenés à gérer et administrer un ou plusieurs tenants Azure AD au quotidien, et que vous souhaitez automatiser toutes les tâches et opérations répétitives et fastidieuses, eh bien sachez que vous êtes à la bonne adresse :).

Aujourd’hui, je vais vous parler d’un module PowerShell qui va vous faciliter la vie quand il s’agit de déployer, gérer, administrer mais aussi troubleshooter Azure Active Directory.

Il s’agit du module « AzureAD » (ou Azure Active Directory PowerShell for Graph).

Les Cmd-Lets fournies avec ce Module vous permettent de récupérer les données à partir de l’annuaire/service Azure Active Directory, créer de nouveaux objets, modifier et mettre à jour les objets existants, supprimer des objets AAD, mais aussi configurer votre tenant Azure AD et ses options /fonctionnalités associées.

Enfin, notez que le module AzureAD vous permet également de gérer vos AAD Application Proxy et Connecteurs.

HowTo : Installer le module PowerShell AzureAD

Le module AzureAD est disponible depuis la PowerShellGallery et peut être installer via un simple

Install-Module AzureAD

 

HowTo : Utiliser le module PowerShell AzureAD

Une fois installé, commencez par importer le module « AzureAD » en saisissant la commande suivante :

Import-Module AzureAD

ou simplement

ipmo AzureAD

Exécutez ensuite la commande suivante pour lister toutes les Cmd-lets du module PowerShell AzureAD :

Get-Command -Module AzureAD | ft -AutoSize

Vous pouvez connaitre le nombre exact des Cmd-lets fournies avec le module AzureAD en exécutant la commande ci-dessous :

(Get-Command -Module AzureAD).Count

164 Cmd-Lets au total sont fournies avec le module PowerShell AzureAD, cela vous permet d’automatiser presque toutes les opérations disponibles depuis le Nouveau Portail Azure (portal.azure.com)

Avant de pouvoir créer et gérer vos objets (users & groups) Azure AD, vous devez connecter votre Interface PowerShell à votre tenant AzureAD, pour ce faire, saisissez la commande suivante :

Connect-AzureAD

Vous êtes invités à renseigner votre compte Microsoft (ou Professionnel) pour vous connecter :

Comme montré ci-dessous, mon compte Azure a été connecté correctement :

Commençons maintenant par lister tous les users AzureAD existants, saisissez la commande suivante :

Get-AzureADUser

Pour créer un nouvel utilisateur AzureAD, la commande suivante sera utilisée :

Note : dans l’exemple suivant, nous allons créer un nouvel utilisateur avec les informations suivantes :

UPN : hicham.kadiri-demo@k-nd-k-group.com

GivenName : hicham.kadiri-demo

DisplayName : Hicham KADIRI

City : Paris

Country : France

Department : IT

Mot de passe : « MyP@ss0rd2018! »

 

$PasswordProfile = New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile $PasswordProfile.Password = « MyP@ss0rd2018! »

New-AzureADUser -City Paris -Country France -Department IT -DisplayName « Hicham KADIRI » -GivenName hicham.kadiri-demo -JobTitle « Azure Cloud Architect » -AccountEnabled $true -PostalCode 75000 -UserPrincipalName hicham.kadiri-demo@k-nd-k-group.com -PasswordProfile $PasswordProfile -MailNickName hicham.kadiri-demo

Pour supprimer cette fois-ci l’utilisateur créé précédemment, exécutez la commande suivante :

  • Notez que vous devez d’abord exécutez la Cmd-let Get-AzureADUser pour récupérer l’ObjectID de l’utilisateur à supprimer (af3dbbdd-e51b-44e3-8944-91150d296fd4 dans l’exemple suivant) :
    • Remove-AzureADUser -ObjectId af3dbbdd-e51b-44e3-8944-91150d296fd4

Vous pouvez lister tous les domaines AAD déclarés/enregistrés en saisissant la commande suivante :

Get-AzureADDomain

La liste des devices enregistrés dans votre domaine Azure AD peut être obtenue via la commande suivante :

Get-AzureADDevice

Je vous invite à consulter cet article pour en savoir plus sur l’ensemble des Cmd-lets fournies avec le module AzureAD.

 

 

Depuis quelques jours, l’équipe Azure Corp a publié deux nouvelles Updates sur le (New) Portail Azure (https;//portal.azure.com). Une fois connecté, celles-ci sont affichées et disponibles au niveau de la Barre de « Notifications » :

La première concerne la prise en charge de SQL Ops Studio par le service Azure SQL Data Warehouse et la deuxième concerne l’interface en ligne de commande Azure (Azure CLI), c’est plutôt cette Update qui va nous intéresser :).

 

Comme indiqué dans le message, il faut bien noter qu’à partir de Décembre 2017 :

Azure CLI (en version 2.0) sera l’outil CLI (Command Line Interface) préféré/privilégié pour la gestion des ressources ARM (Azure Resource Manager)

Quant à Azure CLI (en version 1.0), il prendra uniquement en charge les ressources ASM (Azure Service Manager)

Enfin, vous pouvez imaginer le couple « d’Azure Management Tools » suivants :

ASM : CLI (Azure CLI 1.0) + Portail Web « Classic » (manage.windowsazure.com)

ARM : CLI (Azure CLI 2.0) + Portail Web « New » (portal.azure.com)

 

Useful Info : Si vous n’avez pas encore consulté les 3 premiers HowTo Azure CLI 2.0, ceux-ci sont disponibles aux URLs ci-après:

HowTo #N°1 : Connecter l’interface Azure CLI 2.0 à votre abonnement Azure

HowTo #N°2 : Créer et gérer les groupes de ressources Azure

HowTo #N°3 Créer et gérer les réseaux virtuels Azure (VNET : Virtual Network)

 

Introduction

Azure VM (Virtual Machine) est l’une des offres IaaS (Infrastructure-as-aService) proposée par Microsoft sur sa Public Cloud Platform : Microsoft Azure.

Azure VM vous permet de créer et gérer des machines virtuelles Windows ou Linux hautement disponibles, Scalables et sécurisées.

Microsoft propose son offre Azure VM pour les deux modèles de déploiement : ASM (Azure Service Manager) et ARM : Azure Resource Manager.

Note : L’interface Azure CLI 2.0 étant disponible uniquement pour l’ARM, le mode ASM ne sera pas traité dans le présent article.

La création d’une VM Azure (ARM mode) peut se faire via :

Le nouveau portail Azure : portal.azure.com

Windows PowerShell : utilisation du module PS Azure

Azure CLI 2.0 : via l’utilisation de la commande az vm

Nous allons découvrir à travers cet article la troisième méthode qu’est l’utilisation de l’interface Azure CLI 2.0

Now let’s create & manage our Azure V(irtual) M(achine) via Azure CLI 2.0__O

 

HowTo : Créer et gérer les VMs Azure via Azure CLI 2.0
  • Ouvrez une Session Windows sur votre machine d’administration sur laquelle Azure CLI 2.0 a été installée
  • Lancez l’invite de commande (CMD.exe) en tant qu’Administrateur et saisissez az pour vérifier la disponibilité de l’interface Azure CLI 2.0
  • Après avoir saisi et exécuté la commande az, le Menu suivant vous est retourné :

  • La commande qui nous intéresse est VM. En effet, l’interface az dans le contexte VM vous permet de créer et gérer les Machines Virtuelles Azure (Windows ou Linux)
  • Pour afficher toutes les commandes & sous-commandes liés à la création et gestion de VMs Azure, saisissez la commande : az vm -h

#1. Lister toutes les VMs disponibles au niveau de votre abonnement Azure

az vm list –output table

ou simplement

az vm list –out table

Note importante : si le compte connecté à l’interface Azure CLI 2.0 dispose d’un accès à plusieurs abonnements Azure, vous devez d’abord, sélectionner (définir) un abonnement avant de pouvoir lister les VMs qui y sont hébergées Pour ce faire, exécutez la commande az account list –out table comme montré ci-dessous, et définissez ensuite un abonnement Azure « comme étant ‘Actif' », via l’utilisation de la commande az account set -s ID_de_votre_abonnement

 

Astuce : si vous souhaitez lister que les VMs membres d’un groupe de ressources spécifique, exécutez la même commande utilisée précédemment suivie du paramètre -g « Nom_Groupe_de_Ressource » > e.g : az vm list -g hk-dev-rg –out table

 

#2. Démarrer une VM Azure

Dans l’exemple suivant, la VM « hk-dev-dc1 » faisant parti du groupe de ressources « hk-dev-rg » sera démarré :

az vm start -n hk-dev-dc1 -g hk-dev-rg

Astuce : vous pouvez utiliser le paramètre –no-wait pour lancer l’opération en « Background » et ne pas attendre la fin de celle-ci pour récupérer la main sur l’interface CLI, voir Screenshot ci-dessous :

 

#3. Obtenir des informations sur une VM Azure spécifique

Dans l’exemple suivant, nous allons collecter et afficher des informations sur la VM démarrée précédemment (hk-dev-dc1) :

az vm show –show-details -n hk-dev-dc1 -g hk-dev-rg –out table

 

#4. Arrêter une VM Azure 

Dans l’exemple suivant, nous allons arrêter la VM « hk-dev-dc1 »

az vm stop -n hk-dev-dc1 -g hk-dev-rg

Comme pour la commande az vm start, vous n’êtes pas obligé d’attendre la fin de l’opération, vous pouvez utiliser le paramètre –no-wait à la fin de la commande :

 

#5. Redémarrer une VM Azure 

Dans l’exemple suivant, la VM « hk-dev-tfs1 » sera redémarrée :

az vm restart -n hk-dev-tfs1 -g hk-dev-rg –no-wait

 

#6. Désallouer une VM Azure

Pour libérer les ressources consommées par une VM, la commande az vm deallocate est utilisée.

Dans l’exemple suivant, nous allons désallouer la VM hk-dev-sql1 faisant parti du groupe de ressources « hk-dev-rg »

az vm deallocate -n hk-dev-sql1 -g hk-dev-rg

La VM est désormais « Deallocated », ses ressources sont donc libérées et ne sont plus facturées :

 

#7. Lister toutes les tailles de VMs disponibles sur une région Azure spécifique

Dans l’exemple suivant, nous allons lister tous les Size de VM disponible au niveau de la région Azure « Europe de l’Ouest » > « WestEurope ».

az vm list-sizes –location WestEurope –output table

ou simplement

az vm list-sizes -l WestEurope -o table

 

#8. Lister toutes les tailles de VMs vers lesquelles une VM spécifique peut être Upgradée 

Dans l’exemple suivant, nous allons lister toutes les tailles de VMs vers lesquelles la VM « hk-dev-dc1 » pour être Resizée :

az vm list-vm-resize-options -n hk-dev-dc1 -g hk-dev-rg –out table

 

#9. Changer la taille (capacité) d’une VM Azure

Nous avons listé précédemment toutes les VMs vers lesquelles la VM « hk-dev-dc1 » peut être upgradée.

Nous allons maintenant utilisée la commande az vm resize pour upgrader les capacités de cette VM vers la VM size « Standard_A3 ». Pour ce faire, la commande suivante est utilisée :

az vm resize –size Standard_A3 -n hk-dev-dc1 -g hk-dev-rg 

Si vous vous rendez sur le (New) Portail Azure, et cliquez sur la VM en question, vous pouvez déjà constater que la taille (le Flag au niveau Propriétés de la VM) est déjà changé, et que la VM a été rebootée pour que l’augmentation des capacités soit prise en compte :

Une fois l’upgrade effectué, le message suivant vous est retourné :

 

#10. Mettre à jour (Updater) les propriétés d’une VM Azure

Dans l’exemple suivant, les propriétés de la VM « hk-dev-dc1 » seront updatées :

az vm update -n hk-dev-dc1 -g hk-dev-rg 

Cette commande est à exécuter après chaque changement /modification des propriétés et objets associés à une VM Azure.

 

#11. Supprimer une VM Azure

Dans l’exemple suivant, la VM « hk-dev-dc2 » sera supprimé : az vm delete -n hk-dev-dc2 -g hk-dev-rg –no-wait

Un message de confirmation vous est retourné, saisissez « Y » comme « Yes » pour confirmer la suppression :

Astuce  : vous pouvez bypasser cette option de confirmation en utilisant le paramètre –yes ou -y. La commande devient donc : az vm delete -n hk-dev-dc2 -g hk-dev-rg -y –no-wait

 

#12. Créer une VM Azure (Windows ou autre)

Dans l’exemple suivant, une VM Azure exécutant Windows Server 2016 (Edition Datacenter) sera provisionnée:

az vm create -n hk-dev-ws2016 -g hk-dev-rg –image Win2016Datacenter

Note : vous êtes invité à saisir le mot de passe du compte Administrateur

Pour provisionner une VM Azure CentOS, la commande suivante est utilisée :

az vm create -n hk-dev-cos -g hk-dev-rg –image CentOS

Si vous voulez provisionner une nouvelle VM Windows Server 2012 R2 Edition Datacenter de taille « Standard_A3 » et lui attacher un nouveau vDisk (Virtual Hard Drive) de données de 50GB, exécutez la commande ci-dessous :

az vm create -n hk-dev-ws2012R2 -g hk-dev-rg –image Win2012R2Datacenter –data-disk-sizes-gb 50 –size Standard_A3

Plusieurs dizaines de paramètres sont fournis avec la commande az vm create, n’hésitez pas à consulter le « Help » pour en savoir plus sur les autres sous-commandes /paramètres : az vm create -h

 

#13. Redéployer une VM Azure

Dans l’exemple suivant, la VM « hk-dev-dc1 » sera redéployé : az vm redeploy -n hk-dev-dc1 -g hk-dev-rg

Note importante : Une VM dont les ressources ont été désallouées ne peut être redéployée (clonée), vous devez donc vous assurer que la VM que vous souhaitez redéployer est bien démarrée, sinon le message d’erreur suivant vous est retourné :

 

#14. Générer un Template d’une VM Azure

Si vous voulez créer un VM Template à partir d’une VM Azure spécifique, eh bien vous devez utiliser la commande az vm capture.

La capture de la VM se fait en trois étapes :

  • Désallouer la VM
  • Généraliser la VM
  • Capturer la VM

Dans l’exemple suivant, nous allons générer une VM Template à partir de la VM « hk-dev-dc1 », les commandes à exécuter sont donc :

az vm deallocate -n hk-dev-dc1 -g hk-dev-rg

az vm generalize -n hk-dev-dc1 -g hk-dev-rg

az vm capture -n hk-dev-dc1 -g hk-dev-rg –vhd-name-prefix dc-template

Si vous parcourez le compte de stockage hébergeant les fichiers (VHDs) de votre VM « Source », vous constaterez l’apparition de deux nouveaux fichiers : fichier .vhd et son fichier .json associé. Ces deux fichiers se trouvent dans : Compte de stockage > Conteneurs > System > Microsoft.Compute > Images > vhds 

Le fichier dc-template-vmTemplate.XXXXXXXX peut désormais être utilisé pour provisionner de nouvelles VMs Azure.

 

#15. Ouvrir un port spécifique sur une VM azure

Si votre VM fera (par exemple) office de Serveur Web, et que vous avez besoin d’ouvrir le port 80 (HTTP), la commande suivante est à exécuter : az vm open-port -n hk-dev-iis1 -g hk-dev-rg –port 80

 

Plusieurs HowTo Azure CLI 2.0 sont en cours de finalisation, so stay connected dear friends :).