チュートリアル: Azure PowerShell を使用して仮想マシン スケール セット インスタンスに接続する
仮想マシン スケール セットを使用すると、一連の仮想マシンをデプロイおよび管理できます。 仮想マシン スケール セットのライフサイクル全体を通して、1 つ以上の管理タスクを実行することが必要になる場合があります。 このチュートリアルでは、次の方法について説明します。
- 接続情報を一覧表示する
- リモート デスクトップ接続を使用して個々のインスタンスに接続する
Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
Azure Cloud Shell
Azure は、ブラウザーから使用できる対話型シェル環境である Azure Cloud Shell をホストします。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 Cloud Shell にプレインストールされているコマンドを使用すると、ローカル環境に何もインストールしなくても、この記事のコードを実行できます。
Azure Cloud Shell を起動するには:
オプション | 例/リンク |
---|---|
コードまたはコマンド ブロック 右上隅にある [試してみる] を選択します。 [試してみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にコピーされません。 | |
Azure portalの右上にあるメニュー バーにある Cloud Shell ボタンを選択します。 | の [Cloud Shell] ボタンを示すスクリーンショット |
Azure Cloud Shell を使用するには:
Cloud Shell を起動します。
コード ブロック (またはコマンド ブロック) の [ コピー] ボタンを選択して、コードまたはコマンドをコピーします。
Windows および Linux では Ctrl+Shift+V を選択し、macOS では Cmd+Shift+V を選択して、コードまたはコマンドをクラウドシェルセッションに貼り付けます。
「を選択し、 を入力してコードまたはコマンドを実行します。」
スケール セット内のインスタンスを一覧表示する
スケール セットがまだ作成されていない場合は、「チュートリアル: 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
$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 経由で個々のインスタンスに接続する方法について説明しました。
- スケールセット内のインスタンスを一覧および参照する
- スケール セット内の個々のインスタンスのネットワーク情報を収集する
- スケール セット内の個々の VM インスタンスに接続する
スケール セットの を変更する