Créer une machine virtuelle Windows ou Linux avec les performances réseau accélérées à l’aide d’Azure CLI

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 et organisez-vous en conséquence. Pour plus d’informations, consultez les conseils d’aide relatifs à la fin de vie de CentOS.

Cet article explique comment créer une machine virtuelle Linux ou Windows avec les performances réseau accélérées (AccelNet) activées à l’aide de l’interface de ligne de commande Azure CLI. Il explique également comment activer et gérer les performances réseau accélérées sur des machines virtuelles existantes.

Vous pouvez aussi créer une machine virtuelle avec les performances réseau accélérées activées à l’aide du portail Azure. Pour plus d’informations sur l’utilisation du portail Azure pour gérer les performances réseau accélérées sur des machines virtuelles, consultez la section Gérer les performances réseau accélérées dans le portail.

Pour utiliser Azure PowerShell pour créer une machine virtuelle Windows dont les performances réseau accélérées sont activées, consultez l’article Créer une machine virtuelle Linux avec les performances réseau accélérées à l’aide d’Azure PowerShell.

Prérequis

Créer une machine virtuelle avec les performances réseau accélérées

Dans les exemples suivants, vous pouvez remplacer les exemples de paramètres tels que <myResourceGroup>, <myNic>et <myVm> par vos propres valeurs.

Créez un réseau virtuel

  1. Utilisez la commande az group create pour créer un groupe de ressources destiné à contenir les ressources. Veillez à sélectionner une région Windows ou Linux prise en charge mentionnée dans l’article sur les performances réseau accélérées Windows et Linux.

    az group create --name <myResourceGroup> --location <myAzureRegion>
    
  2. Utilisez la commande az network vnet create pour créer un réseau virtuel avec un sous-réseau au sein du groupe de ressources :

    az network vnet create \
      --resource-group <myResourceGroup> \
      --name <myVnet> \
      --address-prefix 192.168.0.0/16 \
      --subnet-name <mySubnet> \
      --subnet-prefix 192.168.1.0/24
    

Créer un groupe de sécurité réseau

  1. Utilisez la commande az network nsg create pour créer un groupe de sécurité réseau (NSG).

    az network nsg create \
      --resource-group <myResourceGroup> \
      --name <myNsg>
    
  2. Le groupe de sécurité réseau contient plusieurs règles par défaut, dont l’une désactive tous les accès entrants à partir d’Internet. Utilisez la commande az network nsg rule create pour ouvrir un port afin d’autoriser l’accès RDP (Remote Desktop Protocol) ou SSH (Secure Shell) à la machine virtuelle.

    az network nsg rule create \
      --resource-group <myResourceGroup> \
      --nsg-name <myNsg> \
      --name Allow-RDP-Internet \
      --access Allow \
      --protocol Tcp \
      --direction Inbound \
      --priority 100 \
      --source-address-prefix Internet \
      --source-port-range "*" \
      --destination-address-prefix "*" \
      --destination-port-range 3389
    

Créer une interface réseau avec mise en réseau accélérée

  1. Utiliser la commande az network public-ip create pour créer une adresse IP publique. La machine virtuelle n’a pas besoin d’une adresse IP publique si vous n’y accédez pas à partir d’Internet. Toutefois, vous avez besoin de l’adresse IP publique pour effectuer les étapes de cet article.

    az network public-ip create \
      --name <myPublicIp> \
      --resource-group <myResourceGroup>
    
  2. Utilisez la commande az network nic create pour créer une interface réseau (NIC) dont les performances réseau accélérées sont activées. L’exemple suivant crée une interface réseau dans le sous-réseau du réseau virtuel et associe le groupe de sécurité réseau à la carte réseau.

    az network nic create \
     --resource-group <myResourceGroup> \
      --name <myNic> \
      --vnet-name <myVnet> \
      --subnet <mySubnet> \
      --accelerated-networking true \
      --public-ip-address <myPublicIp> \
      --network-security-group <myNsg>
    

Créer une machine virtuelle et attacher la carte réseau

Utilisez la commande az vm create pour créer la machine virtuelle, puis utilisez l’option --nics pour attacher l’interface réseau que vous avez créée. Veillez à sélectionner une taille et une distribution de machine virtuelle mentionnées dans l’article sur les performances réseau accélérées Windows et Linux. Pour obtenir la liste de l’ensemble des tailles et caractéristiques des machines virtuelles, consultez l’article Tailles des machines virtuelles dans Azure.

L’exemple suivant crée une machine virtuelle Windows Server 2019 Datacenter avec une taille qui prend en charge les performances réseau accélérées, Standard_DS4_v2.

az vm create \
  --resource-group <myResourceGroup> \
  --name <myVm> \
  --image Win2019Datacenter \
  --size Standard_DS4_v2 \
  --admin-username <myAdminUser> \
  --admin-password <myAdminPassword> \
  --nics <myNic>

Une fois la machine virtuelle créée, vous obtenez une sortie similaire à l’exemple suivant. Pour une machine Linux, notez l’élément publicIpAddress, que vous entrez pour accéder à la machine virtuelle à l’étape suivante.

{
  "fqdns": "",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm",
  "location": "centralus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "192.168.0.4",
  "publicIpAddress": "40.68.254.142",
  "resourceGroup": "myResourceGroup"
}

Confirmer l’activation de la mise en réseau accélérée

Une fois la machine virtuelle créée dans Azure, connectez-vous à cette dernière et vérifiez que le contrôleur Ethernet est installé dans Windows.

  1. Dans le portail Azure, recherchez et sélectionnez machines virtuelles.

  2. Sur la page Machines virtuelles, sélectionnez votre nouvelle machine virtuelle.

  3. Sur la page Vue d’ensemble de la machine virtuelle, sélectionnez Connecter.

  4. Dans l’écran Connecter, sélectionnez RDP natif.

  5. Dans l’écran RDP natif, sélectionnez Télécharger le fichier RDP.

  6. Ouvrez le fichier RDP téléchargé, puis connectez-vous avec les informations d’identification que vous avez entrées lors de la création de la machine virtuelle.

  7. Sur la machine virtuelle distante, cliquez avec le bouton droit sur Démarrer, puis sélectionnez Gestionnaire de périphériques.

  8. Dans la fenêtre Gestionnaire d'appareils, développez le nœud Cartes réseau.

  9. Vérifiez que la mention Mellanox ConnectX-4 Lx Virtual Ethernet Adapter (Carte Ethernet virtuelle Mellanox ConnectX-4 Lx) s’affiche comme dans l’image suivante :

    Carte Ethernet Mellanox ConnectX-3 fonction virtuelle, nouvelle carte réseau pour la mise en réseau accélérée, Gestionnaire d'appareils

    La présence de la carte confirme que Performances réseau accélérées est activé pour votre machine virtuelle.

Notes

Si la carte Mellanox ne parvient pas à démarrer, ouvrez une invite de commandes Administrateur sur la machine virtuelle distante, puis entrez la commande suivante :

netsh int tcp set global rss = enabled

Gérer la liaison dynamique et la révocation de fonction virtuelle

La liaison à la carte réseau synthétique exposée à la machine virtuelle est une exigence obligatoire pour toutes les applications tirant parti des performances réseau accélérées. Si une application s’exécute directement via la carte réseau de fonction virtuelle, elle ne reçoit pas tous les paquets destinés à la machine virtuelle, car certains paquets s’affichent via l’interface synthétique.

Vous devez exécuter une application via la carte réseau synthétique pour garantir que l’application reçoit tous les paquets qui lui sont destinés. La liaison à la carte réseau synthétique garantit également que l’application continue à s’exécuter même si la fonction virtuelle est révoquée pendant la maintenance de l’hôte.

Pour plus d’informations sur les exigences de liaison d’application, consultez l’article Fonctionnement des performances réseau accélérées dans les machines virtuelles Linux et FreeBSD.

Pour vous assurer que votre image ou vos applications personnalisées prennent correctement en charge la liaison dynamique et la révocation des fonctions virtuelles, les fonctionnalités peuvent être testées sur n’importe quel serveur Windows Hyper-V. Utilisez un serveur Windows Server local exécutant Hyper-V dans la configuration suivante :

  • Vérifiez que vous disposez d’une carte réseau physique qui prend en charge SR-IOV.
  • Un commutateur virtuel externe est créé au-dessus de cet adaptateur SR-IOV avec l’option « Activer la virtualisation E/S à racine unique (SR-IOV) » cochée.
  • Une machine virtuelle exécutant votre image ou votre application de système d’exploitation est créée/déployée.
  • Les cartes réseau pour cette machine virtuelle, sous Accélération matérielle, ont l’option « Activer SR-IOV » sélectionnée.

Après avoir vérifié que votre machine virtuelle et votre application tirent parti d’une carte réseau à l’aide de SR-IOV, vous pouvez modifier les exemples de commandes suivants pour désactiver/activer SR-IOV afin de révoquer et d’ajouter la fonction virtuelle qui simulera ce qui se passe pendant la maintenance de l’hôte Azure :

# Get the virtual network adapter to test
$vmNic = Get-VMNetworkAdapter -VMName "myvm" | where {$_.MacAddress -eq "001122334455"}

# Enable SR-IOV on a virtual network adapter
Set-VMNetworkAdapter $vmNic -IovWeight 100 -IovQueuePairsRequested 1

# Disable SR-IOV on a virtual network adapter
Set-VMNetworkAdapter $vmNic -IovWeight 0

Gérer les performances réseau accélérées sur des machines virtuelles existantes

Il est possible d’activer les performances réseau accélérées sur une machine virtuelle existante. La machine virtuelle doit répondre aux exigences suivantes pour prendre en charge les performances réseau accélérées :

  • Une taille prise en charge pour les Performances réseau accélérées.

  • Une version de l’image et du noyau de la Place de marché Azure prise en charge pour Linux.

  • Arrêté ou libéré avant l’activation des performances réseau accélérées sur une carte réseau. Cette exigence s’applique à une machine virtuelle individuelle ou aux machines virtuelles d’un groupe à haute disponibilité ou dans Azure Virtual Machine Scale Sets.

Activer les performances réseau accélérées sur une machine virtuelle individuelle ou des machines virtuelles dans des groupes à haute disponibilité

  1. Commencez par arrêter et libérer la machine virtuelle individuelle ou toutes les machines virtuelles du groupe à haute disponibilité.

    az vm deallocate \
      --resource-group <myResourceGroup> \
      --name <myVm>
    

    Si vous avez créé la machine virtuelle individuellement, sans groupe à haute disponibilité, vous ne devez arrêter ou libérer que cette machine pour activer les performances réseau accélérées. Si vous avez créé votre machine virtuelle avec un groupe à haute disponibilité, vous devez arrêter ou libérer toutes les machines virtuelles du groupe pour pouvoir activer les performances réseau accélérées sur une carte réseau.

  2. Après avoir arrêté la machine virtuelle, activez les performances réseau accélérées sur la carte réseau de la machine virtuelle.

    az network nic update \
      --name <myNic> \
      --resource-group <myResourceGroup> \
      --accelerated-networking true
    
  3. Redémarrez la machine virtuelle ou toutes les machines virtuelles du groupe à haute disponibilité, puis vérifiez que les performances réseau accélérées sont bien activées.

    az vm start --resource-group <myResourceGroup> \
      --name <myVm>
    

Activer les performances réseau accélérées dans Virtual Machine Scale Sets

Azure Virtual Machine Scale Sets est légèrement différent, mais suit le même flux de travail.

  1. Tout d’abord, arrêtez les machines virtuelles :

    az vmss deallocate \
      --name <myVmss> \
      --resource-group <myResourceGroup>
    
  2. Une fois que les machines virtuelles sont arrêtées, mettez à jour la propriété Performances réseau accélérées sur l’interface réseau.

    az vmss update --name <myVmss> \
      --resource-group <myResourceGroup> \
      --set virtualMachineProfile.networkProfile.networkInterfaceConfigurations[0].enableAcceleratedNetworking=true
    
  3. Virtual Machine Scale Sets a une stratégie de mise à niveau qui applique des mises à jour à l’aide de paramètres automatiques, propagés ou manuels. Les instructions suivantes définissent la stratégie en mode automatique afin que Virtual Machine Scale Sets récupère les modifications immédiatement après le redémarrage.

    az vmss update \
      --name <myVmss> \
      --resource-group <myResourceGroup> \
      --set upgradePolicy.mode="automatic"
    
  4. Enfin, redémarrez Virtual Machine Scale Sets.

    az vmss start \
      --name <myVmss> \
      --resource-group <myResourceGroup>
    

Une fois le redémarrage et les mises à niveau terminés, la fonction virtuelle apparaît dans les machines virtuelles qui utilisent un système d’exploitation et une taille de machine virtuelle pris en charge.

Redimensionner des machines virtuelles existantes avec les performances réseau accélérées

Vous pouvez redimensionner les machines virtuelles dont les performances réseau accélérées sont activées uniquement en fonction de tailles qui prennent également en charge les performances réseau accélérées. Vous ne pouvez pas redimensionner une machine virtuelle avec les performances réseau accélérées en une instance de machine virtuelle qui ne prend pas en charge les performances réseau accélérées à l’aide de l’opération de redimensionnement. Utilisez plutôt la procédure suivante pour redimensionner ces machines virtuelles :

  1. Arrêtez et libérez la machine virtuelle ou toutes les machines virtuelles du groupe à haute disponibilité ou dans Virtual Machine Scale Sets.

  2. Désactivez les performances réseau accélérées sur la carte réseau de la machine virtuelle ou sur toutes les machines virtuelles du groupe à haute disponibilité ou dans Virtual Machine Scale Sets.

  3. Attribuez aux machines virtuelles une nouvelle taille qui ne prend pas en charge les performances réseau accélérées, puis redémarrez-les.

Gérer les performances réseau accélérées dans le portail

Quand vous créez une machine virtuelle dans le portail Azure, vous pouvez activer la case à cocher Activer les performances réseau accélérées sous l’onglet Mise en réseau de l’écran Créer une machine virtuelle.

Si la machine virtuelle utilise un système d’exploitation pris en charge et une taille de machine virtuelle prise en charge pour les performances réseau accélérées, la case à cocher Activer les performances réseau accélérées sous l’onglet Mise en réseau de l’écran Créer une machine virtuelle est automatiquement activée. Si les performances réseau accélérées ne sont pas prises en charge, la case à cocher n’est pas activée, et un message en explique la raison.

Notes

  • Vous pouvez activer les performances réseau accélérées lors de la création d’une machine virtuelle du portail uniquement pour les systèmes d’exploitation pris en charge de la Place de marché Azure. Pour créer et activer les performances réseau accélérées pour une machine virtuelle avec une image de système d’exploitation personnalisée, vous devez utiliser Azure CLI ou PowerShell.

  • Le paramètre Performances réseau accélérées disponible dans le portail reflète l’état sélectionné par l’utilisateur. Les performances réseau accélérées permettent de choisir l’option Désactivé dans le portail, même si la taille de la machine virtuelle nécessite les performances réseau accélérées. Les tailles de machine virtuelle qui nécessitent les performances réseau accélérées activent ce paramètre au moment de l’exécution, quel que soit le paramètre utilisateur défini dans le portail.

Pour activer ou désactiver les performances réseau accélérées pour une machine virtuelle existante à l’aide du portail Azure :

  1. Dans le portail Azure, sur la page de la machine virtuelle, sélectionnez Mise en réseau dans le menu de gauche.

  2. Sur la page Mise en réseau, sélectionnez Interface réseau.

  3. En haut de la page Vue d’ensemble de la carte réseau, sélectionnez Modifier les performances réseau accélérées.

  4. Sélectionnez l’option Automatique, Activé ou Désactivé, puis sélectionnez Enregistrer.

Pour vérifier si les performances réseau accélérées sont activées pour une machine virtuelle existante :

  1. Sur la page de la machine virtuelle dans le portail, sélectionnez Mise en réseau dans le menu de gauche.

  2. Sur la page Mise en réseau, sélectionnez Interface réseau.

  3. Sur la page Vue d’ensemble de l’interface réseau, sous Informations de base, notez si le paramètre Performances réseau accélérées est défini sur l’option Activé ou Désactivé.

Étapes suivantes