Vous êtes sur la page 1sur 33

Administration Système Windows Partie 3

Administrez votre serveur à l’aide de PowerShell


Dans ce chapitre, vous allez découvrir les nombreuses fonctionnalités offertes par
PowerShell. Arrivée avec Windows 7, cette suite logiciel et langage de script permet de
retrouver un environnement en ligne de commande à la manière d’un shell dans le
monde Unix/Linux. Vous allez donc pouvoir effectuer l’intégralité des tâches
d’administration en mode ligne de commande, et vous passer d’une interface
graphique très gourmande en ressources processeur et mémoire.

Prenez en main PowerShell


Avant de complètement vous passer d’une interface graphique, je vous propose de vous
entraîner avec un serveur Windows Standard disposant d’une expérience utilisateur
complète, en utilisant l’ISE PowerShell fourni.

Pour cela, rendez-vous, une fois n’est pas coutume, dans le menu Démarrer, et
sélectionnez “Windows PowerShell ISE”. Vous devriez avoir la fenêtre suivante
ouverte au bout de quelques instants :

ISE PowerShell
Avant tout, sachez qu’un ISE est au script ce qu’un IDE est au développement : c'est-à-
dire un environnement dédié qui permet de simplifier l’écriture de scripts (Integrated
Script Environment pour ISE et Integrated Development Environment pour IDE).
L’ISE PowerShell se présente à sa première exécution avec un shell (en bleu) et
une zone de commande listant toutes les commandes PowerShell (telles que Get-
Volume, Enable-LocalUser, Set-StoragePool, Get-DnsClientCache) prises en charge
par votre système.
Vous allez pouvoir par exemple taper des commandes ou aller directement dans le
panneau de droite pour avoir plus d’informations sur la commande et une aide au
paramétrage.

Exemple avec la commande Get-


Volume
Vous pouvez également afficher un panneau supplémentaire de script, vous permettant
de tester des commandes avant de les regrouper au sein d’un script PowerShell (avec
l’extension .ps1) :
ISE complet
Vous pouvez maintenant prendre en main le langage de script en testant quelques
commandes intégrées simples à mettre en œuvre. Les premières commandes utiles à
un gestionnaire de serveur sont celles permettant l’ajout de fonctionnalités ou rôles.

Ajout d’une
fonctionnalité client Telnet via PowerShell
Vous remarquez qu’il faut importer le module ServerManager qui regroupe de
nombreuses commandes liées à l’administration d’un Windows Server.
Une commande pratique est Get-WindowsFeature , qui peut s’appliquer à tous les
serveurs accessibles, ou simplement au serveur local. Il est également possible
d’appliquer des filtres à l’affichage des résultats, comme par exemple ici avec l’affichage
uniquement des fonctionnalités installées :
Affichage des fonctionnalités installées sur le serveur SRVWDSNAN01
J’ai cette fois utilisé le script. Pour l’exécuter, il suffit simplement de cliquer sur la flèche
verte, le résultat de ce script s'affiche alors dans la partie shell.

C’est une fonctionnalité particulièrement pratique pour préparer un script long, sans
avoir à naviguer entre un éditeur de texte et le shell.
Utilisez des scripts existants
Une des forces de PowerShell est, comme pour le monde Unix/Linus, sa communauté !
Vous trouverez de nombreux scripts tout prêts, confectionnés par des administrateurs
ou techniciens soucieux d’optimiser leur temps afin de pouvoir se focaliser sur des
tâches d’ingénierie système, réseau, ou afin de se libérer du temps pour augmenter le
niveau de sécurité de leurs parcs.

Vous pourrez par exemple trouver des scripts permettant de vérifier l’état de santé de
votre Active Directory afin de vous envoyer un rapport par mail des éléments
récupérés par PowerShell. Pratique, non ?

Prenez en main les Desired State Configuration (DSC)


D’ailleurs, Microsoft et la communauté implémentent de nombreux scripts PowerShell
permettant de configurer un serveur. Cela permet de faire en sorte que sa configuration
soit figée et permet d’avoir un état précis, désiré, de configuration. Ces scripts,
regroupés sous l’appellation PowerShell DSC, représentent une nouvelle fonctionnalité,
très pratique, permettant de définir un état de configuration.

Cela se fait notamment à travers la déclaration d’une configuration cible dans des
scripts.

La fonctionnalité PowerShell DSC permet de les compiler en fichiers MOF afin qu’ils
puissent être utilisés en mode PUSH ou PULL sur un serveur.
 Ainsi, en mode PUSH la configuration désirée sera “poussée” sur le serveur,
appliquant les configurations désirées. L’objectif de cette fonctionnalité est de
s’assurer que votre serveur est correctement configuré.
 En mode PULL, ce sera votre serveur qui ira chercher la bonne configuration à
appliquer.
Vous allez ainsi pouvoir gérer vos configurations via des scripts, et même versionner
ces configurations. Il devient ainsi possible de ne pas administrer directement un
serveur, mais de déclarer la configuration et de laisser le moteur PowerShell
DSC appliquer les modifications.

Là encore, la communauté sera un atout non négligeable pour vous, car de nombreuses
configurations désirées ont été décrites et mises à disposition.

Par exemple, vous souhaitez gérer un Active Directory. Lancez alors la


commande find-module -name *AD* . La première chose que vous allez remarquer est
que votre ISE va vous demander d’installer NuGet.
Cela permet de rechercher des modules en ligne sur la PSGallery.

Ensuite, vous aurez une liste de tous les modules répondant au critère que vous avez
entré. Vous retrouverez par exemple le module xActiveDirectory qui va vous permettre
de gérer un AD en ligne de commande intégralement.

Grâce à ces nombreux scripts, il vous est maintenant possible de vous tourner vers une
distribution “Core” sans interface graphique. Cela vous permettra de gérer vos serveurs
au travers de PowerShell, et d’utiliser les états désirés afin de garantir la bonne
configuration de vos serveurs.

Cela permet de préparer sereinement une transition vers le Cloud qui permet, au travers
d’API, de configurer une architecture complète en quelques lignes de script !

Allez plus loin


 Repo GitHub de Microsoft sur PowerShell.
 Galerie PowerShell.
En résumé
 Windows Server dispose d’un ISE, environnement de script intégré permettant de
simplifier l’utilisation de PowerShell.
 PowerShell permet de lancer des commandes au système d’exploitation sans
avoir d’interface graphique, en mode texte.
 Grâce aux nombreux scripts PowerShell, il devient possible de se passer
complètement d’une interface graphique et donc de gagner en
ressources disponibles, surtout dans un environnement Cloud.
 Il est possible de décrire une configuration et d’être assuré de son application
au travers de PowerShell DSC, permettant ainsi de déployer des serveurs,
voire des ensembles de serveurs uniquement en ligne de commande.
Virtualisez vos serveurs à l’aide d’Hyper-V
Vous connaissez probablement ESX, l’hyperviseur de VMware qui permet de faire de la
virtualisation. Si ce n’est pas le cas, vous connaissez sûrement son petit frère, VMware
Workstation, ou encore Oracle VirtualBox. Ces systèmes permettent tous de partager
les ressources d’un serveur physique en les virtualisant. Eh bien je vous présente
Hyper-V, le système de virtualisation de Microsoft. Dans ce chapitre, vous allez prendre
en main cet outil vous permettant d’optimiser les ressources physiques de vos serveurs,
afin d’utiliser des machines virtuelles.

Si vous souhaitez en savoir d’avantages sur la virtualisation, n'hésitez pas à jeter un


coup d'œil à ce cours : Virtualisez votre architecture et vos environnements de
travail.
Distinguez les différentes versions d’Hyper-V
Microsoft propose différentes versions d’Hyper-V basées sur les éditions de Windows
Server. À ce jour, il existe donc les éditions de Windows Standard et Datacenter. Vous
aurez les différences majeures entre ces éditions dans le cadre d’Hyper-V dans le
tableau suivant :

Licence Windows Server 2019 Licence Windows Server 2019


Standard Edition Datacenter Edition

Processeur 2 2

Nombre de 16 16
cœurs

Nombre de 2 illimité
VM

Prix en dollar 882 6 155


Windows Standard : une licence hôte et deux licences VM ;Pour résumer ce tableau et
le fonctionnement :

 Windows Datacenter : une licence hôte et un nombre illimité de licences VM.


En faisant l’acquisition d’une licence Windows Datacenter, vous n’aurez plus à vous
soucier de l’acquisition de licences pour vos machines virtuelles !

Prenez en main Hyper-V


Maintenant que vous avez ces quelques informations, je vous propose d’installer ce rôle
particulier de Windows Server. Pour le moment, vous allez rester sur l’interface
graphique. Pour installer ce rôle, vous allez toutefois rencontrer une contrainte
particulière, surtout si vous le faites, comme c’est le cas ici, sur une machine virtuelle.
Au moment de l’ajout du rôle, vous devriez avoir un message d’erreur de validation
concernant des fonctions de virtualisation :

Erreur de
validation pour le rôle Hyper-V
Trois options s’offrent à vous dans ce cas :

 Soit changer d’hyperviseur. Depuis le début de ce cours, vous travaillez avec


VirtualBox, ce dernier ne prend pas en charge la virtualisation à l’intérieur d’une
machine virtuelle, alors que VMware Workstation le permet.
 Soit basculer sur un OS 32 bits, car il semble que VirtualBox permette ces
fonctions en mode 32 bits.
 Soit basculer sur une machine physique pour Windows 2019 Server,
disposant d’un processeur récent, capable de proposer ces fonctionnalités de
virtualisation.
Attention, si vous installez Hyper-V sur votre poste client Windows 10, vous ne pourrez
plus utiliser correctement, et surtout en l’état, d’autres hyperviseurs tels que VirtualBox
ou VMware Workstation. Ne paniquez pas et supprimez le rôle Hyper-V pour retrouver
l’usage de vos autres outils, tout simplement.
Une fois que vous avez fait votre choix, toujours en fonction de vos besoins, et que vous
avez installé le rôle, vous aurez accès à un nouvel outil d’administration, le Gestionnaire
Hyper-V.

Il se présente, comme tous les outils Microsoft, avec trois panneaux :

 Le premier, sur la gauche, permet d’afficher le serveur et, plus tard, la liste des
machines virtuelles disponibles ;
 Le deuxième, au milieu, permet de détailler le contenu de la sélection faite sur
le panneau de gauche, en affichant la liste des machines virtuelles ou les
caractéristiques d’une machine virtuelle en particulier ;
 Enfin le dernier, sur la droite, regroupe les actions possibles en fonction de la
sélection faite sur le premier panneau. Si vous avez sélectionné le nom de votre
serveur, alors ce panneau vous permettra de créer une nouvelle machine, de
gérer la commutation virtuelle ou encore de gérer l’espace disque de stockage
des machines virtuelles.

Gestionnaire Hyper-V
La première chose à faire, lorsque vous travaillez avec de la virtualisation, est de
comprendre le mécanisme en jeu. En effet, vous ne devez plus voir l’ordinateur sur
lequel vous êtes comme un ordinateur classique (que ce soit un serveur ou non), mais
comme une zone d’hébergement de serveurs avec une gestion réseau complète,
une gestion du stockage et des ressources CPU et RAM. C’est d’ailleurs un point
très important à prendre en compte si vous installez cela en production.

Encore une fois, mettez-vous dans la peau de l’administrateur ou du technicien


informatique de la société Gift SA.

Votre directeur vous donne un budget de 5 000 € pour installer 3 serveurs : un serveur
de fichier, un serveur d’identité et un serveur web. Le seul moyen de rentrer dans le
budget est (hors systèmes Cloud) d’opter pour la virtualisation sur un Windows Server
Standard sur une machine d’entrée de gamme. Vous trouverez bon nombre d’offres
chez des constructeurs de serveurs tels que Dell, HP, Fujitsu ou Lenovo, pour ne citer
que les plus connus (et répandus).
Une fois que vous avez fait l’acquisition de votre serveur avec sa licence Windows
Server 2019 Standard, vous disposez d’une licence pour la machine physique. Vous y
installerez donc le rôle Hyper-V. Vous monterez une machine virtuelle pour y héberger
un AD, puis une machine virtuelle pour y héberger votre serveur de fichier et votre
serveur web !

Comment mes machines virtuelles vont-elles avoir accès au réseau ?


Toute la question est là : à ce tarif, il est peu probable de pouvoir disposer de
nombreuses cartes réseau. Partons donc du principe qu’il n’y a qu’une seule carte.

Eh bien, Hyper-V (comme tous les hyperviseurs) dispose de fonctions permettant


de virtualiser la carte réseau. Ainsi, il va être possible de créer un commutateur virtuel
connecté à la carte réseau physique. Ce commutateur virtuel va vous fournir un certain
nombre de ports réseau disponibles pour les machines virtuelles.

Pour imager un peu cela, voici un schéma logique de votre réseau avant et après
avoir activé le rôle Hyper-V :

Serveur physique sans et avec rôle Hyper-V


Ainsi, votre serveur physique offre un commutateur virtuel à vos machines virtuelles, et
partage la bande passante de sa carte réseau.

Il est recommandé d’opter pour deux cartes physiques, une pour le serveur physique et
une pour le commutateur virtuel ; mais souvent, cela n’est pas réalisable pour des
questions de budget, surtout dans les toutes petites structures.
Alors, maintenant que vous avez compris le principe, nous allons configurer ce
commutateur virtuel. Pour cela, cliquez sur “Gestionnaire de commutateur virtuel…”
dans le menu Actions, en ayant sélectionné votre serveur sur le panneau de gauche.
Gestionnaire de commutateurs virtuels
Ici, vous retrouverez le nom de vos commutateurs virtuels ainsi que le mode de
fonctionnement (sous type de réseau). Trois modes existent :

1. Le mode réseau externe qui permet de donner accès, comme précédemment


expliqué, à une interface réseau physique. Il est également possible de ne pas
partager la carte réseau avec le serveur physique, pour garantir une meilleure
bande passante aux machines virtuelles.
2. Le mode réseau interne qui crée un commutateur sans connexion avec le
réseau physique externe. Ce mode permet d’avoir un commutateur connecté au
serveur hôte (votre serveur physique) mais non relié à l'extérieur du réseau. Cela
peut être intéressant pour la partie configuration de la machine virtuelle avant la
mise sur le réseau.
3. Le mode réseau privé. Dans ce mode, les machines virtuelles n’auront accès ni
à l’hôte, ni au réseau externe ! Cela permet de relier deux machines virtuelles
entre elles afin de mettre en place un pare-feu qui disposerait d’une interface sur
un réseau externe et d’une interface sur ce réseau privé.
Encore une fois, l’arbitrage sur ces différents modes se fera selon les besoins réseau
des machines virtuelles.

Créez votre première machine virtuelle Hyper-V


Vous venez de régler vos préférences réseau, vous avez sûrement fait le choix d’un
commutateur virtuel disposant d’un accès sur le réseau externe. Maintenant, il ne vous
reste qu’à créer une machine virtuelle.

Les étapes à suivre :

1. Nom de la machine virtuelle.


2. Espace de stockage de la machine.
3. Sélection de la génération.
4. Quantité de mémoire.
5. Connexion au réseau.
6. Configuration du disque virtuel.
7. Paramètres d’installation d’un système d’exploitation.
8. Configuration de l’affectation de processeur.
Sans plus attendre, sélectionnez votre serveur sur le panneau de gauche de votre
Gestionnaire Hyper-V, et rendez-vous sur le panneau “Actions” sur la droite ;
choisissez “Nouveau” (il est possible de créer une machine virtuelle avec
l’assistant “Création rapide…” mais pour cette première, il est préférable de rentrer
dans les détails afin de comprendre ce qu’il se passe).

Sélectionnez Nouveau puis Ordinateur virtuel, nommez votre ordinateur. Rappelez-


vous que le nommage est une étape cruciale pour identifier votre serveur ; il en est de
même pour un serveur virtuel, SRVHYVPAR01, par exemple (type, rôle, localisation et
numéro).

Vous avez la possibilité de modifier l’emplacement de stockage.

Quelques précautions sont à prendre au sujet de ces espaces de stockage :

1. Spécifiez un espace suffisamment conséquent et suffisamment rapide. Il


faut compter la taille de votre futur système d’exploitation ainsi que la taille des
données que vous aurez besoin de gérer (un OS Windows va avoir besoin de 20
à 30 Gio. Un disque de 40 Gio (donc avec une marge de sécurité) est une bonne
option.
2. Les disques durs du commerce ne sont pas faits pour ce type
d’utilisation. Si vous utilisez des machines physiques qui ne sont pas orientées
“serveur”, vous aurez des performances catastrophiques. C’est souvent ce qu’il
se passe. Un disque dur professionnel dédié aux serveurs coûte en général 5 à
10 fois plus cher qu’un disque dur grand public.
3. Les disques durs SSD grand public pourraient être une bonne affaire, mais
leur durée de vie serait considérablement réduite en cas d’utilisation de ce
type ; là encore les disques “SSD” professionnels coûtent beaucoup plus cher
mais permettent ce type d’utilisation.
Idéalement, il vous faudra un disque dur 10 000 tours par minute, voire 15 000, ou un
SSD avec un très faible taux d’erreur ainsi qu’un volume de données écrites et lues bien
au-dessus de la capacité.

Une fois ces considérations prises en compte, vous avez un choix de génération à faire.
La génération est liée au système d’exploitation qui sera installé sur la machine
virtuelle. Faites bien attention à ne pas vous tromper, ce choix ne peut se changer sans
supprimer la machine virtuelle.

Pour information, la génération 2 apporte la prise en charge des fonctionnalités


suivantes sur la machine virtuelle :
 Démarrage PXE avec une carte réseau standard ;
 Démarrage à partir d'un disque dur virtuel SCSI ;
 Démarrage à partir d'un DVD virtuel SCSI ;
 Démarrage sécurisé (activé par défaut) ;
 Prise en charge du microprogramme UEFI.
Comme vous avez fait l’acquisition, pour le compte de Gift SA, d’un serveur récent sous
Windows 2019, vous pouvez mettre en œuvre la génération 2.

Ensuite, il vous faut affecter une quantité de mémoire vive. Elle doit être suffisante pour
votre machine virtuelle, mais vous devez penser également à votre machine physique.
Elle doit conserver suffisamment de mémoire pour fonctionner. Commencez par une
valeur minimale comme 2 Gio et si vous observez des ralentissements, ou une
utilisation régulière de l’espace de swap, vous augmenterez cette valeur.

Je vous déconseille de choisir l’option dynamique qui alloue la mémoire de la machine


virtuelle en fonction de la demande de cette dernière. Mal gérée, la mémoire dynamique
pourrait être contre-performante.
Enfin, vous allez choisir le réseau (un port sur le commutateur virtuel que vous avez
précédemment créé) et l’emplacement du disque dur système de votre machine
virtuelle. La taille du disque dur ne sera pas provisionnée directement, vous pourrez
faire apparaître plus d’espace à votre machine virtuelle que votre serveur physique n’en
possède. Rappelez-vous les premiers chapitres de ce cours, et soyez attentif à cette
valeur.

Sélectionnez enfin la manière d’installer le système d’exploitation de la machine


virtuelle. Je vous invite à déclarer à ce moment le média d’installation, de façon à ce
qu’un lecteur DVD soit créé lors du démarrage de votre machine virtuelle.
Première machine virtuelle sous Hyper-V
Avant d’allumer votre machine, il vous reste un petit détail à gérer et configurer :
le pourcentage de processeur affecté à cette dernière.

Pour cela, sélectionnez votre machine virtuelle et dans le menu “Actions”, dans la partie
sous le nom de votre machine virtuelle, sélectionnez “Paramètres”, vous
retrouverez les différents paramètres de votre machine, à savoir :

 Le microprogramme ;
 La sécurité ;
 La mémoire ;
 Le processeur ;
 Les contrôleurs de stockage ;
 La carte réseau.
Ainsi que des options de gestion, telles que :

 Le nom ;
 Les services d’intégration ;
 Les points de contrôle ;
 L’emplacement de stockage du fichier de pagination ;
 Les actions de démarrage et d’arrêt automatique.

Paramètres de votre machine virtuelle


Il faut donc vous rendre sur la partie processeur. Comme vous le verrez par défaut,
Hyper-V va allouer 1 processeur virtuel à votre machine, et lui permettre d’utiliser
jusqu’à 100 % de votre processeur physique. Vous pouvez, selon le nombre de
processeurs, cœurs et threads de votre serveur physique, augmenter ces paramètres
pour donner plus de poids à votre machine virtuelle.

Pour cette première machine, vous n’êtes pas obligé de faire de modifications.
Par contre, dans l’exemple de Gift S.A., vous avez acquis un serveur du marché
disposant de nombreux cœurs physiques, vous auriez tout intérêt à passer à
2 processeurs pour chacune des machines virtuelles, afin d’obtenir de meilleurs temps
de traitement des demandes d’accès aux fichiers (dans le cas de la VM serveur de
fichiers), et d'authentification (dans le cas de la VM AD).
Une fois les modifications terminées, vous pouvez démarrer votre machine virtuelle avec
un clic droit sur le nom de la machine. Vous allez maintenant pouvoir vous y connecter
avec un clic droit à nouveau, en sélectionnant “Se connecter”.

Une fois que votre machine virtuelle démarre, vous vous retrouvez devant une machine
qui se comporte comme un serveur physique.

À vous d’installer votre système d’exploitation et les différents rôles nécessaires au bon
fonctionnement de votre réseau !

En résumé
 Hyper-V est l’hyperviseur de Microsoft. Il est intégré à Windows
Server et Windows 10.
 Une licence Windows Server 2019 Standard permet d’avoir deux machines
virtuelles sous Windows Server en plus du serveur physique.
 La virtualisation permet d’optimiser les ressources processeur, mémoire,
disque et réseau de votre serveur physique en partageant ces ressources
entre les différentes machines virtuelles (il vous est également possible de
réserver ces ressources à l’usage d’une ou plusieurs machines virtuelles).
 Une fois créée, une machine virtuelle Hyper-V se comporte comme un
serveur physique.

Appréhendez le Cloud public de Microsoft


Dans ce chapitre, vous allez aller plus loin que votre “simple” serveur Windows
physique, et ce même s’il héberge quelques machines virtuelles. Vous allez découvrir
en détail le Cloud. Le Cloud public de Microsoft s’appelle Azure. Il permet, tout comme
le Cloud Amazon, Google ou même OVH, de créer des instances assimilables à des
machines virtuelles, mais sur un serveur qui ne vous appartient pas.

Qu’est-ce que le Cloud Azure ?


Chez Microsoft, ce service (nommé Azure) propose, en plus des “simples instances”,
tout un écosystème de services hébergés plus ou moins géré par les équipes de
Microsoft.

Bases de données, conteneurs, analyse, réseau, identité, IA et machine learning, tout


ou presque est disponible sous la forme Cloud.
Ses deux caractéristiques fondamentales :

 Être hébergé et géré par un tiers ;


 Être facturé à l’usage, c’est-à-dire que vous pouvez payer uniquement ce que
vous consommez. Si vous n’avez besoin que d’un processeur, ou encore de
10 Gio de stockage, pourquoi payer pour plus ?
Grâce au Cloud, vous pouvez ainsi maîtriser votre consommation et souvent faire des
économies par rapport à l’acquisition de votre propre infrastructure.

Prenez en main Azure


Pour commencer sur Azure, il vous suffit de créer un compte. Généralement, et
comme chez presque tous les fournisseurs de ce type, vous aurez droit à une sorte de
bon d’achat sur les services du fournisseur. Ainsi vous pourrez tester en toute liberté et
sans frais ces fameux services.

Une fois votre compte créé, vous avez accès au tableau de bord du portail Azure. Il
vous liste les options disponibles sur le menu de gauche, et vous offre une vue de vos
ressources sur le reste de l’écran :

Tableau de bord du portail Azure


L’avantage ici, c’est que vous avez également un encart “démarrage rapide + tutoriels”
qu’il vous suffira de suivre pour être aidé dans vos premières créations. Ces tutoriels
sont plutôt bien faits et vous offrent trois possibilités d’utilisation d’Azure :

1. Via le portail.
2. Via Azure PowerShell.
3. Via la ligne de commande Azure CLI.

Trois façon de gérer ses


ressources Cloud sur Azure
L’avantage des deux dernières options (Azure PowerShell et CLI), c’est que vous allez
pouvoir créer une architecture intégralement en ligne de commande, ce qui peut être
plus rapide que de se déplacer dans les menus et options du portail.
Je vous propose tout de même et dans un premier temps, de rester sur le portail afin
de vous familiariser avec les paramètres de chaque service. Il vous sera d’ailleurs
possible de générer les commandes PowerShell et CLI pour faciliter vos prochains
déploiements.

Créez votre première instance Cloud


Sur le portail, vous allez pouvoir sélectionner, sur le menu de gauche, Machines
virtuelles. Vous arriverez sur une nouvelle fenêtre vous proposant d’ajouter une
instance. Sélectionnez Ajouter et vous obtiendrez l’écran de paramétrage avec sept
différents onglets permettant de définir précisément les caractéristiques de votre
machine virtuelle (De base, Disques, Mise en réseau, Administration, Configuration de
l’invité, Étiquettes, Vérifier + créer).

Le premier onglet vous permet de choisir sur quel abonnement vous allez créer votre
machine, veillez à bien rester sur l’abonnement gratuit (pour ma part, j’ai déjà utilisé ce
crédit gratuit il y a bien longtemps, c’est pourquoi vous observerez sur la capture
suivante un abonnement Pay-As-You-Go où je suis facturé uniquement sur ce que je
consomme).
Création d’une machine virtuelle
Après avoir choisi l’abonnement, il vous faut définir un groupe de ressources. Il s’agit
d’un regroupement de ressources ayant un objectif identique.

Si votre direction vous demande un serveur web, vous pourrez appeler ce groupe de
ressources “Serveur Web” ; ainsi toutes les ressources nécessaires à la création d’un
serveur d’hébergement web y seront regroupées.
Ensuite, vous aurez à entrer le nom de la machine virtuelle. Encore une fois, un
nommage cohérent permettra de faciliter la recherche et l’identification de votre
instance. Azure vous demande également une région. Il s’agit du centre de données
dans lequel votre machine virtuelle sera provisionnée. Elle peut se trouver n’importe où
dans l’un des 54 centres de données disponibles à l’heure actuelle, et gérés par
Microsoft.

Après avoir choisi l’emplacement, vous avez la possibilité de définir le niveau de


disponibilité de votre machine virtuelle.

Sachez que cela peut avoir un impact sur le coût de votre architecture.
Le niveau de disponibilité se présente sous 3 options :

1. Aucune redondance d’infrastructure requise (pas de haute disponibilité).


2. Zone de disponibilité.
3. Groupe à haute disponibilité.

Différents choix possibles concernant la disponibilité sous Azure


Ces options vont vous permettre de créer un applicatif avec une
disponibilité garantie par Microsoft (sous réserve de suivre les bonnes pratiques).
Dans les faits, ces options signifient :

 "Groupe à Haute Disponibilité" désigne au moins deux machines virtuelles


déployées dans différents domaines d’erreur, pour éviter un point unique de
défaillance ;
 "Zone de Disponibilité" désigne une zone isolée du domaine d’erreur dans une
région Azure qui fournit une alimentation, un refroidissement et un réseautage
redondants.
De fait, un "Domaine d’Erreur" désigne un ensemble de serveurs qui partagent des
ressources communes, comme une alimentation électrique et une connectivité réseau.
Ces explications de Microsoft vont vous permettre de garantir la disponibilité de vos
applications en ayant connaissance des méthodes mises en œuvre par Microsoft sur
ses infrastructures.
Il peut également être possible de mettre en œuvre un stockage avec une réplication :

 Trois fois dans la région choisie ;


 Trois fois dans deux ou trois datacenters au sein d’une même région ou dans
deux régions distinctes ;
 Vers une région secondaire à des centaines de kilomètres de la région primaire
(appelée réplication géoredondante) ;
La zone de disponibilité permet d’aller plus loin dans la conception d’une application
avec le schéma suivant :
Schéma Microsoft décrivant les zones de disponibilité
Grâce au service Load Balancer (1) qui sera le point d’entrée de votre application, et
avec un réseau “front end” (2) et un réseau “back end” (3), vous allez pouvoir mettre
en œuvre une application web (4) qui accède à une base de données (5).

Le nombre de vos serveurs web pourra augmenter sans impacter la disponibilité de


votre application, grâce à la redirection du trafic liée au load balancer (6 et 7).

Maintenant que ces notions de conception sont faites, il va vous falloir choisir une image
qui corresponde au type de système d'exploitation que vous souhaitiez installer. Vous
avez une liste restreinte, mais qui devrait couvrir tous vos besoins.
Enfin, la taille de votre instance va vous être demandée et va également fortement
conditionner le tarif. Pour une image Windows 2019 Datacenter, vous avez près de
122 tailles différentes allant de 1 à 72 CPU et de 0,75 à 432 Gio de RAM, en passant
par des variantes avec des disques très haut de gamme capables de gérer des milliers
d’opérations de lecture/écriture par seconde.

Dans le cas d’une offre gratuite, vous n’aurez accès qu’à un nombre limité de tailles.

Une fois tous les détails de l’instance définis, vous allez rentrer dans la partie
Authentification administrateur, où vous serez amené à nommer votre compte
administrateur et générer un mot de passe. Une fois que cela est fait, vous pouvez
directement passer à la vérification et à la création de la machine, elle sera
approvisionnée en quelques minutes.

Attention, si vous vous arrêtez ici, vous n’aurez pas d’accès à votre machine autrement
que par la console fournie par le portail Azure. Il vous faudra activer au cas par cas, tout
comme avec le pare-feu Windows avec fonctionnalités avancées de Windows Server,
les ports et services qui pourront être accessibles à tout le monde, ou alors uniquement
à certaines adresses IP.
Sachez qu’il est possible de créer un réseau privé virtuel entre votre entreprise et Azure,
garantissant ainsi que vos flux ne soient pas disponibles pour d’autres entités ou
publiquement.
La première instance mettra plus de temps à se créer que les suivantes, car il sera
nécessaire de créer le groupe de ressources avec les différentes composantes
nécessaires à son bon fonctionnement. À savoir :

 Un réseau virtuel ;
 Une interface réseau ;
 L’espace de stockage du disque virtuel ;
 Une IP publique ;
 Un pare-feu.
Récapitulatif
avant la création de ma machine virtuelle
Comme je vous l’ai annoncé, vous retrouverez, juste à côté du bouton “Créer”, la
possibilité de télécharger un modèle pour l’automation. Derrière cette dénomination
étrange se cache en fait la possibilité d’obtenir les différentes commandes à entrer
en PowerShell, Azure CLI ou d’autres langages, afin de créer la machine virtuelle que
vous venez de définir.
Pour mon cas, en PowerShell, il me faudra entrer les commandes suivantes :

<#

.SYNOPSIS
Deploys a template to Azure

.DESCRIPTION

Deploys an Azure Resource Manager template

.PARAMETER subscriptionId

The subscription id where the template will be deployed.

.PARAMETER resourceGroupName

The resource group where the template will be deployed. Can be the name of an existing or
a new resource group.

.PARAMETER resourceGroupLocation

Optional, a resource group location. If specified, will try to create a new resource group
in this location. If not specified, assumes resource group is existing.

.PARAMETER deploymentName

The deployment name.

.PARAMETER templateFilePath

Optional, path to the template file. Defaults to template.json.

.PARAMETER parametersFilePath
Optional, path to the parameters file. Defaults to parameters.json. If file is not found,
will prompt for parameter values based on template.

#>

param(

[Parameter(Mandatory=$True)]

[string]

$subscriptionId,

[Parameter(Mandatory=$True)]

[string]

$resourceGroupName,

[string]

$resourceGroupLocation,

[Parameter(Mandatory=$True)]

[string]

$deploymentName,

[string]

$templateFilePath = "template.json",
[string]

$parametersFilePath = "parameters.json"

<#

.SYNOPSIS

Registers RPs

#>

Function RegisterRP {

Param(

[string]$ResourceProviderNamespace

Write-Host "Registering resource provider '$ResourceProviderNamespace'";

Register-AzureRmResourceProvider -ProviderNamespace $ResourceProviderNamespace;

#******************************************************************************

# Script body

# Execution begins here

#******************************************************************************

$ErrorActionPreference = "Stop"
# sign in

Write-Host "Logging in...";

Login-AzureRmAccount;

# select subscription

Write-Host "Selecting subscription '$subscriptionId'";

Select-AzureRmSubscription -SubscriptionID $subscriptionId;

# Register RPs

$resourceProviders = @("microsoft.network","microsoft.compute","microsoft.storage");

if($resourceProviders.length) {

Write-Host "Registering resource providers"

foreach($resourceProvider in $resourceProviders) {

RegisterRP($resourceProvider);

#Create or check for existing resource group

$resourceGroup = Get-AzureRmResourceGroup -Name $resourceGroupName -ErrorAction


SilentlyContinue

if(!$resourceGroup)

{
Write-Host "Resource group '$resourceGroupName' does not exist. To create a new resource
group, please enter a location.";

if(!$resourceGroupLocation) {

$resourceGroupLocation = Read-Host "resourceGroupLocation";

Write-Host "Creating resource group '$resourceGroupName' in location


'$resourceGroupLocation'";

New-AzureRmResourceGroup -Name $resourceGroupName -Location $resourceGroupLocation

else{

Write-Host "Using existing resource group '$resourceGroupName'";

# Start the deployment

Write-Host "Starting deployment...";

if(Test-Path $parametersFilePath) {

New-AzureRmResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateFile


$templateFilePath -TemplateParameterFile $parametersFilePath;

} else {

New-AzureRmResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateFile


$templateFilePath;

Voilà pourquoi il faut commencer par l’utilisation du portail, c’est assez long. Mais une
fois maîtrisé, cela vous permettra de générer des machines en gagnant un temps
considérable !
Voilà, vous n’avez plus qu’à identifier vos besoins et à créer autant de machines dans
autant de groupes de ressources que nécessaire.

En résumé
 Azure permet de créer des services hébergés dans les infrastructures de
Microsoft, dans un réseau de centres de données tout autour de la planète.
 Il est possible de gérer Azure via trois modes au moins : ligne de
commande, PowerShell, ou le portail Web.
 Il existe plus d’une centaine de services accessibles via Azure, de la machine
virtuelle “standard” au services de bases de données à la demande gérés par
Microsoft.
 Azure permet de gérer des instances publiques ou privées accessibles à tous,
ou simplement aux réseaux que vous aurez définis.

Configurez le service IIS pour héberger une


application web
Dans ce dernier chapitre, je vous propose de sortir un peu des sentiers battus et de
configurer Windows Server pour héberger une application web s’appuyant sur PHP.

Dans notre exemple, nous utiliserons la version 7 de PHP. La version 8 actuellement


utilisée étant sensiblement identique, vous ne serez pas impacté par ce changement.
Pourquoi donc cette demande ?
Eh bien, votre directeur chez Gift SA a embauché un développeur web junior dont la
mission est de créer une application web de gestion des approvisionnements. Comme
vous venez d’avoir un budget pour l’acquisition d’un serveur de fichiers et d’identité, et
que vous avez choisi de partir sur Windows Server, pourquoi ne pas aller jusqu’au bout
de la démarche et configurer le rôle Serveur web sur une machine virtuelle ?

Concevez l’hébergement de l’application


Vous allez donc être amené à collaborer avec le développeur pour dimensionner votre
serveur. La première chose à identifier est : faut-il une ou plusieurs machine(s)
virtuelle(s) ?

Sachez que chez Gift S.A. (comme dans beaucoup de sociétés), vous disposez d’un
contrat support de Microsoft, et qu’il vous est donc imposé de travailler dans ce cadre-là.
Votre direction souhaite qu’en cas de souci et d’absence de votre part, une personne
lambda puisse appeler Microsoft à la rescousse. Il n’est donc pas possible d’utiliser un
autre système d’exploitation que Microsoft Windows.

L’autre contrainte est que vous ne disposez que de deux licences pour vos
machines virtuelles. Rappelez-vous, vous avez fait l’acquisition d’un serveur physique
avec une licence Windows Standard. Une machine virtuelle est dédiée à l’Active
Directory et la seconde à votre serveur de fichiers. Pour éviter d’utiliser le serveur Active
Directory, vous décidez donc d’héberger l’application web sur votre serveur de fichiers.

Ainsi, vous aurez l’architecture suivante à mettre en œuvre :

Architecture globale de votre réseau


Il conviendra donc de fournir les outils et accès nécessaires au travail du développeur
web, ainsi que des accès pour les clients de la future application.

Configurez l’hébergement de l’application


Vous allez donc ajouter un rôle sur votre VM serveur de fichiers. Dans un second
temps, vous allez configurer le rôle de serveur web afin de permettre la gestion du
langage demandé par le développeur nouvellement embauché chez Gift SA, à savoir
PHP. Je vous rappelle que vous êtes sur le point de mettre en place une application de
production, il est donc hors de question d’utiliser un installeur “clé en main” (WAMP,
Laragon, EasyPHP…).

Première étape donc, vous installez le rôle Serveur web. Ce rôle est composé
notamment de IIS (Internet Information Service), qui n’est autre qu’un concurrent du
serveur Apache couramment utilisé sur les systèmes Unix/Linux. IIS va vous permettre
de servir des pages web à vos utilisateurs.
Nativement, il ne prendra en compte que les formats HTML, CSS, JS, ou ASPX qui est
un langage Microsoft similaire à PHP. Comme vous n’allez pas demander à votre
nouveau collègue de changer de langage de programmation, vous allez devoir intégrer
PHP à IIS.

Gestionnaire IIS
Je ne vous présenterai plus le gestionnaire qui est le même que pour les autres rôles
(DNS, DHCP…). Par défaut, IIS vous propose un site web afin de vous proposer une
configuration initiale fonctionnelle. Pour observer ce site, rendez-vous
sur http://localhost. Vous obtenez alors les informations de IIS10 :

Site web par défaut de IIS10


Votre objectif est de fournir un environnement fonctionnel à votre collègue développeur.
Pour cela, vous allez créer un fichier test.php à la racine de ce site web, dont le
chemin est le suivant par défaut : C:\inetpub\wwwroot . À l’intérieur de ce fichier,
entrez les quelques lignes de code suivantes :

<?php

phpinfo();
?>
En affichant cette page, vous devriez avoir, à ce stade, un message d’erreur 404.3 not
found, signifiant que ce type de fichier ne peut pas être traité par IIS. L’objectif est donc
d’avoir un traitement de ce fichier et d’obtenir ainsi la page phpinfo qui fournira de
nombreuses informations à votre développeur. Tant que cette page n’est pas traitée, il
est inutile de fournir un accès à votre collègue, car il n’est pas fonctionnel.

Deux méthodes peuvent maintenant s’offrir à vous pour activer PHP et plus
généralement pour configurer votre IIS :

1. La méthode automatique via Web Platform Installer.


2. La méthode manuelle.
La méthode manuelle étant très similaire à une installation sous Unix/Linux, je vous
laisse identifier comment effectuer les différentes tâches qui se résument à :

Récupérer un binaire PHP ;



 Configurer php.ini ;
 Associer PHP à un module CGI.
La méthode automatique
Cette méthode permet de simplifier l’installation de plateformes web en se basant sur
des modules validés par Microsoft. Avant toute action, rendez-vous sur l’ajout de
fonctionnalités afin de procéder à l’installation de la prise en charge CGI sur IIS.

Ensuite, vous pourrez installer l’extension Web Platform sur le gestionnaire IIS.

Rendez-vous sur le nom de votre serveur dans la fenêtre du gestionnaire, et dans le


menu de droite “Actions”, sélectionnez “Obtenir de nouveaux composants Web
Platform”. Installez l'extension proposée.

Gestionnaire IIS10 avec Web Platform Installer actif


Attention, sur un serveur Windows, par défaut, la configuration du navigateur est
renforcée en termes de sécurité. Je vous propose de désactiver temporairement cette
option. Pour cela, rendez-vous sur le gestionnaire de serveur sur le tableau de bord de
votre ordinateur local, et cliquez sur l’option “Configuration de sécurité renforcée
d’Internet Explorer”, puis sélectionnez “Désactiver” pour les administrateurs.
Une fois que l'extension est installée, vous n’avez qu’à lancer Web Platform Installer et
faire une recherche sur le module à installer, ici PHP.

Résultat de recherches pour PHP


Après l’ajout au panier et l’installation du module via Web Platform Installer, vous avez
maintenant PHP prêt à l’emploi.

Vous trouverez alors votre page test.php correctement affichée. Vous pouvez
maintenant fournir un accès contrôlé à votre collègue. Et pour cela, plusieurs options
s’offrent à vous :

 Soit en partageant un bureau à distance ;


 Soit en lui donnant les droits d'administrateur uniquement sur le serveur IIS,
ou mieux, uniquement à l'arrêt/au redémarrage du service.
Maintenant que vous avez mis en ligne un nouveau service, il ne vous restera qu’à
ouvrir les ports de l’application à destination de vos clients. Vous pouvez maintenant
ajouter le support du transport sécurisé via TLS au travers du service “Let's Encrypt” !
Vous disposerez ainsi gratuitement d’un certificat au format x509 permettant d’utiliser
le protocole TLS et donc HTTPS !

Allez plus loin


 Site web permettant de découvrir en profondeur les possibilités de IIS.
 Site web de Let's Encrypt.
En résumé
 Microsoft IIS est le serveur web fonctionnant sous Windows Server.
 IIS permet de gérer une application web avec une prise en charge avancée des
langages de programmation au travers des modules CGI.
 IIS s’installe et s’administre via le gestionnaire de serveur comme tous les rôles
Windows Server.
 Web Platform Installer permet d’installer facilement et automatiquement des
modules ou applications web en toute simplicité et en toute sécurité.
Pour conclure
La fin de cette partie marque la fin de ce cours. Vous avez maintenant toutes les
informations nécessaires pour maîtriser Windows Server ! Vous êtes désormais capable
de :

 Choisir, installer et administrer la bonne version de Windows Server.


 Installer & configurer des rôles ainsi que des fonctionnalités.
 Gérer des services réseau.
 Mettre en œuvre des services et fonctionnalités avancés tels que le Cloud, la
virtualisation ou la gestion sans interface graphique !

Vous aimerez peut-être aussi