複数のサーバーインスタンスを持つロードバランサ、Azure 、ARMモジュールで、
Login-AzureRmAccount
Get-AzureRmPublicIpAddress | ?{ $_.ipaddress -eq "52.168.145.1" } | select name, resourcegroupname
$pip = Get-AzureRmPublicIpAddress -Name mypublicip -ResourceGroupName lb
$lbname = ($pip.IpConfiguration.Id -split '/')[8]
$lbinfo = Get-AzureRmLoadBalancer -Name $lbname -ResourceGroupName lb
$backendips = $lbinfo.BackendAddressPools.BackendIpConfigurations.id
$nics = foreach($id in $backendips){($id -split '/')[8]}
$vms = foreach($nic in $nics){$test = Get-AzureRmNetworkInterface -Name $nic -ResourceGroupName lb ; $vmname =($test.VirtualMachine.id -split '/')[-1];$vmaddress=$test.IpConfigurations.PrivateIpAddress;$results = [pscustomobject]@{'VMname'=$vmname;'PrivateAddress'=$vmaddress};$results }
$vms
ここに私の研究室でのテストです:
あなたはでこれを行うことができないそうならば、これはのように、我々は、VMに関する情報を取得するためにのPowerShellを使用することができますAzure LB – CtrlDot
@Ctrl上記のうちのどれをすることはできません。ホスト上で実行されているサーバーインスタンスIDを確認しますか?またはLBに特定のサーバーに要求を送信するように指示しますか? – flexxxit
両方。 Azureポータルを使用してバックエンドサーバーを照会することはできますが、LB自体からその情報を取得することはできません。特定のサーバーにルーティングするには、App Gatewayでその特定の機能があるかどうかを知るために(おそらく、提案したようなヘッダーを使用してください) – CtrlDot