Évaluer des serveurs avec Azure Arc sur une machine virtuelle Azure

Attention

Cet article fait référence à CentOS, une distribution Linux proche de l’état EOL (End Of Life). Faites le point sur votre utilisation afin de vous organiser en conséquence. Pour obtenir plus d’informations, consultez les Conseils sur la fin de vie de CentOS.

Les serveurs compatibles avec Azure Arc sont conçus pour vous aider à connecter des serveurs qui s’exécutent localement ou dans d’autres clouds à Azure. Vous ne connectez normalement pas une machine virtuelle Azure à Azure Arc, car les mêmes fonctionnalités sont disponibles en mode natif pour ces machines virtuelles. Les machines virtuelles Azure disposent déjà d’une représentation dans Azure Resource Manager, dans les extensions de machines virtuelles, dans les identités managées et dans Azure Policy. Si vous tentez d’installer des serveurs avec Azure Arc sur une machine virtuelle Azure, vous recevrez un message d’erreur indiquant que l’opération n’est pas prise en charge.

Bien que vous ne soyez pas en mesure d’installer des serveurs avec Azure Arc sur une machine virtuelle Azure pour des scénarios de production, il est possible de configurer des serveurs avec Azure Arc pour qu’ils s’exécutent sur une machine virtuelle Azure à des fins d’évaluation et de test uniquement. Cet article vous guide pas à pas pour préparer une machine virtuelle Azure afin qu’elle s’apparente à un serveur local destiné à des tests.

Remarque

Les étapes décrites dans cet article sont destinées aux machines virtuelles hébergées dans le cloud Azure. Les serveurs Azure Arc ne sont pas pris en charge sur les machines virtuelles s’exécutant sur Azure Stack Hub ou Azure Stack Edge.

Prérequis

Planifier

Pour commencer à gérer votre machine virtuelle Azure en tant que serveur avec Azure Arc, vous devez apporter les modifications suivantes à la machine virtuelle Azure avant de pouvoir y installer et configurer des serveurs avec Azure Arc.

  1. Supprimez toutes les extensions de machine virtuelle déployées sur la machine virtuelle Azure, telles que l’agent Log Analytics. Bien que les serveurs avec Azure Arc prennent en charge un grand nombre des mêmes extensions que les machines virtuelles Azure, l’agent Azure Connected Machine ne peut pas gérer les extensions de machine virtuelle déjà déployées sur la machine virtuelle.

  2. Désactivez l’agent invité Azure Windows ou Linux. L’agent invité de machine virtuelle Azure remplit un rôle similaire à Azure Connected Machine Agent. Pour éviter les conflits entre les deux, l’agent de machine virtuelle Azure doit être désactivé. Une fois désactivé, vous ne pouvez pas utiliser les extensions de machine virtuelle ou certains services Azure.

  3. Créez une règle de sécurité pour refuser l’accès à Azure Instance Metadata Service (IMDS). IMDS est une API REST que les applications peuvent appeler pour obtenir des informations sur la représentation des machines virtuelles dans Azure, y compris son ID de ressource et son emplacement. IMDS fournit également l’accès à toutes les identités managées affectées à la machine. Les serveurs compatibles avec Azure Arc fournissent leur propre implémentation d’IMDS et retournent des informations sur la représentation Azure Arc de la machine virtuelle. Pour éviter les situations où les deux points de terminaison IMDS sont disponibles et que les applications doivent choisir entre les deux, vous bloquez l’accès à IMDS des machines virtuelles Azure afin que l’implémentation IMDS du serveur compatible avec Azure Arc soit la seule disponible.

Une fois ces modifications apportées, votre machine virtuelle Azure se comporte comme n’importe quelle machine ou n’importe quel serveur en dehors d’Azure, et se trouve au point de départ nécessaire pour installer et évaluer des serveurs avec Azure Arc.

Lorsque les serveurs avec Azure Arc sont configurés sur la machine virtuelle, vous voyez deux représentations de celle-ci dans Azure. L’une est la ressource de machine virtuelle Azure, avec un type de ressource Microsoft.Compute/virtualMachines, et l’autre est une ressource Azure Arc, avec un type de ressource Microsoft.HybridCompute/machines. En raison de la prévention de la gestion du système d’exploitation invité à partir du serveur hôte physique partagé, la meilleure façon de voir les deux ressources est de considérer la ressource de machine virtuelle Azure comme le matériel virtuel de votre machine virtuelle, et vous permet de contrôler l’état de l’alimentation et d’afficher des informations sur ses configurations de référence SKU, de réseau et de stockage. De son côté, la ressource Azure Arc gère le système d’exploitation invité de cette machine virtuelle et peut être utilisée pour installer des extensions, afficher les données de conformité pour Azure Policy et effectuer toute autre tâche prise en charge par les serveurs avec Azure Arc.

Reconfigurer une machine virtuelle Azure

Remarque

Pour Windows, définissez la variable d’environnement pour substituer l’ARC sur une installation de machine virtuelle Azure.

[System.Environment]::SetEnvironmentVariable("MSFT_ARC_TEST",'true', [System.EnvironmentVariableTarget]::Machine)
  1. Supprimez toutes les extensions de machine virtuelle sur la machine virtuelle Azure.

    Dans le portail Azure, accédez à votre ressource de machine virtuelle Azure puis, dans le volet gauche, sélectionnez Extensions. Si des extensions sont installées sur la machine virtuelle, sélectionnez chaque extension individuellement, puis Désinstaller. Attendez la fin de la désinstallation de toutes les extensions avant de passer à l’étape 2.

  2. Désactivez l’agent invité de machine virtuelle Azure.

    Pour désactiver l’agent invité de machine virtuelle Azure, connectez votre machine virtuelle en utilisant Connexion Bureau à distance (Windows) ou SSH (Linux), puis exécutez les commandes suivantes pour désactiver l’agent invité.

    Pour Windows, exécutez les commandes PowerShell suivantes :

    Set-Service WindowsAzureGuestAgent -StartupType Disabled -Verbose
    Stop-Service WindowsAzureGuestAgent -Force -Verbose
    

    Pour Linux, exécutez les commandes ci-dessous :

    sudo systemctl stop walinuxagent
    sudo systemctl disable walinuxagent
    
  3. Bloquer l’accès au point de terminaison Azure IMDS.

    Tout en étant toujours connecté au serveur, exécutez les commandes suivantes pour bloquer l’accès au point de terminaison Azure IMDS. Pour Windows, exécutez la commande PowerShell suivante :

    New-NetFirewallRule -Name BlockAzureIMDS -DisplayName "Block access to Azure IMDS" -Enabled True -Profile Any -Direction Outbound -Action Block -RemoteAddress 169.254.169.254
    

    Pour Linux, consultez la documentation de votre distribution pour la meilleure façon de bloquer l’accès sortant à 169.254.169.254/32 sur le port TCP 80. Normalement, vous bloquez l’accès sortant à l’aide du pare-feu intégré, mais vous pouvez également le bloquer temporairement avec iptables ou nftables.

    Si votre machine virtuelle Azure exécute Ubuntu, procédez comme suit pour configurer Uncomplicated Firewall (UFW) :

    sudo ufw --force enable
    sudo ufw deny out from any to 169.254.169.254
    sudo ufw default allow incoming
    

    Si votre machine virtuelle Azure fonctionne sous CentOS, Red Hat ou SUSE Linux Enterprise Server (SLES), procédez comme suit pour configurer firewalld :

    sudo firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -d 169.254.169.254 -j REJECT
    sudo firewall-cmd --reload
    

    Pour les autres distributions, consultez la documentation de votre pare-feu ou configurez une règle iptables générique avec la commande suivante :

    sudo iptables -I OUTPUT 1 -d 169.254.169.254 -j REJECT
    

    Remarque

    Cette configuration iptables doit être définie après chaque redémarrage, sauf si une solution iptables persistante est utilisée.

  4. Installez et configurez l’agent Azure Connected Machine.

    La machine virtuelle est maintenant prête pour que vous puissiez évaluer les serveurs avec Azure Arc. Pour installer et configurer l’agent Azure Connected Machine, consultez Connecter des machines hybrides à l’aide du Portail Azure et suivez les étapes pour générer un script d’installation et effectuer l’installation à l’aide de la méthode avec script.

    Remarque

    Si la connectivité sortante à Internet est restreinte pour votre machine virtuelle Azure, vous pouvez télécharger le package de l’agent manuellement. Copiez le package de l’agent sur la machine virtuelle Azure, puis modifiez le script d’installation des serveurs avec Azure Arc pour référencer le dossier source.

Si vous avez manqué l’une des étapes, le script d’installation détecte qu’il s’exécute sur une machine virtuelle Azure et se conclut sur une erreur. Vérifiez que vous avez terminé les étapes 1-3, puis réexécutez le script.

Vérifier la connexion avec Azure Arc

Après avoir installé et configuré l’agent de manière à inscrire les serveurs compatibles avec Azure Arc, accédez au Portail Azure pour vérifier que le serveur a déjà été correctement connecté. Affichez vos machines dans le portail Azure.

Connexion au serveur réussie

Étapes suivantes