Machine virtuelle
Introduction
Comme nous l’avons vu dans le chapitre Concepts de base, une machine virtuelle est un système d’exploitation invité mis à disposition par un hyperviseur. Ce dernier est hébergé sur un serveur physique et possède comme couche logicielle un système tel que VMware ESXi ou Hyper-V de Microsoft. La machine virtuelle est stockée sur un disque virtuel, au format VHD ou VHDX, sur l’hyperviseur Microsoft. Une machine virtuelle Azure n’a que peu de différences fonctionnelles avec une machine virtuelle hébergée sur le site de l’entreprise, même s’il est vrai que le coût d’hébergement est moindre dans le Cloud Microsoft. Quand une machine virtuelle fonctionne dans Azure, l’entreprise paie, selon une tarification à la minute et en fonction de sa taille, sa consommation des ressources (CPU, RAM, etc.), sa licence du système d’exploitation et tout logiciel supplémentaire.
Générations 1 et 2
Les machines virtuelles Azure sont hébergées dans une infrastructure Hyper-V gérée par Microsoft. Cette dernière supporte la génération 1 et la génération 2 des ordinateurs virtuels. Mais qu’est-ce qu’une génération ? Une génération délimite le matériel virtuel et les fonctionnalités fournis par l’hyperviseur à un ordinateur virtuel invité.
Les générations 1 et 2 sont prises en charge dans un environnement virtuel On-Premise :
-
Génération 1 : gestion des périphériques IDE, d’un BIOS (Basic Input Output System) hérité, d’un clavier ou d’une souris PS/2, etc. C’est l’ancienne génération des ordinateurs.
-
Génération 2 : architecture 64 bits uniquement, démarrage PXE avec une carte réseau standard, à partir d’un disque dur virtuel ou d’un DVD virtuel SCSI, gestion d’un microprogramme UEFI et démarrage sécurisé.
En matière de performance, l’administrateur n’en perd pas à exécuter des machines virtuelles génération 1 plutôt que génération 2. La limitation vient plutôt de l’absence de gestion du démarrage sécurisé. Un disque dur virtuel génération 1 supporte uniquement le format VHD, avec une limitation de taille de 1 To, alors que la génération 2 propose le format VHDX avec une taille maximale de 64 To. Un disque managé offre maintenant une taille maximale de 64 To par disque virtuel en utilisant la version SSD Premium v2.
Concrètement, si un administrateur système est en charge du transfert d’une machine virtuelle On-Premise vers...
Tailles
La configuration matérielle des machines virtuelles dépend du type choisi, désigné par une lettre spécifiant leurs caractéristiques, et cette logique s’appelle une taille. Toutes les régions Azure ne proposent pas toutes les tailles que nous allons détailler ici. Par exemple, la série HB n’est pas disponible en Europe du Nord contrairement à l’Europe de l’Ouest. Référez-vous au site web https://azure.microsoft.com/fr-fr/global-infrastructure/services/ pour connaître les dernières disponibilités des tailles Azure.
Microsoft mesure les performances des machines virtuelles Azure suivant le concept d’unité de calcul Azure (ACU - Azure Compute Unit). Le modèle Standard A1 (1 cœur, 1,75 Go de mémoire vive et 70 Go d’espace disque) sert de référence de comparaison, son niveau est ainsi défini à 100. Les autres tailles représentent approximativement le temps d’exécution complet d’un test d’évaluation standardisé. Donc, plus le niveau d’ACU est élevé, plus la machine virtuelle sera véloce.
Voici un tableau (non exhaustif) résumé des différentes tailles Azure :
Une famille B permet par exemple de choisir la taille de machine virtuelle vous offrant les performances de base nécessaires à une charge de travail, tout en se réservant la possibilité d’étendre jusqu’à 100 % les performances d’un processeur virtuel Intel.
Ainsi l’économie réalisée en utilisation normale permettra de "booster" les performances en cas de besoin pour atteindre jusqu’à 135 %, comme l’overclocking !
Une série A - Instances de calcul intensif crée...
Coûts
Nous l’avons vu, la taille influe sur le coût d’une machine virtuelle. D’autres paramètres sont aussi à prendre en compte, comme la région. Ainsi, la région Europe du Nord est moins chère que l’Europe de l’Ouest pour exploiter des machines virtuelles.
Le choix du système d’exploitation influe également sur le prix, une licence Microsoft étant bien souvent plus chère qu’une licence Linux. Il en est de même pour les logiciels embarqués, Oracle ou SQL Server étant généralement des produits coûteux. Le temps d’utilisation (744 heures par défaut) est aussi à prendre en compte.
Ainsi, arrêter la machine virtuelle la nuit grâce à un script Azure Automation limitera son coût. Il est possible d’effectuer cette action via l’interface graphique, en cliquant sur le paramètre Arrêt automatique et sur l’option Activé.
Enfin, l’espace disque réservé sur un compte de stockage n’est pas inclus dans le tarif de la calculatrice Azure, pas plus que la bande passante utilisée par la machine virtuelle pour communiquer.
État Arrêté ou Arrêté (libéré)
Il y a deux manières d’arrêter une machine virtuelle hébergée dans Azure : depuis le système d’exploitation ou depuis le portail Azure. Dans le premier cas, la VM apparaît en état Arrêté, mais certaines ressources nécessaires à son fonctionnement (adresse IP, RAM, CPU, etc.) sont toujours facturées car réservées par Microsoft. Cependant, le coût est bien moindre. Dans le second cas, la machine virtuelle est affichée dans un état Arrêté (libéré), les ressources sont libérées, plus aucun coût n’est facturé, hormis bien sûr celui de l’espace de stockage utilisé pour héberger ses données.
Il est donc judicieux d’arrêter (libérer) une VM lorsqu’elle n’est pas utilisée.
Pour arrêter une machine virtuelle, l’administrateur peut le faire via un script Azure PowerShell ou PowerShell, mais aussi depuis le système d’exploitation. Par exemple, sur le serveur vm-w2k16 (Windows Server 2016) précédemment créé et en cours d’exécution :
Après vous être authentifié via Bureau à distance, cliquez avec le bouton droit de la souris sur le bouton du menu Démarrer situé en bas à gauche de la barre des tâches, puis cliquez sur Shut down et Continue.
Sur un système d’exploitation Linux, la commande halt permet d’arrêter la machine virtuelle.
L’état de la VM est mis à jour dans Azure (Arrêté). Un message d’avertissement indique son statut. Des frais, faibles, sont ainsi toujours facturés par Microsoft pour garantir la réservation des ressources, telles...
Azure Disk Encryption
Azure Disk Encryption (ADE) est une fonctionnalité permettant de chiffrer les disques virtuels du système d’exploitation ou des données, en mode hors connexion, sur des machines virtuelles Windows et Linux, y compris les nœuds d’un groupe identique de machines virtuelles (Virtual Machine Scale Set). Ainsi, même en cas de téléchargement du fichier VHD hébergeant la VM, celui-ci sera illisible sans la clé de déchiffrement. Les clés utilisées sont incorporées à un Key Vault Azure (cf. chapitre Concepts de base) situé dans la même région que les disques des machines virtuelles à chiffrer. L’administrateur garde ainsi la maîtrise de ses clés de chiffrement.
Azure Disk Encryption n’est pas disponible sur les machines virtuelles de base et de série A, ni sur celles disposant de moins de 2 Go de mémoire.
Azure Disk Encryption s’appuie sur les technologies de chiffrement BitLocker pour les systèmes Windows (Windows Server 2008 R2 et versions supérieures, Windows 8 et versions supérieures), et Dm-Crypt pour les systèmes Linux.
Lors du processus de démarrage d’un système d’exploitation Windows, le disque dur virtuel est déchiffré par BitLocker, qui n’empêche donc pas l’accès non autorisé à des données lorsque la VM est en cours d’exécution. Privilégiez dans ce cas EFS (Encrypting File System) pour chiffrer les données d’une partition NTFS (New Technology File System) même si le système d’exploitation est démarré.
BitLocker est aussi utile en cas de mise hors service définitive d’un disque dur physique. En le chiffrant complètement, la solution devient vite rentable par rapport...
Extensions
Les extensions de machine virtuelle Azure sont, pour certaines, installées par défaut lors de la création de celle-ci, et proposent un grand nombre de fonctionnalités à destination des administrateurs, parmi lesquelles VMAccess (réinitialisation d’une connexion à distance telle que SSH), Puppet (gestion de la configuration) ou encore Agent for Cloud Workload Protection (antivirus Symantec). Elles sont mises à jour régulièrement.
Les extensions ajoutent des fonctionnalités et logiciels utiles à l’administration des machines virtuelles, via des sociétés tierces ou directement via Microsoft.
Il est bien entendu possible d’ajouter des extensions à une machine virtuelle, même après leur création.
Les extensions pour les ordinateurs virtuels Windows et Linux nécessitent l’installation d’un agent pour être utilisées.
Pour ajouter une extension installant l’antivirus Microsoft Antimalware afin d’activer une protection contre les virus, chevaux de Troie, etc. :
Dans le portail Azure, cliquez sur Machines virtuelles puis sur vm-w2k16. Cliquez sur Applications + Extensions et sur Ajouter. Cliquez sur Microsoft Antimalware et sur le bouton Suivant.
Visualisez les différentes options proposées à l’administrateur, telles que la clé de licence à utiliser, l’activation de la protection des fichiers système en temps réel, etc.
Cliquez sur le bouton Vérifier + créer puis sur Créer.
Après quelques minutes, l’antivirus Microsoft est installé sur la machine virtuelle.
Notez que si après 90 minutes une extension n’est pas installée, Azure rendra la main à l’administrateur Cloud.
Linux
Microsoft met à la disposition de ses clients des images Linux approuvées, fournies par des partenaires, via le MarketPlace.
Il est bien entendu possible de créer et de télécharger son propre disque virtuel (VHD) contenant le système d’exploitation Linux personnalisé en téléchargeant celui-ci dans un compte de stockage.
Depuis le MarketPlace, la machine virtuelle exécutera l’agent préinstallé Azure Linux et fera obligatoirement partie d’une des distributions listées ci-après :
-
CentOS
-
Debian Linux
-
Oracle Linux
-
Red Hat Enterprise Linux
-
SLES et openSUSE
-
Ubuntu
Les pilotes LIS (Linux Integration Services) pour Azure sont des modules noyau intégrés aux distributions par défaut.
Comme les machines Windows hébergées dans Azure, un niveau de service est garanti.
1. Création d’une machine virtuelle Linux
La création d’une machine virtuelle Linux est simple, mais nécessite de respecter quelques étapes différentes de celles permettant de créer une machine virtuelle Windows. Plusieurs méthodes existent, soit depuis un portail Azure, soit en langage de script (Azure PowerShell ou Azure CLI). Vous allez utiliser Azure PowerShell pour créer la machine virtuelle, en vous appuyant sur l’infrastructure existante, soit un groupe de ressources (livreazure) et un réseau virtuel (vnet-prod).
Créez les variables pour le groupe de ressources...
Transfert d’une machine virtuelle On-Premise vers Azure
Une machine virtuelle est généralement hébergée sur un disque virtuel au format VHDX ou VHD dans une infrastructure de virtualisation Hyper-V. Concernant son concurrent direct VMware, le format est VMDK. Il peut être converti en fichier VHD. Hyper-V procure le matériel virtuel et les fonctionnalités qui sont présentées à l’ordinateur virtuel grâce à un système de génération. Seuls des disques durs virtuels au format VHD sont supportés par Azure. Ainsi, il peut être nécessaire de convertir les disques VHDX à l’aide de la commande PowerShell convert-vhd.
Un disque virtuel doit être soigneusement préparé avant d’être transféré dans Azure. La carte réseau du système d’exploitation doit être définie en adressage dynamique (DHCP) et il peut être nécessaire de généraliser la machine virtuelle afin de la rendre duplicable à souhait. L’administrateur doit aussi installer Azure PowerShell sur son poste de travail. Enfin, la taille du disque dur virtuel doit être fixe et être au maximum de 1 023 Go (1 To, génération 1). Son nombre de mégaoctets doit être divisible par huit.
1. Importation d’une machine virtuelle Windows dans Azure
Microsoft permet aux administrateurs de transférer une machine virtuelle On-Premise dont le système d’exploitation est Windows, vers Azure.
L’image à transférer peut être soit personnalisée pour un utilisateur soit préparée pour duplication. Nous allons détailler cette seconde méthode.
Le scénario va consister à installer Hyper-V sur votre poste de travail (système...
Dépannage d’une connexion à distance
Nous l’avons vu précédemment, il est simple et rapide de créer une machine virtuelle Windows ou Linux dans Azure. Y accéder via le Bureau à distance ou SSH peut parfois échouer, du fait de la perte de connexion réseau, du port utilisé, d’un mauvais mot de passe, etc. Le dépannage sans accès à l’infrastructure de virtualisation peut vite devenir compliqué car l’administrateur ne peut pas utiliser la console de virtualisation Hyper-V pour accéder à des machines virtuelles. C’est pourquoi Microsoft propose des outils et des procédures pour réinitialiser la connexion distante.
1. Itinéraire
Lorsqu’un administrateur ne peut pas (ou plus) se connecter à une machine virtuelle, la partie réseau peut être à l’origine du problème, en particulier les tables de routage. Ainsi, plusieurs itinéraires sont impactés pour accéder à une VM : celui du réseau local de l’entreprise, celui de la liaison VPN ou ExpressRoute, celui défini par l’utilisateur, etc.
Microsoft met à disposition un outil de dépannage affichant tous les itinéraires effectifs pour une interface réseau.
Pour afficher les itinéraires effectifs pour une machine virtuelle précise, suivez la procédure ci-après :
Dans le panneau d’actions situé à gauche de l’interface, cliquez sur Machines virtuelles, puis sur vm-ubuntuaz. Cliquez sur Mise en réseau depuis le panneau Paramètres, ensuite sur l’interface réseau associée à votre machine virtuelle, puis sur Obtenir les routages effectifs.
En cliquant sur Télécharger, l’administrateur peut télécharger...
Applet de gestion des machines virtuelles
Les applets Azure PowerShell peuvent aider l’administrateur à gérer l’ensemble de ses machines virtuelles en lui fournissant un moyen simple d’effectuer un ensemble d’actions sur un ensemble de ressources. En effet, Azure PowerShell offre un gain de temps, car les portails web ne permettent de travailler que sur une ressource à la fois.
La limite d’action est l’abonnement, mais il est d’usage de travailler sur les ressources contenues dans un groupe de ressources.
1. Get-AzVM
Pour obtenir la liste détaillée (système d’exploitation, état, taille, réseau virtuel, etc.) de toutes les machines virtuelles du groupe de ressources vmlivreazure, vous allez au préalable déclarer la variable $rg et lui assigner le nom du groupe de ressources cible, puis utiliser l’applet Get-AzVM :
$rg = "livreazure"
Get-AzVm -ResourceGroupName $rg
Cette applet est très usitée car elle permet d’insérer dans une variable toutes les informations nécessaires à la manipulation d’une machine virtuelle, pour ensuite y ajouter d’autres commandes de traitement.
Ainsi, pour redimensionner la machine virtuelle vm-ubuntuaz :
$vm = Get-AzVM -ResourceGroupName $rg -Name vm-ubuntuaz
$vm.HardwareProfile.vmSize = "Standard_DS2_v2"
Update-AzVM -ResourceGroupName $rg -VM $vm
L’applet Update-AzVM met à jour une machine...
Points essentiels à retenir
Machine virtuelle
-
Équivalent d’une machine virtuelle On-Premise, mais dans Azure.
-
De génération 1 ou 2.
-
Disque virtuel au format VHD.
-
Azure gère les architectures 64 bits et 32 bits.
-
Possibilité de redimensionner la taille (CPU/RAM/Disque) d’une machine virtuelle, mais un redémarrage sera nécessaire.
-
Les extensions ajoutent des fonctionnalités et logiciels utiles à l’administration des machines virtuelles.
-
Plusieurs outils permettent de résoudre un problème d’accès à une machine virtuelle Azure, tels que Redéployer + Réappliquer, Réinitialiser le mot de passe ou encore Console série.