Archives de la catégorie ‘Microsoft Azure’

Note : si vous n’avez pas encore connecté votre interface Azure CLI 2.0 à votre abonnement Azure, suivez les instructions détaillées dans cet article.

Introduction

Toutes les ressources créés /provisionnées dans Microsoft Azure ont besoin d’être associées à des « Groupes de Ressources ». il s’agit ici d’une fonctionnalité de base du modèle ARM (Azure Resource Management).

Utiliser un groupe de ressource Azure vous permettra de grouper toutes vos ressources Cloud (VM, vNIC, stockage, IP Public..etc) dans une sorte de « Conteneur » et de les gérer de manière centraliser.

La création d’un groupe de ressource Azure 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 group

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 Resource Group via Azure CLI 2.0__O

Comment ça marche ?
  • Ouvrez une Session Windows sur la machine d’administration sur laquelle Azure CLI 2.0 a été installé
  • 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 Group. En effet, l’interface az dans le contexte group permet de créer et gérer les groupes de ressources Azure.
  • Pour afficher /lister les groupes de ressources existants, saisissez az group list

  • Pour créer un nouveau groupe de ressource, la commande az group create est utilisée. Dans l’exemple suivant, un groupe de ressource nommé « G2R_HK » sera créé. Le paramètre -l (comme location) permet de spécifier la région Azure dans laquelle le groupe de ressource sera placé /hébergé.

  • Le champ « ProvisioningState » vous indique le résultat de l’opération > Succeeded dans notre cas (groupe de ressource créé avec succès).
  • Si vous vous connectez sur le nouveau portail Azure (> portal.azure.com), vous pouvez constater l’existence du groupe G2R_HK créé précédemment

  • Nous allons maintenant afficher des informations sur notre groupe de ressource G2R_HK. La commande az group show G2R_HK est utilisée :

Notez que vous pouvez ajouter des « Tags » à vos groupes de ressources, cela devient vite pratique si vous devez créer plusieurs groupes de ressources pour des entités ou départements spécifiques > e.g : un groupe de ressource pour le département RH, un second groupe de ressource pour le département Compta …

  • Pour ce faire, le paramètre -Tags est utilisé. Dans l’exemple suivant, nous allons créer un nouveau groupe de ressource appelé G2R_RH et nous allons le « TagGer » > Depart-RH, la commande suivante est utilisée :
  • az group create -l WestEurope -n G2R_RH –tag « Depart-RH »

  • Vous pouvez mettre à jour un groupe de ressource existant pour ajouter des Tags si cela n’a pas été fait lors de la création. la commande update et le paramètre –set sont utilisés. Dans l’exemple suivant, les Tags « Depart-IT » « Env=PROD » seront ajoutés au groupe de ressource existant G2R_HK, la commande suivante est donc utilisée : az group update -n G2R_HK –set tags.Depart=IT tags.Env=PROD

  • Enfin, pour supprimer un groupe de ressource Azure, la commande az group dans le contexte « delete » est utilisée. Dans l’exemple suivant, le groupe de ressource G2R_RH sera supprimé : az group delete -n G2R_RH
  • Vous devez confirmer l’opération de suppression en saisissant y comme yes

===================================================================

Cet article un extrait de l’unique eBook (guide pas à pas en Français :)) sur Azure CLI 2.0. Il sera bientôt disponible sur BecomeITExpert.com  :), so stay in touch les copains.

HK.

Si vous souhaitez démarrer avec Microsoft Azure, commencez par comprendre tous les composants et services disponibles sur celui-ci.

Je vous propose de consulter la version cliquable d’Azure Periodic Table, disponible à cet URL.

Il s’agit d’une « Big Picture » cliquable qui vous détaille chaque service disponible sur Azure.

C’est un bon point de départ si vous souhaitez vous former sur MS Azure.

 

MS a annoncé au « Ignite 2016″  la disponibilité générale de l’IPv6 pour les Machines Virtuelles (VMs) Azure.

La plupart des Régions Azure (voir liste ci-après) peuvent désormais héberger des VMs « Dual-Stack » : IPv4 + IPv6

Brazil South

Canada Central

Canada East

Central India

Central US

East Asia

East US

East US 2

Japan East

Japan West

North Europe

North Central US

South India

South Central US

Southeast Asia

UK North

UK South 2

West Central US

West Europe

West India

West US

West US 2

 

Notez qu’au moment de la rédaction de cet article, les Régions suivantes ne peuvent faire du hosting de VMs Dual-Stack (IPv4 + IPv6) :

Australia East, Australia Southeast

UK West, UK South

Germany Central, Germany Northeast

USGov Central, USGov East

China North, China East

 

1

Azure RemoteApp, qu’est-ce que c’est ?

Azure RemoteApp est un service Cloud qui vous permet de publier des Apps Windows (tel que Microsoft Office) mais aussi Non-Windows (tel que vos Apps métiers ou third-party) et proposer l’accès à celles-ci depuis n’importe ou et via n’importe quel périphérique.

En effet, l’accès aux Apps publiées se fait via un client lourd « RemoteApp » téléchargeable gratuitement et disponible pour toutes les plateformes, notamment :

  • Windows Client (x86 et x64) : Windows 7 > 10
  • Windows 8.1 RT
  • Windows Phone
  • Android
  • iPhone et iPad
  • Mac OS

Contrairement aux offres rivales comme celle d’Amazon (WorkSpaces), Azure RemoteApp ne permet pas l’accès à l’OS en entier, mais uniquement aux Applications publiées, voir image ci-après :

2

Collections Azure RemoteApp

Le service Azure RemoteApp s’appuye sur la solution RDS (Remote Desktop Services) et fonctionne avec les mêmes concepts que celle-ci : les Collections.

Deux types de Collection Azure RemoteApp existent :

  • Cloud
  • Hybride 

 

Azure RemoteApp : Collection Cloud

Une Collection Cloud est hébergée dans le Cloud Azure et stocke toutes les données des programmes qui y figurent. Les utilisateurs peuvent accéder aux applications en se connectant avec leur compte Microsoft ou leurs informations d’identification d’entreprise, synchronisées ou fédérées avec Azure Active Directory.

Choisissez une collection Cloud quand l’application que vous souhaitez publier ne nécessite pas de connexion à des ressources sur le réseau privé de votre société (par exemple, via un périphérique VPN). Si l’application utilise des ressources sur Internet, OneDrive ou Azure, une Collection Cloud peut répondre à votre besoin. C’est également l’option la plus simple et la rapide à mettre en place.

La « Big Picture » ci-après illuste l’architecture d’un déploiement Azure RemoteApp « Cloud » :

AzureRemoteApp_Cloud

Azure RemoteApp : Collection Hybride

Une Collection Hybride est hébergée dans le Cloud Azure et y stocke également les données, mais elle permet aussi aux utilisateurs d’accéder aux données et aux ressources stockées et hébergées sur des serveurs OnPremise. Les utilisateurs peuvent accéder aux applications en se connectant avec leurs informations d’identification d’entreprise, synchronisées ou fédérées avec Azure Active Directory.

Choisissez une Collection Hybride si vous avez besoin d’une connexion à des ressources sur le réseau privé de votre société. Par exemple, si l’application nécessite un accès à l’une des ressources (OnPrem) suivantes :

  • Serveurs de fichiers
  • Serveurs de base de données

Cette option s’avère généralement plus utile pour les entreprises de taille importante qui possèdent beaucoup de ressources sur leurs réseaux privés qu’elles ne peuvent pas déplacer vers Azure.

La « Big Picture » ci-après illuste l’architecture d’un déploiement Azure RemoteApp « Hybrid » :

AzureRemoteApp_Hybrid

Prérequis

Microsoft Azure est plateforme basée sur une souscription, vous pouvez vous souscrive à Microsoft Azure et bénéficier d’un mois d’essaie de cette plateforme (incluant 150€ offerte par Microsoft) ainsi que tous ses services Cloud associés, y compris Azure RemoteApp.

Comment ça marche ?

Rendez-vous ici.

Niveaux de service & Pricing

4 Niveaux de service sont disponibles pour Azure RemoteApp :

  • Basic
  • Standard
  • Premium
  • Premium Plus

Notez qu’Azure RemoteApp est un service facturé par utilisateur et par mois.

Les informations sur les prix /options /limitations pour chaque Niveau de service sont détaillées dans le tableau ci-après :

7

Note importante : 

Pour les niveaux « Basic et Standard« , chaque Collection RemoteApp requiert au minimum 20 utilisateurs. Pour les niveaux « Premium et Premium Plus« , chaque Collection RemoteApp requiert au minimum 5 utilisateurs. Si le nombre d’utilisateurs est inférieur au nombre requis, vous êtes tout de même facturé pour le nombre minimal d’utilisateurs requis pour cette référence SKU.

Enfin, vous pouvez visionner la vidéo ci-après pour en savoir plus :

Remise exceptionnelles

Au moment de l’écriture de cet article, Microsoft propose une remise jusqu’à 80 % sur les niveaux Azure RemoteApp « Basic et Standard » avec les abonnements admissibles Software Assurance (SA) aux Services Bureau à distance > Offre valable jusqu’au 30 septembre 2016

Estimez vos frais mensuels

Une calculatrice Azure qui vous permet de calculer /estimer rapidement vos factures mensuelles pour votre future déploiement Azure RemoteApp est mise à votre disponible ici.

Il suffit de cliquer sur « Compute » > « RemoteApp » et renseignez les informations demandées :

8

Dans l’exemple suivant, une estimation pour 5 utilisateurs avec 50 heures (d’utilisation par mois /utilisateur) a été réalisée :

9

Comme indiqué dans l’image ci-dessus, l’utilisation du service Azure RemoteApp par 5 utilisateurs  avec 50H d’utilisation /mois s’élève à ~50€ /mois.

Deux nouveaux articles sur la création des deux Collections « Cloud & Hybrid » sont en cours de rédaction (PART 2 et 3), So stay in touch :).

Dans le cadre d’un projet de migration, de réorganisation ou simplement changement de plan d’adressage IP, vous pouvez être amenés à changer le Subnet voire le VNetwork sur lequel une VM ou plusieurs VMs Azure sont placées.

J’aimerais quand même rappeler certaines dépendances entre le réseau Azure et les deux modèles de déploiement disponibles actuellement avec Azure :

Avec ARM (Azure Resource Manager) : chaque VM Azure doit obligatoirement être attachée à un VNET, cela ne peut être évité ni contourné.

Avec ASM (Azure Service Management) : dans ce mode « Legacy », les VMs Azure peuvent bypasser ce prérequis et ne faire parties d’aucun VNET.

Je vous expliquerai à travers cet article comment changer (via Windows PowerShell) le Subnet ou VNET d’une VM Azure existante et ce pour les deux modes « ARM & ASM ».

De plus, les effets de bord et impacts post-changement de VNET y seront également expliquées.

Il est important de comprendre que le modèle Réseau sous ARM est très différent d’ASM.

La « Big Picture » ci-après illustre cette différence entre les deux modèles :

1

Changer de Subnet sous ASM

Le changement de Subnet d’une VM sous ASM est assez simple. Il existe en effet une Cmd-let PowerShell pour Azure qui permet de réaliser cette action facilement : Set-AzureSubnet

Pour en savoir plus : https://msdn.microsoft.com/en-us/library/mt589103.aspx

Le code PowerShell suivant est à utiliser pour changer le Subnet d’une VM Azure existante :

Get-AzureVM –Name $NomVM –ServiceName $NomServiceCloud | Set-AzureSubnet -SubnetNames $NomNouveauSubnet | Update-AzureVM

Note importante : le nouveau Subnet spécifié DOIT FAIRE PARTIE DU MEME VNET que l’ancien Subnet.

Astuce : Vous pouvez exécuter la commande en bypassant le paramètre -Name. Voir l’exemple suivant ou la VM (dont le nom du service cloud est « NNSRV01 ») sera placé sur un nouveau Subnet nommé « Subnet-2 »:

Get-AzureVM NNSRV01 | Set-AzureSubnet -SubnetNames Subnet-2 | Update-AzureVM

2

Changer de Subnet sous ARM

La Cmd-Let utilisée précédemment n’existe plus sous ARM, mais le changement de Subnet reste aussi assez simple dans ce mode, enfin à partir du moment ou vous connaissez l’endroit qui vous permet de le faire.

Il faut noter que sous ARM, ce changement de Subnet s’effectue au niveau de l’objet NIC (Network Interface Card) et non pas au niveau de la VM (cf Big Picture ci-dessus).

Donc pour commencer, il faut d’abord collecter toutes les informations de références de votre VM {VNET /Subnet /NIC), ceci peut se faire via l’utilisation du code ci-après :

 

# Obtenir les informations de références de la VM et vérifier l’Availability Set #
$NomVM = “NNSRV01”
$VirtualMachine = Get-AzureRmVM -ResourceGroupName $NomGdeR -Name $NomVM

# VM Créée dans l’Availability Set
$VirtualMachine.AvailabilitySetReference

# Obtenir les informations de références sur la NIC /Subnet /VNET #
$NIC = Get-AzureRmNetworkInterface -Name $NomNIC -ResourceGroupName $NomGdeR
$NIC.IpConfigurations[0].PrivateIpAddress # ‘10.0.0.4’
$VNET = Get-AzureRmVirtualNetwork -Name $NomVNET -ResourceGroupName $NomGdeR
$Subnet2 = Get-AzureRmVirtualNetworkSubnetConfig -VirtualNetwork $VNET -Name $NomSubnet2

Le paramètre de Subnet que vous avez besoin de changer est situé au niveau de la propriété « IPConfigurations ».
Il suffit d’y accéder avec l’index [0] et changer directement la valeur « Subnet.Id » avec l’ID du nouveau Subnet:

$NIC.IpConfigurations[0].Subnet.Id = $Subnet2.Id
Set-AzureRmNetworkInterface -NetworkInterface $NIC

Après avoir effectué cette opération, vous devez confirmer la modification à l’aide d’Azure ARM Network Provider en utilisant la Cmd-Let “Set-AzureRmNetworkInterface”. Notez que l’exécution de cette Cmd-Let prend quelques minutes. Ce temps est requis car Azure redémarre automatiquement la VM et donc un « downtime » sur la VM (et les services hébergés associés) est à prévoir.

Changer de VNET sous ARM & ASM

Au moment de l’écriture de cet article, le changement de VNET d’une VM existante est une opération impossible /non supportée sur Azure (pour les deux modes : ARM & ASM).

Cependant, une technique qui permet de réaliser cette opération existe :

  • Exporter la configuration de la VM
  • Supprimer la VM et garder ses vDisques (fichiers VHDs)
  • Recréer une nouvelle VM avec les mêmes paramètres en prenant en compte les deux éléments suivants :
    • Spécifier le nouveau VNET
    • Réattacher les anciens disques VHDs

MS_Azure

Par défaut, quand vous créez une Machine Virtuelle (VM) depuis le portail de gestion Microsoft Azure ou depuis Microsoft Azure PowerShell, vous n’avez pas besoin de lui attribuer une adresse IP, en effet, celle-ci se voit automatiquement attribuer une configuration TCP/IP incluant une adresse IP faisant parti de la plage d’adresse IP (disponible et attribuable) du réseau virtuel interne.

1

En outre, si vous auriez le même reflex que moi 😀 et tenteriez de configurer manuellement une adresse IP statique sur votre VM, celle-ci n’est conservée que temporairement, en effet, une fois votre VM éteinte ou redémarrée, sa configuration TCP/IP est mise à nouveau en mode « Automatique »

2

Le fait de redémarrer ou d’éteindre la VM implique également la perte de la configuration TCP/IP automatique, ce qui peut être problématique dans certains scénarios, comme par exemple une VM qui fait office de :

Contrôleur de domaine (DC)

Serveur d’Application

Serveur de fichiers

Serveur de base de données

et dont l’adresse IP doit être attribuée d’une manière permanente.

Heureusement que le module « Azure PowerShell » inclut une Cmd-let nous permettant de configurer (réserver) une adresse IP statique sur une VM mais aussi de vérifier sa disponibilité pour éviter tout conflit sur le réseau virtuel interne Azure, il s’agit des Cmd-lets :

Test-AzureStaticVNetIP

Set-AzureStaticVNetIP

Dans l’exemple suivant, je vais simplement utiliser la Cmd-let Get-AzureVM suivie du nom de service Cloud de ma VM (DomainController01) pour obtenir des informations sur mon DC et notamment son adresse IP :

8

Comme vous pouvez le constater, la VM « DC01 » est configurée actuellement avec l’adresse IP > 10.0.0.4, nous pouvons d’ailleurs le confirmer en vérifiant sa disponibilité et ce en utilisant la Cmd-let Test-AzureStaticVNetIP suivie du nom du réseau virtuel (vLABNet dans l’exemple suivant) et de l’adresse IP en question (10.0.0.4 dans notre exemple) :

Test-AzureStaticVNetIP -VNetName « vLABNet » -IPAddress 10.0.0.4

4

Le résultat retourné indique « False ===> Faux » devant l’attribut « IsAvailable ==> EstDisponible » ce qui confirme l’indisponibilité de l’adresse IP 10.0.0.4

Nous allons maintenant réserver cette adresse IP (d’une manière permanente) pour la VM « DC01 ».

How it Works ?

  1. Tout d’abord, il faut éteindre la VM « DC01 » pour libérer son adresse IP :

Saisir la commande suivante en renseignant le nom de service pour cette VM (DomainController01 dans l’exemple suivant)

Stop-AzureVM -ServiceName DomainController01 -Name DC01

Confirmer l’arrêt de la VM en saisissant O comme Oui

5

Dès que la VM est arrêtée, son adresse IP est libérée, nous allons donc vérifier de nouveau la disponibilité de l’adresse IP 10.0.0.4 :

Test-AzureStaticVNetIP -VNetName « vLABNet » -IPAddress 10.0.0.4

6

La valeur de l’attribut « IsAvailable » est cette fois-ci « True » ce qui signifie que l’adresse IP 10.0.0.4 est désormais disponible.

  1. La deuxième étape consiste à réserver cette adresse IP pour la VM « DC01 » pour ce faire, lancez les deux commandes suivantes depuis Microsoft Azure PowerShell :

$VM = Get-AzureVM -ServiceName DomainController01 -Name DC01

Set-AzureStaticVNetIP -VM $VM -IPAddress 10.0.0.4 | Update-AzureVM

7

L’adresse IP 10.0.0.4 est désormais réservée pour la VM « DC01 » et ce, quelque soit son statut : Éteinte, Allumée …

D’ailleurs, il suffit de vérifier la disponibilité de l’adresse IP 10.0.0.4 pour le constater

4

N’oubliez pas de démarrer votre VM via l’utilisation de la Cmd-let Start-AzureVM, voir l’exemple suivant (démarrage de la VM DC01) :

Start-AzureVM -ServiceName DomainController01 -Name DC01

Conclusion

La réservation d’adresse IP pour vos VMs (DC, Files Server, DB Server…) est une tâche à ajouter dans la « ToDoList » si vous envisagez par exemple de promouvoir des DCs /Files Server … sur des VMs Azure.