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


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

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

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

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

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

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в Кратком руководстве для Bash в Azure Cloud Shell.

  • Если вы предпочитаете локально запускать справочные команды CLI, установить Azure CLI. Если вы работаете в Windows или macOS, попробуйте запустить Azure CLI в контейнере Docker. Дополнительные сведения см. в статье Запуск Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, войдите в Azure CLI с помощью команды az login. Чтобы завершить процесс проверки подлинности, выполните действия, отображаемые в терминале. Сведения о других параметрах входа см. в статье Вход с помощьюAzure CLI.

    • При появлении запроса установите расширение Azure CLI при первом использовании. Дополнительные сведения о расширениях см. в статье Использование расширений сAzure CLI.

    • Запустите az version для того чтобы найти установленную версию и зависимые библиотеки. Чтобы обновить до последней версии, выполните az upgrade.

Для этой статьи требуется версия 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 к отдельному экземпляру.

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