Ne bougez pas, Azure Arc vient à vous !

Ayant eu l’occasion de participer à un évènement conjoint entre TD SYNNEX, Microsoft et DELL et dédié à Azure Stack HCI, j’ai pu m’intéresser au service qui oeuvre dans l’ombre : Azure Arc. L’ouverture d’Azure sur d’autres sites IT que leurs propres datacenters est indispensable, beaucoup d’architectures IT reposent en effet sur des serveurs locaux, ou sont déjà hébergées auprès d’autres fournisseurs Cloud.

Dans cet article, nous allons effectuer ensemble plusieurs méthodes d’intégration très facile de serveurs au service Azure Arc. Nous en profiterons pour faire tour dans les fonctionnalités disponibles gratuitement ou payantes sur les ressources Arc déployées.

Qu’est-ce qu’Azure Arc ?

Azure Arc est une passerelle qui étend la plateforme Azure pour vous aider à créer des applications et des services ayant la souplesse nécessaire pour fonctionner dans des centres de données, à la périphérie et dans des environnements multiclouds.

Microsoft

Combien coûte Azure Arc ?

A la base, Azure Arc ne coûte rien. Il vous permet d’effectuer les actions suivantes sans débourser un seul centime :

  • Inventaires des ressources Azure Arc
  • Accès et sécurisation via l’attribution de droits RBAC
  • Gestion via l’outil Windows Admin Center

Mais certains services annexes sont payants :

  • Serveur SQL avec Azure Arc
  • Defender for Cloud
  • Azure Policy Guest Configuration
  • Azure Insights
  • Logs

Puis-je tester moi-même Azure Arc avec une VM Azure ?

Non cela n’est pas possible aussi facilement : Azure n’autorise pas d’intégrer directement une machine virtuelle provenant dans la Marketplace Microsoft dans Azure Arc :

Seulement tout le monde ne dispose pas d’une infrastructure IT prête à servir de cobaye pour tester Azure Arc. C’est pourquoi Microsoft propose Azure Arc Jumpstart.

Le Jumpstart fournit des guides étape par étape pour des scénarios Azure Arc indépendants qui intègrent autant d’automatisation que possible, des captures d’écran et des échantillons de code détaillés, ainsi qu’une expérience riche et complète lors de la prise en main de la plateforme Azure Arc.

azurearcjumpstart.io

Pour en avoir testé quelques-uns, c’est très facile et très bien expliqué.

De mon côté, je vous propose une alternative via un exercice facile pour intégrer des serveurs sur Azure Arc via l’utilisation de ressources uniquement hébergées sur Azure.

Etape 0 – Rappel des prérequis :

Les prérequis suivants sont nécessaires pour réaliser cette démonstration d’Azure Arc :

  • Un tenant Microsoft
  • Une souscription Azure valide

Etape I – Déploiement d’un template ressources :

Pour créer des ressources intégrables dans Azure Arc, j’utilise un template développé par Microsoft et disponible depuis GitHub : Line-of-business application migration : à la base, ce template est destiné à tester le service Azure Migrate.

Ce dernier vous propose de déployer un serveur Hyper-V, dans lequel se trouve un applicatif web réparti sur plusieurs machines virtuelles et une base de données SQL.

Seule la partie initiale, encadrée en rouge, nous intéresse pour Azure Arc :

Par ce template, nous allons donc déployer une machine virtuelle Standard D8s v3 (8 vCPU, 32 GB memory) avec un rôle Hyper-V. Cette dernière hébergera 4 machines virtuelles :

  • Windows Server 2016 + SQL Server 2016
  • Windows Server 2012 Frontend web
  • Windows Server 2012 Frontend web
  • Ubuntu WAF

Comme annoncé plus haut, nous allons uniquement nous intéresser à la première étape : déploiement de l’application web via la machine virtuelle Hyper-V

Pour cela, cliquez ici pour charger la configuration du template directement dans votre tenant :

Renseignez les champs suivants et continuez :

Par défaut :
Le nom d’utilisateur demouser
Le mot de passe demo!pass123

Lancez la création et attendez une heure environ :

Prévoyez au moins une heure à partir du début du déploiement du template pour couvrir l’exécution des scripts.

Remarque : le déploiement du template prend environ 6 à 7 minutes. Une fois le déploiement du modèle terminé, plusieurs scripts supplémentaires sont exécutés pour amorcer l’environnement de laboratoire.

Récupérez l’adresse IP publique suivante :

Ouvrez un nouvel onglet depuis votre navigateur internet avec celle-ci. Vous devriez voir un site web affichant des réservations fictives d’hôtels :

Un déploiement correctement terminé devrait vous afficher cette page.

Supprimez le second groupe de ressources destiné aux tests d’Azure Migrate. Nous ne l’utiliserons pas dans le cadre de nos tests sur Azure Arc :

Ouvrez la machine virtuelle SmartHotelHost et cliquez sur Bastion :

Le service Bastion n’est pas créé, lancez son déploiement avec la configuration par défaut :

N’attendez pas la fin du déploiement de Bastion pour continuer.

Etape II – Configuration d’Azure Arc

La configuration d’Azure Arc est très rapide, utilisez la barre de recherche d’Azure pour retrouver le service Azure Arc :

Avant de commencer l’intégration de machines virtuelles à Azure Arc, nous allons créer un principal de service dédié à cette tâche. Ce principal de service va être utilisé pour l’authentification automatique pendant le processus d’intégration des ressources dans Azure Arc.

Cliquez dans le menu suivant :

Cliquez sur Créer :

Renseignez les champs, puis cliquez sur Créer :

Prenez soin de copier l’ID et le secret de principal de service dans un bloc-notes :

Revenez sur la page d’Azure Arc et constatez son apparition :

Une fois Azure Bastion entièrement déployé, retournez sur votre machine virtuelle SmartHotelHost, puis lancez une connexion RDP via Azure Bastion :

Renseignez les identifiants utilisés dans le template, puis cliquez sur Connecter :

La session RDP d’Azure Bastion s’ouvre alors dans un nouvel onglet de votre navigateur web :

Retournez sur le service Azure Arc depuis votre portail Azure, puis cliquez sur Ajouter dans la section Serveurs :

Plusieurs méthodes d’intégration à Azure Arc sont possibles. Le choix de la méthode va surtout dépendre du volume d’intégration à réaliser. Nous allons en tester plusieurs pour vous faire une meilleure idée.

Etape III – Test d’un ajout simple de serveur :

Cette méthode correspond à l’ajout d’un serveur unique sur Azure Arc. Ce premier script effectue les opérations suivantes :

  • Récupération de l’agent depuis le Centre de téléchargement Microsoft
  • Installation de l’agent sur le serveur
  • Création de la ressource serveur compatible avec Azure Arc

Pour utiliser ce script, cliquez comme ceci :

Azure commence par vous présenter les prérequis nécessaires pour assurer la communication entre le serveur et Azure Arc.

La communication repose sur le port 443 (HTTPS), cela nécessite une ouverture de pare-feu pour les flux sortant, et éventuellement la prise en charge d’un service proxy si besoin :

Aucun blocage réseau n’est présent dans notre environnement de test.

Cliquez sur Suivant et renseignez les champs :

Renseignez si besoin les étiquettes appropriées, puis cliquez sur Suivant :

Copiez le script suivant dans votre presse-papier :

Retournez sur la session RDP ouverte grâce à Azure Bastion, puis ouvrez la console Hyper-V :

Connectez-vous à la machine Windows smarthotelweb1 :

Renseignez le mot de passe de session Windows : demo!pass123

Dans cette nouvelle session, ouvrez la console PowerShell :

Collez le script donné par Azure Arc et appuyez sur Entrée pour lancer son exécution :

Comme attendu, le script procède au téléchargement et à l’installation de l’agent :

Identifiez-vous avec le compte Azure AD adéquat pour continuer le processus d’intégration :

Validez le processus d’authentification par un challenge MFA si besoin :

Fermez la fenêtre d’Internet Explorer :

Le script vous confirme la bonne création de l’objet serveur dans Azure Arc :

Retournez sur la page des serveurs Azure Arc, rafraîchissez la page si besoin :

Etape IV – Test d’un ajout de plusieurs serveurs :

Pour ajouter plusieurs serveurs à la fois sur Azure Arc, nous pouvons utiliser la seconde option.

Celle-ci génère un facilement script transportable puisqu’il gère l’authentification Azure via l’exploitation du principal de service créé précédemment. Ce script effectue les opérations suivantes :

  • Récupération de l’agent depuis le Centre de téléchargement Microsoft
  • Installation de l’agent sur le serveur
  • Création de la ressource serveur sur Azure Arc

Pour continuer, cliquez comme ceci :

Renseignez les champs et le principal de service, puis cliquez sur Suivant :

Renseignez si nécessaire les étiquettes appropriées, puis cliquez sur Suivant :

Copiez le script dans le presse-papier :

Retournez sur la session d’Azure Bastion. Sur la console Hyper-V, connectez-vous à la machine smarthotelweb2 :

Renseignez le même mot de passe : demo!pass123

Ouvrez la console PowerShell :

Collez votre script en prenant bien soin de remplacer le secret du principal de service par celui donné lors de sa création :

Attendez que le traitement d’intégration se termine :

Retournez sur la page des serveurs d’Azure Arc, rafraîchissez la page si besoin :

Nul besoin de fournir une authentification manuelle d’Azure, ce script est donc destiné à être utilisé pour importer massivement des serveurs sur Azure Arc.

Etape V – Test d’un ajout d’un serveur Linux

Azure Arc supporte également les serveurs fonctionnant sous distribution Linux ,via l’utilisation d’un autre script spécifique. Celui effectue les actions suivantes :

  • Récupération du script d’installation à partir du Centre de téléchargement Microsoft
  • Configuration du gestionnaire de packages pour approuver le référentiel
  • Téléchargement de l’agent à partir du référentiel de logiciels Linux de Microsoft
  • Installation l’agent sur le serveur
  • Création de la ressource de serveur sur Azure Arc

Pour continuer, cliquez encore une fois sur la seconde option :

Renseignez à nouveau les champs et le principal de service, puis cliquez sur Suivant :

Renseignez si besoin les étiquettes appropriées, puis cliquez sur Suivant :

Copiez le script dans le presse-papier :

Retournez sur la session d’Azure Bastion. Depuis le serveur Hyper-V, ouvrez directement une console PowerShell et connectez-vous à la machine UbuntuWAF via SSH:

Renseignez le mot de passe : demo!pass123

Collez le script donné par Azure Arc en prenant soin de modifier le secret, puis appuyez sur Entrée pour lancer son exécution :

Laissez la machine redémarrer au besoin :

Une fois le script correctement terminé, vérifiez sur le service Azure Arc l’apparition du serveur Linux :

Etape VI – Test d’un ajout d’un serveur SQL

Une machine virtuelle hébergeant un serveur SQL est également compatible avec Azure Arc et vous permet de le gérer dans votre inventaire. Le processus repose toujours sur le lancement d’un script. Ce dernier effectue les actions suivantes :

  • Vérification de la connectivité de votre environnement à Azure et à la machine spécifiée
  • Intégration de la machine hôte via l’agent Azure Connected Machine si absent
  • Initiation de la découverte d’instances SQL Server
  • Ajout des instances SQL Server de votre machine cible à Azure Arc

Cliquez comme ceci :

Renseignez les champs, puis cliquez sur Suivant :

Copiez le script dans le presse-papier :

Retournez sur la session d’Azure Bastion, sur la console Hyper-V, ouvrez une connexion vers le serveur smarthotelSQL1 :

Renseignez le mot de passe : demo!pass123 :

Désactivez la protection d’Internet Explorer :

Téléchargez Microsoft Edge par ce lien :

Validez les pop-ups d’Edge :

Ouvrez la console PowerShell :

Collez le script précédemment donné par Azure Arc et validez avec la touche Entrée :

Authentifiez-vous avec votre compte Azure. Si aucune fenêtre ne s’ouvre, saisissez l’URL dans votre navigateur web et authentifiez-vous avec votre compte Azure:

Cliquez sur Continuez :

Attendez que le script termine l’intégration du serveur SQL sur Azure Arc :

Une fois terminé, retrouvez le serveur SQL dans la liste des serveurs d’Azure Arc :

L’agent WindowsAgent.SqlServer est bien présent dans les extensions du serveur :

Retrouvez aussi le serveur SQL dans la liste ci-dessous d’Azure Arc :

Comme un serveur SQL Azure, cette intégration sur Azure Arc apporte une visibilité des bases de données ou apporte une intégration avec Microsoft Defender for SQL :

Etape VII – Test de fonctionnalités d’Azure Arc

Un grand nombre de fonctionnalités sont disponibles pour faciliter la gestion des serveurs intégrés sur Azure Arc. J’en ai sélectionné quelques-unes pour vous :

Windows Admin Center

Inauguré en 2018, Windows Admin Center est une interface web destinée à la configuration de serveurs, comme le ferait déjà Server Manager, mais à distance.

Voici un poster Microsoft récapitulant les fonctionnalités de Windows Admin Center :

Il est également possible de télécharger Windows Admin Center sur n’importe quelle machine Windows 10 (version 1709 ou ultérieure), ou Windows Server (version 2016 ou ultérieure) :

Dans notre exemple, l’installation de Windows Admin Center est nécessaire avant de pouvoir l’utiliser :

Lancez l’installation de Windows Admin Center :

Attendez plusieurs minutes :

Une fois terminée, la notification suivante apparaît alors :

Retournez sur le groupe des ressources Azure Arc pour y ajouter un rôle RBAC supplémentaire à votre identité Azure AD :

Ajoutez le rôle comme ceci :

Retournez sur Windows Admin Center et constatez la disparition de la notification, puis connectez-vous :

Patientez si besoin plusieurs minutes.

Retrouvez la console Windows Admin Center et toutes ses fonctionnalités, comme :

  • Accès au registre Windows
  • Configuration réseau et pare-feu
  • Accès aux journaux d’évènements Windows
  • Explorateur de fichiers

Il est même possible d’ouvrir une session RDP depuis Windows Admin Center ????

Renseignez le mot de passe de session : demo!pass123

Defender for Cloud

Microsoft Defender pour les serveurs fournit la détection des menaces ainsi que des défenses avancées à vos machines Windows et Linux, qu’elles s’exécutent dans Azure, AWS, GCP ou localement. Microsoft Defender pour les serveurs est disponible dans deux plans :Microsoft Doc

Autrement dit, l’intégration d’une ressource dans Microsoft Defender active un grand nombre de mesures de sécurité (capteurs de faille, évaluation des vulnérabilités, threat intelligence, …), mais apporte également la possibilité de piloter ses alertes et ses incidents depuis le centre de sécurité Microsoft.

Deux plans sont disponibles selon le serveur concerné et les fonctionnalités recherchées. Le plan 2 correspond à l’ancien plan appelé Defender for Server :

La liste des avantages de Defender for Server se trouve ici.

L’activation de Defender for Server est facile, cliquez sur un des serveurs Azure Arc, puis rendez-vous dans la section Sécurité et enfin cliquez comme ceci :

Cliquez sur la souscription hébergeant vos ressources Azure Arc :

Activez le plan destiné à Defender for Servers :

Que le serveur soit sous Linux ou Windows, l’installation d’agent est réalisé de la même manière que pour des ressources Azure :

Azure Policy Guest configuration

Comme pour des ressources Azure, Azure Policy prend en charge l’audit de l’état de votre serveur compatible avec Azure Arc grâce aux politiques de configuration des invités. Les définitions de configuration d’invité d’Azure Policy peuvent auditer ou appliquer des paramètres à l’intérieur de la machine.

Il est à noter que ce service est payant pour des ressources non-Azure :

Contrairement à Defender for Cloud où l’activation est possible depuis une souscription Azure pour l’ensemble des ressources de même type, l’activation de cette fonctionnalité doit s’effectuer sur chacun des serveurs Azure Arc :

Cochez les cases voulues :

Les nouvelles polices sont bien visibles, mais en attente de lancement :

Retournez sur l’Hyper-V pour arrêter la machine virtuelle :

Une fois arrêté, redémarrer là :

Attendez un bon quart d’heure pour espérer voir des résultats sur les polices :

Surveillance

Comme pour les ressources Azure, la sauvegarde des logs est aussi disponible. L’activation de Defender for Server Plan 2 automatise sa mise en place et intègre dans le coût 500 Mo journalier pour les logs :

Insights

L’activation de capacités de surveillance supplémentaires permet d’obtenir des informations sur les performances et les dépendances de vos ressources de l’Arc.

Cliquez-ici pour configurer les paramétrages :

Activez le service :

Un Log Analytics Workspace est nécessaire. Choisissez-en un existant ou créez-en un nouveau :

En entendant le déploiement complet, consultez la liste des extensions pour voir apparaître AMA :

AzureMonitorWindowsAgent pour Windows
AzureMonitorLinuxAgent pour Linux

Il faut bien attendre un peu pour avoir de la donnée et en tirer des analyses intéressantes.

Il restera encore beaucoup à dire sur d’autres fonctionnalités, telles que Machine Configuration ou Centre de gestion des mises à jour, …

Conclusion

Microsoft démontre sous ouverture à d’autres environnements via Azure Arc. La centralisation des opérations sur le portail Azure sans tenir compte de la provenance de la ressource IT est une belle avancée car elle facilite la gestion d’infrastructure. Cela permet en plus de pouvoir toujours profiter des derniers services ajoutés par Microsoft.