接続のトラブルシューティングをAzurePowershellで実行して仮想マシンから疎通確認をしてみました。
接続のトラブルシューティングを実行する
以下のコマンドで接続のトラブルシューティングを利用して疎通確認することができます。
$srcVM = Get-AzVM -ResourceGroupName <送信元仮想マシンのリソースグループ名> `
| Where-Object -Property Name -EQ <送信元仮想マシン>
$networkWatcher = Get-AzNetworkWatcher `
| Where-Object -Property Location -EQ -Value $srcVM.Location
Test-AzNetworkWatcherConnectivity `
-NetworkWatcher $networkWatcher `
-SourceId $srcVM.Id `
-DestinationAddress <宛先アドレス or 宛先URL> `
-DestinationPort <宛先ポート>
記載例1:URLに疎通確認する(yahoo.co.jp)
インターネットの宛先として「yahoo.co.jp」のURLに疎通できるかを確認してみます。
$srcVM = Get-AzVM -ResourceGroupName Test-RG `
| Where-Object -Property Name -EQ test-vm-02
$networkWatcher = Get-AzNetworkWatcher `
| Where-Object -Property Location -EQ -Value $srcVM.Location
Test-AzNetworkWatcherConnectivity `
-NetworkWatcher $networkWatcher `
-SourceId $srcVM.Id `
-DestinationAddress yahoo.co.jp `
-DestinationPort 443
以下のような出力となり、[ConnectionStatus : Reachable] となっているので、
今回は疎通できたことが分かりました。
PS C:\> $srcVM = Get-AzVM -ResourceGroupName Test-RG `
>> | Where-Object -Property Name -EQ test-vm-02
PS C:\> $networkWatcher = Get-AzNetworkWatcher `
>> | Where-Object -Property Location -EQ -Value $srcVM.Location
PS C:\> Test-AzNetworkWatcherConnectivity `
>> -NetworkWatcher $networkWatcher `
>> -SourceId $srcVM.Id `
>> -DestinationAddress yahoo.co.jp `
>> -DestinationPort 443
ConnectionStatus : Reachable
AvgLatencyInMs : 9
MinLatencyInMs : 9
MaxLatencyInMs : 10
ProbesSent : 66
ProbesFailed : 0
Hops : [
{
"Type": "Source",
"Id": "xxxxxxxx-2b8d-433a-88e0-10b887ea05c1",
"Address": "10.1.0.6",
"ResourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/Test-RG/
providers/Microsoft.Compute/virtualMachines/test-vm-02",
"NextHopIds": [
"xxxxxxxx-4a0b-4539-b599-542b3248df6f"
],
"Issues": []
},
{
"Type": "Internet",
"Id": "xxxxxxxx-4a0b-4539-b599-542b3248df6f",
"Address": "183.79.250.123",
"NextHopIds": [],
"Issues": []
}
]
PS C:\>
記載例2:IPアドレスに疎通確認する(1.1.1.1)
先ほどとは少し異なり、インターネットの宛先として「1.1.1.1」のIPアドレスに疎通できるかを確認してみます。
$srcVM = Get-AzVM -ResourceGroupName Test-RG `
| Where-Object -Property Name -EQ test-vm-02
$networkWatcher = Get-AzNetworkWatcher `
| Where-Object -Property Location -EQ -Value $srcVM.Location
Test-AzNetworkWatcherConnectivity `
-NetworkWatcher $networkWatcher `
-SourceId $srcVM.Id `
-DestinationAddress 1.1.1.1 `
-DestinationPort 443
以下のような出力となり、こちらも[ConnectionStatus : Reachable] となっているので、
今回は疎通できたことが分かりました。
PS C:\> $srcVM = Get-AzVM -ResourceGroupName Test-RG `
>> | Where-Object -Property Name -EQ test-vm-02
PS C:\> $networkWatcher = Get-AzNetworkWatcher `
>> | Where-Object -Property Location -EQ -Value $srcVM.Location
PS C:\> Test-AzNetworkWatcherConnectivity `
>> -NetworkWatcher $networkWatcher `
>> -SourceId $srcVM.Id `
>> -DestinationAddress 1.1.1.1 `
>> -DestinationPort 443
ConnectionStatus : Reachable
AvgLatencyInMs : 2
MinLatencyInMs : 2
MaxLatencyInMs : 2
ProbesSent : 66
ProbesFailed : 0
Hops : [
{
"Type": "Source",
"Id": "xxxxxxxx-a605-4e4d-a2cc-82facb018f77",
"Address": "10.1.0.6",
"ResourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/Test-RG/
providers/Microsoft.Compute/virtualMachines/test-vm-02",
"NextHopIds": [
"xxxxxxxx-8bfe-4ea6-a3e5-ff9441746e62"
],
"Issues": []
},
{
"Type": "Internet",
"Id": "xxxxxxxx-8bfe-4ea6-a3e5-ff9441746e62",
"Address": "1.1.1.1",
"NextHopIds": [],
"Issues": []
}
]
PS C:\>
AzurePowershellではICMPで疎通確認できない
AzurePowershellではICMPを利用して疎通確認することができません。
Test-AzNetworkWatcherConnectivityのコマンドリファレンス
もしICMPを利用してコマンドで疎通確認したい場合にはAzureCLIを利用する必要があります。
AzureCLIを利用して接続のトラブルシューティングを実行する方法は以下の記事にまとめてありますので参考にしてください。
【AzureCLI】接続のトラブルシューティングで仮想マシンの疎通確認を実行する
接続のトラブルシューティングをAzureCLIで実行して仮想マシンから疎通確認をしてみました。 接続のトラブルシューティングを実行する 以下のコマンドで接続のトラブルシューティングを利用して疎通確認することができます。 az network...