Partager via


Tutoriel : Se connecter aux instances d'un groupe de machines virtuelles à l'aide de l'interface de ligne de commande Azure (CLI)

Un ensemble d'échelle de machines virtuelles vous permet de déployer et de gérer un ensemble de machines virtuelles. Tout au long du cycle de vie d’un groupe de machines virtuelles identiques, vous devrez peut-être exécuter une ou plusieurs tâches de gestion. Dans ce tutoriel, vous allez apprendre à :

  • Répertorier les informations de connexion
  • Se connecter à des instances individuelles à l’aide de SSH

Si vous n’avez pas d’abonnement Azure , créez un compte gratuit Azure avant de commencer.

Conditions préalables

  • Utilisez l’environnement Bash dans azure Cloud Shell. Pour plus d’informations, consultez démarrage rapide de Bash dans Azure Cloud Shell.

  • Si vous souhaitez exécuter des commandes de référence CLI localement, installez l’interface de ligne de commande Azure. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Comment exécuter Azure CLI dans un conteneur Docker.

    • Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour terminer le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour d'autres options de connexion, consultez Connectez-vous avec Azure CLI.

    • Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.

    • Exécutez version az pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.

Cet article nécessite la version 2.0.29 ou ultérieure d’Azure CLI. Si vous utilisez Azure Cloud Shell, la dernière version est déjà installée.

Répertorier des instances dans un groupe identique

Si vous n’avez pas encore créé d’ensemble de machines virtuelles, consultez Tutoriel : Créer et gérer un ensemble de machines virtuelles avec l'interface de ligne de commande d'Azure

Répertoriez toutes les instances de votre ensemble de mise à l'échelle de machines virtuelles.

az vmss list-instances \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --output table
Location    Name                 ResourceGroup
----------  -------------------  ---------------
eastus      myScaleSet_0e7d4d21  myResourceGroup
eastus      myScaleSet_39379fc3  myResourceGroup

Obtenir des informations sur la carte d'interface réseau (NIC)

Utilisez az vm nic list et le nom de l'instance spécifique de machine virtuelle pour trouver le nom de la carte réseau.

az vm nic list \
  --resource-group myResourceGroup
  --vm-name myScaleSet_0e7d4d21
[
  {
    "deleteOption": "Delete",
    "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/mysca2215Nic-828c525a",
    "primary": true,
    "resourceGroup": "myResourceGroup"
  }
]

À l’aide du nom de la machine virtuelle et du nom de la carte réseau, récupérez l’adresse IP privée de la carte réseau, ainsi que le nom de la règle NAT entrante et le nom de l’équilibreur de charge à l’aide de az vm nic show.

az vm nic show --resource-group myResourceGroup --vm-name myScaleSet_0e7d4d21 --nic mysca2215Nic-828c525a
{
  "enableAcceleratedNetworking": false,
  "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/mysca2215Nic-828c525a",
  "ipConfigurations": [
    {
      "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/mysca2215Nic-828c525a/ipConfigurations/mysca2215IPConfig",
      "loadBalancerBackendAddressPools": [
        {
          "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myScaleSetLB/backendAddressPools/myScaleSetLBBEPool",
        }
      ],
      "name": "mysca2215IPConfig",
      "primary": true,
      "privateIpAddress": "10.0.0.5",
      "privateIpAddressVersion": "IPv4",
      "privateIpAllocationMethod": "Dynamic",
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroup",
      "subnet": {
        "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myScaleSetVNET/subnets/myScaleSetSubnet",
        "resourceGroup": "myResourceGroup",
      },
      "type": "Microsoft.Network/networkInterfaces/ipConfigurations",
    }
  ],
  "location": "eastus",
  "name": "mysca2215Nic-828c525a",
  "networkSecurityGroup": {
    "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myScaleSetNSG",
    "resourceGroup": "myResourceGroup",
  },
  "nicType": "Standard",
  "primary": true,
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "tapConfigurations": [],
  "type": "Microsoft.Network/networkInterfaces",
  "virtualMachine": {
    "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_0e7d4d21",
    "resourceGroup": "myResourceGroup"
  },
}

Obtenir les détails du pool principal

À l’aide du nom du pool principal et du nom de l’équilibreur de charge, obtenez le port de l’adresse IP privée de l’instance à laquelle vous souhaitez vous connecter avec az network lb list-mapping.

az network lb list-mapping --backend-pool-name myScaleSetLBBEPool --resource-group myResourceGroup --name myScaleSetLB --request ip=10.0.0.5
{
  "inboundNatRulePortMappings": [
    {
      "backendPort": 22,
      "frontendPort": 50001,
      "inboundNatRuleName": "NatRule",
      "protocol": "Tcp"
    }
  ]
}

Obtenir l’adresse IP publique de l’équilibreur de charge

Obtenez l’adresse IP publique de l’équilibreur de charge à l’aide de az network public-ip list.

az network public-ip list --resource-group myResourceGroup
[
  {
    "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myScaleSetLBPublicIP",
    "idleTimeoutInMinutes": 4,
    "ipAddress": "20.172.211.239",
    "ipConfiguration": {
      "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myScaleSetLB/frontendIPConfigurations/loadBalancerFrontEnd",
      "resourceGroup": "myResourceGroup"
    },
    "ipTags": [],
    "location": "eastus",
    "name": "myScaleSetLBPublicIP",
    "provisioningState": "Succeeded",
    "publicIPAddressVersion": "IPv4",
    "publicIPAllocationMethod": "Static",
    "resourceGroup": "myResourceGroup",
    "sku": {
      "name": "Standard",
      "tier": "Regional"
    },
    "tags": {},
    "type": "Microsoft.Network/publicIPAddresses"
  }
]

Se connecter à votre instance

Ssh à l’ordinateur à l’aide de l’adresse IP de l’équilibreur de charge et du port de l’ordinateur auquel vous souhaitez vous connecter.

ssh azureuser@20.172.211.239 -p 50000

Étapes suivantes

Dans ce tutoriel, vous avez appris à répertorier les instances de votre ensemble de mise à l'échelle et à vous connecter via SSH à une instance spécifique.

  • Répertorier et voir des instances dans un ensemble de mise à l'échelle
  • Collecter des informations de mise en réseau pour des instances individuelles dans un ensemble d'échelle
  • Se connecter à des instances individuelles de machine virtuelle à l'intérieur d'un jeu d'échelle