Azure IoT Edge for Linux on Windows の仮想スイッチの作成
適用対象: IoT Edge 1.5 IoT Edge 1.4
重要
サポートされているリリースは、IoT Edge 1.5 LTS と IoT Edge 1.4 LTS です。 IoT Edge 1.4 LTS は、2024 年 11 月 12 日にサポートが終了します。 以前のリリースの場合は、「IoT Edge を更新する」を参照してください。
Azure IoT Edge for Linux on Windows では、ホスト コンピューター上の仮想スイッチを使用して仮想マシンと通信します。 Windows のデスクトップ バージョンには、使用できる既定のスイッチが付属していますが、Windows Server には "ありません"。 IoT Edge for Linux on Windows を Windows Server デバイスにデプロイするには、まず仮想スイッチを作成する必要があります。 また、必要に応じて、このガイドを利用してカスタム仮想スイッチを作成することもできます。
この記事では、Windows デバイスに仮想スイッチを作成し、IoT Edge for Linux on Windows をインストールする方法について説明します。 このプロセスは、次の手順に分かれています。
- 仮想スイッチを作成する
- NAT テーブルを作成する
- DHCP サーバーをインストールして設定する
前提条件
- Windows デバイス。 サポートされている Windows バージョンについて詳しくは、「オペレーティング システム」をご覧ください。
- Windows デバイスにインストールされている Hyper-V ロール。 Hyper-V を有効にする方法の詳細については、「Windows デバイスに Azure IoT Edge for Linux をインストールしてプロビジョニングする」を参照してください。
仮想スイッチを作成する
このセクションの次の手順は、仮想スイッチの作成に関する一般的なガイドです。 仮想スイッチの構成がお使いのネットワーク環境に合っていることを確認してください。
Note
次の手順では、内部またはプライベート仮想スイッチの作成方法について説明します。 代わりに外部スイッチを作成する方法について詳しくは、「Hyper-V 仮想マシン用の仮想スイッチを作成する」をご覧ください。 Azure VM を使用している場合は、外部の仮想スイッチにはできないのでご注意ください。
管理者特権のセッションで PowerShell を開きます。 これを行うには、Windows の [開始] ペインを開き、「PowerShell」と入力します。 表示される Windows PowerShell アプリを右クリックして、[管理者として実行] を選択します。
Windows ホストの仮想スイッチを確認し、使用できる仮想スイッチがないことを確認します。 これは、PowerShell で次の Get-VMSwitch コマンドを実行することで行うことができます。
Get-VMSwitch
Default Switch という名前の仮想スイッチが既に作成されていて、カスタム仮想スイッチが不要な場合は、このガイドの残りの手順は行わずに IoT Edge for Linux on Windows をインストールすることができます。
次の New-VMSwitch コマンドを実行することで、選択した名前とスイッチの種類 (内部またはプライベート) で、新しい VM スイッチを作成します。プレースホルダーの値は、次のように置き換えます。
New-VMSwitch -Name "{switchName}" -SwitchType {switchType}
作成したスイッチの IP アドレスを取得するには、まずそのインターフェイス インデックスを取得する必要があります。 この値を取得するには、次の Get-NetAdapter コマンドを実行します。プレースホルダーの値は、次のように置き換えます。
(Get-NetAdapter -Name "{switchName}").ifIndex
このコマンドを実行しようとするとエラーを受け取る場合は、
vEthernet ({switchName})
テンプレートに従ってName
パラメーターの値を変更する必要があることがあります。 次の例のような出力が表示されます。インターフェイスのインデックス値は、後の手順で使用する必要があるため、メモしておいてください。
結果の仮想スイッチの IP アドレスは、環境ごとに異なります。 このガイドの残りのコマンドでは、172.20.X.Y ファミリから派生した IP アドレスを使用します。 ただし、独自のアドレス ファミリと IP アドレスを使用することができます。
次の IP アドレスを作成して使用します。
IP アドレス Template 例 ゲートウェイの IP xxx.xxx.xxx.1 172.20.0.1 NAT IP xxx.xxx.xxx.0 172.20.0.0 開始 IP xxx.xxx.xxx.100 172.20.0.100 終了 IP xxx.xxx.xxx.200 172.20.0.200 仮想スイッチの IP アドレス ファミリの最後のオクテットを新しい数値に置き換えることで、ゲートウェイの IP アドレスを設定します。 たとえば、最後のオクテットを 1 に置き換えて、アドレス 172.20.0.1 を取得します。 次の New-NetIPAddress コマンドを実行して、新しいゲートウェイ IP アドレスを設定します。プレースホルダーの値は、次のように置き換えます。
New-NetIPAddress -IPAddress {gatewayIp} -PrefixLength 24 -InterfaceIndex {interfaceIndex}
このコマンドを実行すると、次の例のような情報が出力されます。
内部ネットワークアドレスを外部ネットワークに変換するネットワーク アドレス変換 (NAT) オブジェクトを作成します。 前の手順と同じ IPv4 ファミリのアドレスを使用します。 手順 6 の表に基づいて、NAT IP アドレスは元の IP アドレス ファミリに対応しています。ただし、最後のオクテットは新しい数値 (0 など) に置き換えられます。 次の New-NetNat コマンドを実行して、NAT IP アドレスを設定します。プレースホルダーの値は、次のように置き換えます。
New-NetNat -Name "{switchName}" -InternalIPInterfaceAddressPrefix "{natIp}/24"
このコマンドを実行すると、次の例のような情報が出力されます。
これで、スイッチが作成されました。 次は、DNS を設定します。
DHCP サーバーを作成する
Note
EFLOW VM が静的 IP パラメーター (ip4Address
、ip4GatewayAddress
、ip4PrefixLength
) を使用してデプロイされている限り、DHCP サーバーなしでインストールを続行できます。 動的な IP 割り当てを使用する場合は、DHCP サーバーのインストールを継続してください。
警告
DHCP サーバーを企業ネットワーク環境にデプロイするには、承認が必要になる場合があります。 仮想スイッチの構成が企業ネットワークのポリシーに準拠しているかどうかを確認してください。 詳しくは、「Windows PowerShell を使用した DHCP の展開」を参照してください。
DHCP サーバー機能がホスト コンピューターにインストールされているかどうかを確認します。 Install State 列を探します。 値が "Installed" の場合は、次の手順を省略できます。
Get-WindowsFeature -Name 'DHCP'
DHCP サーバーがまだインストールされていない場合は、次のコマンドを実行してインストールしてください。
Install-WindowsFeature -Name 'DHCP' -IncludeManagementTools
DHCP サーバーを既定のローカル セキュリティ グループに追加し、サーバーを再起動します。
netsh dhcp add securitygroups Restart-Service dhcpserver
DHCP サーバーの起動中に、次の警告メッセージが表示されます。
WARNING: Waiting for service 'DHCP Server (dhcpserver)' to start...
DHCP サーバーの IP の範囲を使用できるように構成するには、開始 IP としての IP アドレスと、終了 IP としての IP アドレスを設定する必要があります。 この範囲は、Add-DhcpServerv4Scope コマンドの StartRange パラメーターと EndRange パラメーターによって定義されます。 このコマンドを実行するときには、サブネット マスク (255.255.255.0) も設定する必要があります。 前のセクションのテーブルの IP アドレスのテンプレートと例に基づいて、StartRange を 169.254.229.100 に、EndRange を 169.254.229.200 に設定すると、100 個の IP アドレスが使用できるようになります。 プレースホルダーの値を独自の値に置き換えて、次のコマンドを実行します。
Add-DhcpServerV4Scope -Name "AzureIoTEdgeScope" -StartRange {startIp} -EndRange {endIp} -SubnetMask 255.255.255.0 -State Active
このコマンドからは出力は生成されません。
前のセクションで作成した、NAT とゲートウェイ IP アドレスを DHCP サーバーに割り当て、サーバーを再起動して構成を読み込みます。 最初のコマンドからは出力は生成されませんが、DHCP サーバーを再起動すると、このセクションの 3 番目の手順で実行したときに受信した同じ警告メッセージが出力されます。
Set-DhcpServerV4OptionValue -ScopeID {startIp} -Router {gatewayIp} Restart-service dhcpserver
次のステップ
「Azure IoT Edge for Linux on a Window デバイスのインストールとプロビジョニング」の手順に従って、IoT Edge for Linux on Windows でデバイスを設定します。