Поделиться через


Инструкция: Подключение к инстанциям масштабируемого набора виртуальных машин с помощью Azure CLI

Масштабируемый набор виртуальных машин позволяет развертывать набор виртуальных машин и управлять ими. На протяжении всего жизненного цикла масштабируемого набора виртуальных машин может потребоваться выполнить одну или несколько задач управления. В этом руководстве описано, как:

  • Список сведений о подключении
  • Подключение к отдельным экземплярам с помощью SSH

Если у вас нет аккаунта Azure, создайте бесплатную учетную запись перед началом.

Необходимые условия

Для этой статьи требуется версия 2.0.29 или более поздняя версия Azure CLI. При использовании Azure Cloud Shell последняя версия уже установлена.

Перечислите экземпляры в масштабируемом наборе

Если у вас еще нет созданного масштабируемого набора, см. руководство. Создание масштабируемого набора виртуальных машин и управление ими с помощью Azure CLI

Перечислите все экземпляры в масштабируемом наборе виртуальных машин.

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

Получение сведений о сетевой интерфейсной карте

Используйте az vm nic list и имя отдельного экземпляра виртуальной машины, чтобы найти имя сетевого адаптера.

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"
  }
]

Используя имя виртуальной машины и имя сетевого адаптера, получите частный IP-адрес сетевого адаптера, имя правила NAT для входящего трафика и имя подсистемы балансировки нагрузки с помощью 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"
  },
}

Получение сведений о серверной части пула

Используя имя пула серверов и имя балансировщика нагрузки, получите порт для частного IP-адреса экземпляра, к которому вы хотите подключиться с помощью 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"
    }
  ]
}

Получение общедоступного IP-адреса подсистемы балансировки нагрузки

Получите общедоступный IP-адрес подсистемы балансировки нагрузки с помощью 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"
  }
]

Подключитесь к вашему экземпляру

Подключитесь через SSH к машине, используя IP-адрес балансировщика нагрузки и порт той машины, к которой хотите подключиться.

ssh azureuser@20.172.211.239 -p 50000

Дальнейшие действия

В этом руководстве вы узнали, как вывести список экземпляров в масштабируемом наборе и подключиться через SSH к отдельному экземпляру.

  • Перечислите и просмотрите экземпляры в масштабируемом наборе.
  • Сбор информации о сети для отдельных экземпляров в масштабируемом наборе
  • Подключение к отдельным экземплярам виртуальных машин внутри масштабируемого набора