共用方式為


教學課程:使用 Azure PowerShell 連線到虛擬機擴展集實例

虛擬機擴展集可讓您部署和管理一組虛擬機。 在虛擬機規模設定的生命週期中,您可能需要執行一或多個管理作業。 在本教學課程中,您將瞭解如何:

  • 列出聯機資訊
  • 使用遠端桌面連線連接到個別實例

如果您沒有 Azure 訂用帳戶,請在開始之前建立 免費帳戶

Azure Cloud Shell

Azure 承載 Azure Cloud Shell,這是您可以透過瀏覽器使用的互動式終端環境。 您可以使用 Bash 或 PowerShell 搭配 Cloud Shell 來處理 Azure 服務。 您可以使用 Cloud Shell 預安裝命令來執行本文中的程式碼,而不需要在本機環境中安裝任何專案。

若要啟動 Azure Cloud Shell:

選擇 範例/連結
選取程式代碼或命令區塊右上角的 嘗試。 選取 [試用] 不會自動將程式代碼或命令複製到 Cloud Shell。 顯示 Azure Cloud Shell 試用功能的示例螢幕截圖。
移至 [https://shell.azure.com],或選取 [啟動 Cloud Shell] 按鈕,以在瀏覽器中開啟 Cloud Shell。 按鈕以啟動 Azure Cloud Shell。
選取 azure 入口網站 右上角選單列上的 [Cloud Shell] 按鈕, Azure 入口網站中顯示 Cloud Shell 按鈕的螢幕快照

若要使用 Azure Cloud Shell:

  1. 啟動 Cloud Shell。

  2. 選取程式代碼區塊 (或命令區塊) 上的 [複製] 按鈕,以複製程式代碼或命令。

  3. 在 Windows 和 Linux 上選取 Ctrl+Shift+V,或選取 macOS 上的 Cmd+Shift+V,將程式代碼或命令貼到 Cloud Shell 會話中。

  4. 選取 ,然後輸入 以執行程式代碼或命令。

列出規模設定中的實例

如果您尚未建立擴展集,請參閱 教學課程:使用 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 位址和要連接的機器實例的埠映射,從您的電腦進行遠端桌面連線。

Windows 電腦遠端桌面應用程式的螢幕快照。

後續步驟

在本教學課程中,您已瞭解如何列出擴展集中的實例,並透過SSH連線到個別實例。

  • 列出及查看規模設定中的實例
  • 收集規模設定中各個實例的網路資訊
  • 連線到虛擬機器擴展集內的個別虛擬機器實例