Share via


Déployer une instance locale de Windows Server hébergée par Vagrant et la connecter à Azure Arc

L’article suivant propose une aide au déploiement d’une machine virtuelle locale Windows 10 à l’aide de Vagrant et à sa connexion en tant que ressource serveur compatible avec Azure Arc.

Prérequis

  1. Clonez le référentiel Azure Arc Jumpstart.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Installez ou mettez à jour Azure CLI vers la version 2.7 ou une version ultérieure. Utilisez la commande suivante pour vérifier la version installée actuellement.

    az --version
    
  3. Vagrant s’appuie sur un hyperviseur sous-jacent. Pour ce guide, nous utilisons Oracle VM VirtualBox.

    1. Installez VirtualBox.

    2. Installez Vagrant.

  4. Créez un principal de service Azure.

    Pour connecter la machine virtuelle Vagrant à Azure Arc, un principal de service Azure auquel est attribué le rôle Contributeur est requis. Pour le créer, connectez-vous à votre compte Azure et exécutez la commande suivante. Vous pouvez également exécuter cette commande dans Azure Cloud Shell.

    az login
    az account set -s <Your Subscription ID>
    az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor --scopes "/subscriptions/<Your Subscription ID>"
    

    Par exemple :

    az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
    

    La sortie doit ressembler à ceci :

    {
      "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "displayName": "http://AzureArcServers",
      "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    Remarque

    Nous vous recommandons vivement d’étendre le principal du service à un abonnement Azure et à un groupe de ressources spécifiques.

  • Le vagrantfile exécute un script sur le système d’exploitation de la machine virtuelle pour installer tous les artefacts nécessaires et injecter des variables d’environnement. Modifiez le script PowerShell scripts/vars.ps1 pour qu’il corresponde au principal de service Azure que vous avez créé.

    • subscriptionId = ID de votre abonnement Azure
    • appId = nom de votre principal de service Azure
    • password = mot de passe de votre principal de service Azure
    • tenantId = ID de votre locataire Azure
    • resourceGroup = nom du groupe de ressources Azure
    • location = région Azure

Déploiement

Comme tout déploiement Vagrant, un vagrantfile et une box Vagrant sont nécessaires. À un niveau élevé, le déploiement :

  • téléchargera la box Vagrant du fichier image Windows 10 ;
  • exécutera le script d’installation d’Azure Arc.

Après avoir modifié le script scripts/vars.ps1 pour qu’il corresponde à votre environnement, à partir du dossier Vagrantfile, exécutez vagrant up. Comme c’est la première fois que vous créez la machine virtuelle, la première exécution sera beaucoup plus lente que celles qui suivront. Cela est dû au fait que le déploiement télécharge la box Windows 10 pour la première fois.

A screenshot of running the vagrant up command.

Une fois le téléchargement terminé, l’approvisionnement réel démarre. Comme indiqué dans la capture d’écran suivante, le processus prend entre 7 et 10 minutes.

A screenshot of a completed vagrant up command.

Remarque

Si vous voyez une erreur concernant la vérification de la révocation du certificat, ajoutez cette configuration à Vagrantfile :

config.vm.box_download_insecure = true

Une fois l’opération terminée, une machine virtuelle locale Windows 10 sera déployée et connectée en tant que nouveau serveur Azure Arc au sein d’un nouveau groupe de ressources.

A screenshot of an Azure Arc-enabled server in the Azure portal.

A screenshot of the details from an Azure Arc-enabled server in the Azure portal.

Déploiement semi-automatisé (facultatif)

La dernière étape de l’exécution consiste à inscrire la machine virtuelle en tant que nouvelle ressource de serveur avec Azure Arc.

Another screenshot of a completed vagrant up command.

Si vous souhaitez contrôler le processus d’inscription proprement dit ou en voir une démonstration, procédez comme suit :

  1. Dans le script PowerShell install_arc_agent, commentez la section run connect command et enregistrez le fichier. Vous pouvez également commenter ou modifier la création du groupe de ressources.

    A screenshot of the install_arc_agent PowerShell script.

    A screenshot of the az group create command.

  2. Activez le protocole RDP sur la machine virtuelle à l’aide de la commande vagrant rdp. Utilisez vagrant/vagrant comme nom d’utilisateur et mot de passe.

    A screenshot of accessing a Vagrant server with the Microsoft Remote Desktop Protocol.

  3. Ouvrez PowerShell ISE en tant qu’administrateur et modifiez le fichier C:\runtime\vars.ps1 avec vos variables d’environnement.

    A screenshot of Windows PowerShell ISE.

  4. Collez la commande Invoke-Expression C:\runtime\vars.ps1, la commande az group create --location $env:location --name $env:resourceGroup --subscription $env:subscriptionId et la même commande azcmagent connect que vous avez commentée, puis exécutez le script.

    A screenshot of PowerShell ISE running a script.

Suppression du déploiement

Pour supprimer l’intégralité du déploiement, exécutez la commande vagrant destroy -f. Le vagrantfile comprend un déclencheur Vagrant before: destroy qui exécute la commande pour supprimer le groupe de ressources Azure avant de détruire la machine virtuelle réelle.

A screenshot of the vagrant destroy command.