次の方法で共有


Azure Network Watcherの拡張機能を最新バージョンに更新する

Azure Network Watcher は、Azureネットワークを監視するネットワークパフォーマンスの監視、診断、および分析サービスです。 Azure の仮想マシン(VM)でオンデマンドでネットワーク トラフィックをキャプチャし、他の高度な機能を使用するには、Network Watcher Agent 仮想マシン (VM) 拡張機能が必要です。 接続モニター、接続トラブルシュート、およびパケットキャプチャによって使用されます。

[前提条件]

  • 有効なサブスクリプションを持つ Azure アカウント。 まだアカウントをお持ちでない場合は、無料のアカウントを作成してください。
  • ネットワーク・ウォッチャー拡張機能がインストールされたAzure仮想マシン(VM)。

最新バージョン

ネットワークウォッチャー拡張機能の最新バージョンは1.4.3614.3です。

拡張機能の自動アップグレードを有効にすると、新しい拡張機能バージョンのリリースから仮想マシンとスケール セットでの自動アップグレードまでの間に最大 30 日間の遅延が発生する可能性があります。

最新バージョンを特定する

VM のオペレーティング システムに対して Network Watcher 拡張機能の最新バージョンを特定するには、az vm extension image list コマンドを使用します。

# Identify latest version of Network Watcher extension for Linux.
az vm extension image list --name 'NetworkWatcherAgentLinux' --publisher 'Microsoft.Azure.NetworkWatcher' --latest --___location 'eastus'

PowerShellスクリプトを使用して拡張機能を更新する

大規模なデプロイを行う場合、PowerShellスクリプトを使用して複数のVMを一度に更新してください。 以下のPowerShellスクリプトは、サブスクリプション内のすべてのWindows仮想マシンのNetwork Watcher拡張機能を更新します。

<# 
    .SYNOPSIS 
    This script will scan all VMs in the provided subscription and upgrade any out of date AzureNetworkWatcherExtensions  
    .DESCRIPTION 
    This script should be no-op if AzureNetworkWatcherExtensions are up to date 
    Requires Azure PowerShell 4.2 or higher to be installed (e.g. Install-Module AzureRM). 
    .EXAMPLE 
    .\UpdateVMAgentsInSub.ps1 -SubID F4BC4873-5DAB-491E-B713-1358EF4992F2 -NoUpdate 
#>
 
[CmdletBinding()] 
param( 
    [Parameter(Mandatory=$true)] 
    [string] $SubID, 
    [Parameter(Mandatory=$false)] 
    [Switch] $NoUpdate = $false, 
    [Parameter(Mandatory=$false)] 
    [string] $MinVersion = "1.4.2.1" 
)  
function NeedsUpdate($version) 
{ 
    if ([Version]$version -lt [Version]$MinVersion)
	{ 
        $lessThan = $true 
    }else{ 
        $lessThan = $false 
    } 
    return $lessThan 
}   
Write-Host "Scanning all VMs in the subscription: $($SubID)" 
Set-AzContext -SubscriptionId $SubID
$vms = Get-AzVM 
$foundVMs = $false 
Write-Host "Starting VM search, this may take a while" 
foreach ($vmName in $vms) 
{ 
    # Get Detailed VM info 
    $vm = Get-AzVM -ResourceGroupName $vmName.ResourceGroupName -Name $vmName.name -Status 
    $isitWindows = $vm.OsName -like "*Windows*"
 
    foreach ($extension in $vm.Extensions) 
    { 
        if ($extension.Name -eq "AzureNetworkWatcherExtension") 
        { 
            if (NeedsUpdate($extension.TypeHandlerVersion)) 
            { 
                $foundVMs = $true 
                if (-not ($NoUpdate)) 
                { 
                    Write-Host "Found VM that needs to be updated: subscriptions/$($SubID)/resourceGroups/$($vm.ResourceGroupName)/providers/Microsoft.Compute/virtualMachines/$($vm.Name) -> Updating " -NoNewline 
                    Remove-AzVMExtension -ResourceGroupName $vm.ResourceGroupName -VMName $vm.Name -Name "AzureNetworkWatcherExtension" -Force 
                    Write-Host "... " -NoNewline 
                    $type = if ($isitWindows) { "NetworkWatcherAgentWindows" } else { "NetworkWatcherAgentLinux" } 
                    Set-AzVMExtension -ResourceGroupName $vm.ResourceGroupName -Location $vmName.Location -VMName $vm.Name -Name "AzureNetworkWatcherExtension" -Publisher "Microsoft.Azure.NetworkWatcher" -Type $type -typeHandlerVersion $MinVersion
                    Write-Host "Done" 
                } 
                else 
                { 
                    Write-Host "Found $(if ($isitWindows) {"Windows"} else {"Linux"}) VM that needs to be updated: subscriptions/$($SubID)/resourceGroups/$($vm.ResourceGroupName)/providers/Microsoft.Compute/virtualMachines/$($vm.Name)" 
                } 
            } 
        } 
    } 
}
 
if ($foundVMs) 
{ 
    Write-Host "Finished $(if ($NoUpdate) {"searching"} else {"updating"}) out of date AzureNetworkWatcherExtension on VMs" 
} 
else 
{ 
    Write-Host "All AzureNetworkWatcherExtensions up to date" 
}

拡張機能を手動で更新する

拡張機能を更新するには、まずそのバージョンを確認する必要があります。

拡張機能のバージョンを確認してください

拡張機能のバージョンは、Azure ポータル、Azure CLI、または PowerShell を使用して確認できます。

Azure ポータルを使用する

  1. Azure ポータルで VM の 拡張機能 ウィンドウに移動します。
  2. AzureNetworkWatcher エクステンションを選択して、詳細ペインを表示します。
  3. バージョンフィールドでバージョン番号を探してください。  

Azure CLI を使用する

Azure CLI プロンプトから次のコマンドを実行します。

az vm get-instance-view --resource-group  "SampleRG" --name "Sample-VM"

出力内の"AzureNetworkWatcherExtension"を見つけ、出力内の“TypeHandlerVersion”フィールドからバージョン番号を特定します。 

拡張機能に関する情報がJSON出力に複数回表示されます。 エクステンションの完全なバージョン番号は、エクステンションブロックに表示されています。

あなたは次のようなものを見るはずです:Azure CLI スクリーンショット

PowerShellを使用する

次のコマンドをPowerShellプロンプトで実行してください。

Get-AzVM -ResourceGroupName "SampleRG" -Name "Sample-VM" -Status

出力内のAzure Network Watcher拡張機能を見つけて、出力内の「TypeHandlerVersion」フィールドからバージョン番号を識別します。  

以下のようなものが表示されるはずです:PowerShell Screenshot

拡張機能を更新してください

上記で言及された最新バージョンよりも古い場合は、次のいずれかのオプションを使用して拡張機能を更新してください。

オプション1: PowerShellを使用する

次のコマンドを実行してください:

#Linux command
Set-AzVMExtension -ResourceGroupName "myResourceGroup1" -Location "WestUS" -VMName "myVM1" -Name "AzureNetworkWatcherExtension" -Publisher "Microsoft.Azure.NetworkWatcher" -Type "NetworkWatcherAgentLinux"

#Windows command
Set-AzVMExtension -ResourceGroupName "myResourceGroup1" -Location "WestUS" -VMName "myVM1" -Name "AzureNetworkWatcherExtension" -Publisher "Microsoft.Azure.NetworkWatcher" -Type "NetworkWatcherAgentWindows" -ForceRerun "True"

もしそれがうまくいかない場合は 拡張機能を削除して再インストールし、以下の手順に従って最新バージョンをインストールしてください。

拡張機能を削除する

#Same command for Linux and Windows
Remove-AzVMExtension -ResourceGroupName "SampleRG" -VMName "Sample-VM" -Name "AzureNetworkWatcherExtension"

拡張機能をもう一度インストールする

#Linux command
Set-AzVMExtension -ResourceGroupName "SampleRG" -Location "centralus" -VMName "Sample-VM" -Name "AzureNetworkWatcherExtension" -Publisher "Microsoft.Azure.NetworkWatcher" -Type "NetworkWatcherAgentLinux" -typeHandlerVersion "1.4"

#Windows command
Set-AzVMExtension -ResourceGroupName "SampleRG" -Location "centralus" -VMName "Sample-VM" -Name "AzureNetworkWatcherExtension" -Publisher "Microsoft.Azure.NetworkWatcher" -Type "NetworkWatcherAgentWindows" -typeHandlerVersion "1.4"

オプション 2: Azure CLI を使用する

強制アップグレードを行う。

#Linux command
az vm extension set --resource-group "myResourceGroup1" --vm-name "myVM1" --name "NetworkWatcherAgentLinux" --publisher "Microsoft.Azure.NetworkWatcher" --force-update

#Windows command
az vm extension set --resource-group "myResourceGroup1" --vm-name "myVM1" --name "NetworkWatcherAgentWindows" --publisher "Microsoft.Azure.NetworkWatcher" --force-update

その方法がうまくいかない場合は、拡張機能を削除して再インストールし、最新バージョンを自動的に追加するには次の手順に従ってください。

拡張機能を削除してください

#Same for Linux and Windows
az vm extension delete --resource-group "myResourceGroup1" --vm-name "myVM1" -n "AzureNetworkWatcherExtension"

拡張機能を再インストールしてください。

#Linux command
az vm extension set --resource-group "DALANDEMO" --vm-name "Linux-01" --name "NetworkWatcherAgentLinux" --publisher "Microsoft.Azure.NetworkWatcher"

#Windows command
az vm extension set --resource-group "DALANDEMO" --vm-name "Linux-01" --name "NetworkWatcherAgentWindows" --publisher "Microsoft.Azure.NetworkWatcher"

オプション3:仮想マシンを再起動する

ネットワッチャー拡張機能で自動アップグレードが true に設定されている場合、VM を再起動し、最新の拡張機能をインストールしてください。

サポート

この記事のどの段階においてもさらに支援が必要な場合は、LinuxまたはWindows用のNetwork Watcherエクステンションのドキュメントをご覧ください。 Azureの専門家に連絡するには、MSDN AzureおよびStack Overflowフォーラムで問い合わせることもできます。 あるいは、Azure サポート インシデントを提出してください。 Azure サポート サイトにアクセスして、サポートを取得を選択します。 Azureサポートの利用に関する情報については、Microsoft Azure サポート FAQをお読みください。