教程:使用 Azure PowerShell 连接到虚拟机规模集实例
利用虚拟机规模集,可以部署和管理一组虚拟机。 在虚拟机规模集的整个生命周期内,可能需要运行一个或多个管理任务。 本教程介绍如何执行下列操作:
- 列出连接信息
- 使用远程桌面连接连接到单个实例
如果没有 Azure 订阅,可在开始前创建一个试用帐户。
列出规模集中的实例
如果尚未创建规模集,请参阅教程:使用 Azure PowerShell 创建和管理虚拟机规模集。
使用 Get-AzVM 列出虚拟机规模集中的所有实例。
Get-AzVM -ResourceGroup myResourceGroup
ResourceGroupName Name Location VmSize OsType NIC
----------------- ---- -------- ------ ------ ---
myResourceGroup myScaleSet_Instance1 chinanorth2 Standard_DS1_v2 Windows myScaleSet-instance1-nic
myResourceGroup myScaleSet_Instance2 chinanorth2 Standard_DS1_v2 Windows myScaleSet-instance2-nic
获取 NIC 信息
使用 NIC 名称,通过 Get-AzNetworkInterface 命令获取 NIC 的专用 IP 地址、后端地址池名称和负载均衡器名称。
Get-AzNetworkInterface -Name myScaleSet-instance1-nic
Name : myScaleSet-instance1-nic
ResourceGroupName : myResourceGroup
Location : chinanorth2
Id : /subscriptions//resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myScaleSet-instance1-nic
ProvisioningState : Succeeded
Tags :
VirtualMachine : {
"Id": "/subscriptions//resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_Instance1"
}
IpConfigurations : [
{
"Name": "myScaleSet",
"/subscriptions//resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myScaleSet-instance1-nic/ipConfigurations/myScaleSet",
"PrivateIpAddress": "192.168.1.5",
"PrivateIpAllocationMethod": "Dynamic",
"Subnet": {
"Id": "/subscriptions//resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myScaleSet/subnets/myScaleSet",
"IpAllocations": []
},
"ProvisioningState": "Succeeded",
"PrivateIpAddressVersion": "IPv4",
"LoadBalancerBackendAddressPools": [
{
"Id":
40.88.43.135"/subscriptions//resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myScaleSet/backendAddressPools/myScaleSet",
"LoadBalancerBackendAddresses": []
}
],
"LoadBalancerInboundNatRules": [],
"Primary": true,
"ApplicationGatewayBackendAddressPools": [],
"ApplicationSecurityGroups": [],
"VirtualNetworkTaps": []
}
]
获取后端池详细信息
使用后端池名称、负载均衡器名称和专用 IP 地址,通过 Get-AzLoadBalancerBackendAddressInboundNatRulePortMapping 命令获取与要连接到的实例的专用 IP 地址关联的端口。
Get-AzLoadBalancerBackendAddressInboundNatRulePortMapping `
-ResourceGroupName myResourceGroup `
-LoadBalancerName myScaleSet `
-Name myScaleSet `
-IpAddress 192.168.1.5
如果运行上述命令并发现负载均衡器没有任何入站 NAT 规则,可以使用 Add-AzLoadBalancerInboundNatRuleConfig 命令添加入站 NAT 规则。 完成添加操作后,请再次运行 Get-AzLoadBalancerBackendAddressInboundNatRulePortMapping 命令。
$slb = Get-AzLoadBalancer -Name "myScaleSet" -ResourceGroupName "MyResourceGroup"
$slb | Add-AzLoadBalancerInboundNatRuleConfig -Name "myNatRule" -FrontendIPConfiguration $slb.FrontendIpConfigurations[0] -Protocol "Tcp" -IdleTimeoutInMinutes 10 -FrontendPortRangeStart 50000 -FrontendPortRangeEnd 50099 -BackendAddressPool $slb.BackendAddressPools[0] -BackendPort 3389
$slb | Set-AzLoadBalancer
InboundNatRuleName : myNatRule
Protocol : Tcp
FrontendPort : 50001
BackendPort : 3389
获取负载均衡器的公共 IP
使用 GetAzPublicIpAddress 命令获取负载均衡器的公共 IP。
Get-AzPublicIpAddress -ResourceGroup myResourceGroup
Name : myScaleSet
ResourceGroupName : myResourceGroup
Location : chinanorth2
Id : /subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myScaleSet
ProvisioningState : Succeeded
PublicIpAllocationMethod : Static
IpAddress : 40.88.43.135
PublicIpAddressVersion : IPv4
IdleTimeoutInMinutes : 4
IpConfiguration : {
"Id": "/subscriptions//resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myScaleSet/frontendIPConfigurations/myScaleSet"
}
DnsSettings : {
"DomainNameLabel": "myscaleset-Instance1",
"Fqdn": "myscaleset-Instance1.chinanorth2.chinacloudapp.cn"
}
Zones : {}
Sku : {
"Name": "Standard",
"Tier": "Regional"
}
连接到实例
使用负载均衡器的公共 IP 地址以及映射到要连接的计算机实例的端口,通过远程桌面功能连接到你的计算机。
后续步骤
本教程介绍了如何列出规模集中的实例,以及如何通过 SSH 连接到单个实例。
- 列出和查看规模集中的实例
- 收集规模集中单个实例的网络信息
- 连接到规模集中的单个 VM 实例