次の方法で共有


チュートリアル: Azure PowerShell を使用して仮想マシン スケール セット インスタンスに接続する

仮想マシン スケール セットを使用すると、一連の仮想マシンをデプロイおよび管理できます。 仮想マシン スケール セットのライフサイクル全体を通して、1 つ以上の管理タスクを実行することが必要になる場合があります。 このチュートリアルでは、次の方法について説明します。

  • 接続情報を一覧表示する
  • リモート デスクトップ接続を使用して個々のインスタンスに接続する

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

Azure Cloud Shell

Azure は、ブラウザーから使用できる対話型シェル環境である Azure Cloud Shell をホストします。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 Cloud Shell にプレインストールされているコマンドを使用すると、ローカル環境に何もインストールしなくても、この記事のコードを実行できます。

Azure Cloud Shell を起動するには:

オプション 例/リンク
コードまたはコマンド ブロック 右上隅にある [試してみる] を選択します。 [試してみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にコピーされません。 Azure Cloud Shell の試用例を示すスクリーンショット。
に移動するか、Cloud Shell 起動 ボタンを選択してブラウザーで Cloud Shell を開きます。 ボタンをクリックして Azure Cloud Shell を起動します。
Azure portalの右上にあるメニュー バーにある Cloud Shell ボタンを選択します。 Azure portal の [Cloud Shell] ボタンを示すスクリーンショット

Azure Cloud Shell を使用するには:

  1. Cloud Shell を起動します。

  2. コード ブロック (またはコマンド ブロック) の [ コピー] ボタンを選択して、コードまたはコマンドをコピーします。

  3. Windows および Linux では Ctrl+Shift+V を選択し、macOS では Cmd+Shift+V を選択して、コードまたはコマンドをクラウドシェルセッションに貼り付けます。

  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 アドレスを使用して、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                 : 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 インスタンスに接続する

スケール セットの を変更する