Инструкция: Подключение к инстанциям масштабируемого набора виртуальных машин с помощью 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-адрес подсистемы балансировки нагрузки с помощью 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 к отдельному экземпляру.
- Перечислите и просмотрите экземпляры в масштабируемом наборе.
- Сбор информации о сети для отдельных экземпляров в масштабируемом наборе
- Подключение к отдельным экземплярам виртуальных машин внутри масштабируемого набора