教學課程:使用 Azure CLI 連線到虛擬機擴展集實例
虛擬機擴展集可讓您部署和管理一組虛擬機。 在虛擬機規模集的生命週期過程中,您可能需要執行一項或多項管理任務。 在本教學課程中,您將瞭解如何:
- 列出連接資訊
- 使用 SSH 連線到個別實例
如果您沒有 Azure 訂用帳戶,請在開始之前建立 Azure 免費帳戶。
先決條件
在 Azure Cloud Shell中使用 Bash 環境。 如需詳細資訊,請參閱 Azure Cloud Shell 中的 Bash 快速入門。
如果您想要在本機執行 CLI 參考命令, Azure CLI 安裝。 如果您正在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱 如何在 Docker 容器中執行 Azure CLI。
如果您使用本機安裝,請使用 az login 命令來登入 Azure CLI。 若要完成驗證程式,請遵循終端機中顯示的步驟。 如需其他登入選項,請參閱 使用 Azure CLI 登入。
出現提示時,請先安裝 Azure CLI 擴充功能。 如需擴充功能的詳細資訊,請參閱 搭配 Azure CLI 使用擴充功能。
執行 az version,查看已安裝的版本和相依庫。 若要升級至最新版本,請執行 az upgrade 。
本文需要 Azure CLI 2.0.29 版或更新版本。 如果使用 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
取得 NIC 資訊
使用 az vm nic list 和個別 VM 實例的名稱來尋找 NIC 名稱。
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"
}
]
使用 VM 名稱和 NIC 名稱,取得 NIC 的私人 IP 位址、使用 az vm nic show的輸入 NAT 規則名稱和負載平衡器名稱。
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"
},
}
取得後端集區詳細數據
使用後端集區名稱和負載平衡器名稱,取得您想要與 az network lb list-mapping 連線之實例的私人 IP 位址埠。
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取得負載平衡器的公用 IP。
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"
}
]
連接到您的實例
使用負載平衡器的IP和您要連線的機器的埠,透過SSH連接到該機器。
ssh azureuser@20.172.211.239 -p 50000
後續步驟
在本教學課程中,您已瞭解如何列出擴展集中的實例,並透過SSH連線到個別實例。
- 列出和檢視擴展集中的實例
- 收集規模集中各個實例的網路資訊
- 連接到規模設定中的個別虛擬機實例