共用方式為


教學課程:使用 Azure PowerShell 連線到虛擬機擴展集執行個體

虛擬機器擴展集可讓您部署及管理一組虛擬機器。 在虛擬機器擴展集生命週期期間,您可能需要執行一或多個管理工作。 在本教學課程中,您將了解如何:

  • 列出連線資訊
  • 使用遠端桌面連線來連線到個別執行個體

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

Azure Cloud Shell

Azure Cloud Shell 是裝載於 Azure 中的互動式殼層環境,可在瀏覽器中使用。 您可以使用 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. 選取 Enter 鍵執行程式碼或命令。

列出擴展集中的執行個體

如果您尚未建立擴展集,請參閱教學課程:使用 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 資訊

使用 Get-AzNetworkInterface 和 NIC 名稱,取得 NIC 的私人 IP 位址、後端位址集區名稱和負載平衡器名稱。

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": []
                                }
                              ]

取得後端集區詳細資料

使用 Get-AzLoadBalancerBackendAddressInboundNatRulePortMapping 和後端集區名稱、負載平衡器名稱和私人 IP 位址,取得與您要連線之執行個體私人 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                 : 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 連線到個別執行個體。

  • 列出並檢視擴展集中的執行個體
  • 收集擴展集中個別執行個體的網路資訊
  • 連線到擴展集中的個別 VM 執行個體