教學課程:使用 Azure PowerShell 連線到虛擬機擴展集實例
虛擬機擴展集可讓您部署和管理一組虛擬機。 在虛擬機規模設定的生命週期中,您可能需要執行一或多個管理作業。 在本教學課程中,您將瞭解如何:
- 列出聯機資訊
- 使用遠端桌面連線連接到個別實例
如果您沒有 Azure 訂用帳戶,請在開始之前建立 免費帳戶。
Azure Cloud Shell
Azure 承載 Azure Cloud Shell,這是您可以透過瀏覽器使用的互動式終端環境。 您可以使用 Bash 或 PowerShell 搭配 Cloud Shell 來處理 Azure 服務。 您可以使用 Cloud Shell 預安裝命令來執行本文中的程式碼,而不需要在本機環境中安裝任何專案。
若要啟動 Azure Cloud Shell:
選擇 | 範例/連結 |
---|---|
選取程式代碼或命令區塊右上角的 嘗試。 選取 [試用] 不會自動將程式代碼或命令複製到 Cloud Shell。 | |
移至 [https://shell.azure.com],或選取 [啟動 Cloud Shell] 按鈕,以在瀏覽器中開啟 Cloud Shell。 | |
選取 azure 入口網站 右上角選單列上的 [Cloud Shell] 按鈕,。 |
若要使用 Azure Cloud Shell:
啟動 Cloud Shell。
選取程式代碼區塊 (或命令區塊) 上的 [複製] 按鈕,以複製程式代碼或命令。
在 Windows 和 Linux 上選取 Ctrl+Shift+V,或選取 macOS 上的 Cmd+Shift+V,將程式代碼或命令貼到 Cloud Shell 會話中。
選取 ,然後輸入 以執行程式代碼或命令。
列出規模設定中的實例
如果您尚未建立擴展集,請參閱 教學課程:使用 Azure PowerShell 建立和管理虛擬機擴展集。
使用 Get-AzVM列出虛擬機擴展集中的所有實例。
Get-AzVM -ResourceGroup myResourceGroup
ResourceGroupName Name Location VmSize OsType NIC
----------------- ---- -------- ------ ------ ---
myResourceGroup myScaleSet_Instance1 eastus Standard_DS1_v2 Windows myScaleSet-instance1-nic
myResourceGroup myScaleSet_Instance2 eastus Standard_DS1_v2 Windows myScaleSet-instance2-nic
取得 NIC 資訊
使用 NIC 名稱,取得 NIC 的私人 IP 位址、後端位址池名稱和具備 Get-AzNetworkInterface的負載均衡器名稱。
Get-AzNetworkInterface -Name myScaleSet-instance1-nic
Name : myScaleSet-instance1-nic
ResourceGroupName : myResourceGroup
Location : eastus
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 位址,取得與實例私人 IP 位址相關聯的埠號,以便連接到您想要的實例。使用 Get-AzLoadBalancerBackendAddressInboundNatRulePortMapping。
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 : eastus
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.eastus.cloudapp.azure.com"
}
Zones : {}
Sku : {
"Name": "Standard",
"Tier": "Regional"
}
線上到您的實例
使用負載平衡器的公用 IP 位址和要連接的機器實例的埠映射,從您的電腦進行遠端桌面連線。
後續步驟
在本教學課程中,您已瞭解如何列出擴展集中的實例,並透過SSH連線到個別實例。
- 列出及查看規模設定中的實例
- 收集規模設定中各個實例的網路資訊
- 連線到虛擬機器擴展集內的個別虛擬機器實例