Azure 用拡張ネットワークを使用して、オンプレミスのサブネットを Azure に拡張する

概要

Azure 用拡張ネットワークを使用すると、オンプレミスのサブネットを Azure まで拡大し、オンプレミスの仮想マシンを Azure に移行するときにオンプレミスの元のプライベート IP アドレスを保持することができます。

ネットワークは、仮想アプライアンスとして機能する 2 つの Windows Server 2019 VM 間の双方向 VXLAN トンネルを使用して拡張されます。1 つはオンプレミスで実行され、もう 1 つは Azure で実行されており、それぞれが拡張されるサブネットにも接続されています。 拡張するサブネットごとに、アプライアンスの 1 つのペアが必要です。 複数のペアを使って、複数のサブネットを拡張できます。

注意

Azure 用拡張ネットワークは、Azure に移行するときに IP アドレスを変更できないコンピューターに対してのみ使用する必要があります。 可能である場合は常に、IP アドレスを変更し、Azure に完全に存在するサブネットに接続することをお勧めします。

計画

Azure 用拡張ネットワークの使用を準備するには、拡大するサブネットを明確にした後、次の手順を実行する必要があります。

容量計画

Azure 用拡張ネットワークを使って、最大 250 個の IP アドレスを拡張できます。 約 700 Mbps の合計スループットを期待できますが、Azure 用拡張ネットワーク仮想アプライアンスの CPU 速度によって若干変動します。

Azure での構成

Windows Admin Center を使う前に、Azure Portal で次の手順を実行する必要があります。

  1. ゲートウェイ接続に必要なサブネットに加えて、少なくとも 2 つのサブネットを含む仮想ネットワークを Azure で作成します。 作成するサブネットの 1 つでは、拡張するオンプレミスのサブネットと同じサブネット CIDR を使用する必要があります。 サブネットは、オンプレミスのサブネットと重複しないように、ルーティング ドメイン内で一意である必要があります。

  2. サイト間接続または ExpressRoute 接続を使って仮想ネットワークをオンプレミス ネットワークに接続するように、仮想ネットワーク ゲートウェイを構成します。

  3. 入れ子になった仮想化を実行できる Windows Server 2022 Azure Edition VM を Azure に作成します。 これは 2 つの仮想アプライアンスのうちの 1 つです。 プライマリ ネットワーク インターフェイスをルーティング可能なサブネットに接続し、2 番目のネットワーク インターフェイスを拡張サブネットに接続します。

注意

Azure 用拡張ネットワークには、Azure で実行されている VM のための Windows Server 2022 Azure Edition が必要です。

  1. VM を起動し、Hyper-V の役割を有効にして、再起動します。 次に例を示します。

    Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
    
  2. VM に 2 つの外部仮想スイッチを作成し、各ネットワーク インターフェイスに接続します。 次に例を示します。

    New-VMSwitch -Name "External" -AllowManagementOS $true -NetAdapterName "Ethernet"
    New-VMSwitch -Name "Extended" -AllowManagementOS $true -NetAdapterName "Ethernet 2"
    

オンプレミスの構成

オンプレミスの仮想アプライアンスとして機能する VM の作成など、オンプレミスのインフラストラクチャでもいくつかの手動構成を実行する必要があります。

  1. オンプレミスの VM (仮想アプライアンス) を展開する物理マシンでサブネットが使用可能であることを確認します。 これには、拡張するサブネットと、Azure 仮想ネットワーク内のどのサブネットとも重複しない、一意の 2 番目のサブネットが含まれます。

  2. 入れ子になった仮想化をサポートする任意のハイパーバイザー上に、Windows Server 2019 または 2022 の VM を作成します。 これはオンプレミスの仮想アプライアンスです。 これは、クラスター内の高可用性 VM として作成することをお勧めします。 1 つの仮想ネットワーク アダプターをルーティング可能なサブネットに接続し、2 つ目の仮想ネットワーク アダプターを拡張サブネットにします。

  3. VM を起動した後、VM の PowerShell セッションから次のコマンドを実行して Hyper-V の役割を有効にし、VM を再起動します。

    Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
    
  4. VM の PowerShell セッションで次のコマンドを実行して、VM に 2 つの外部仮想スイッチを作成し、各ネットワーク インターフェイスに接続します。

    New-VMSwitch -Name "External" -AllowManagementOS $true -NetAdapterName "Ethernet"
    New-VMSwitch -Name "Extended" -AllowManagementOS $true -NetAdapterName "Ethernet 2"
    

追加の前提条件

オンプレミスのネットワークと Azure の間にファイアウォールがある場合は、非対称ルーティングを許可するように構成する必要があります。 これには、シーケンス番号のランダム化を無効にし、TCP 状態のバイパスを有効にする手順が含まれる場合があります。 これらの手順については、ファイアウォール ベンダーのドキュメントをご覧ください。

デプロイ

展開は Windows Admin Center で行います。

Windows Admin Center をインストールして構成する

  1. 前に作成した 2 つの仮想アプライアンス以外で、Windows Admin Center を実行できる任意のコンピューターに Windows Admin Center をダウンロードしてインストールします。

  2. Windows Admin Center で、[設定] (ページの右上隅) >[拡張機能] を選びます。 次に、[拡張機能] を選びます。

    [設定] の [使用可能な拡張機能] タブを示すスクリーンショット

  3. [使用可能な拡張] タブで [Extended network](拡張ネットワーク) を選んでから、[インストール] を選びます。

    数秒後に、インストールが成功したことを示すメッセージが表示されます。

  4. まだ行っていない場合は、Windows Admin Center を Azure に接続します。 ここでこのステップを省略した場合、後のプロセスで行う必要があります。

  5. Windows Admin Center で、[すべての接続]>[追加] に移動し、[Windows Server] タイルの [追加] を選びます。 オンプレミスの仮想アプライアンスのサーバー名 (および必要に応じて資格情報) を入力します。

    Windows Admin Center のスクリーンショット。オンプレミスの仮想アプライアンスでサーバー マネージャーの拡張ネットワーク ツールを表示しています=

  6. [Extended network](拡張ネットワーク) をクリックして開始します。 初めてのときは、概要とセットアップのボタンが表示されます。

    Image

Azure 用拡張ネットワークを展開する

  1. [Set up](セットアップ) をクリックして構成を始めます。

  2. [次へ] をクリックして、概要を終了します。

  3. [Upload Package](パッケージのアップロード) パネルでは、Azure 用拡張ネットワーク エージェント パッケージをダウンロードし、仮想アプライアンスにアップロードする必要があります。 パネルの指示に従います。

    重要

    必要に応じて下へスクロールし、[Upload](アップロード) をクリックしてから [Next: Extended-Network Setup](次へ: 拡張ネットワークのセットアップ) をクリックします。

  4. 拡張するオンプレミス ネットワークのサブネット CIDR を選びます。 サブネットの一覧は、仮想アプライアンスから読み取られます。 仮想アプライアンスを正しいサブネットのセットに接続していない場合、この一覧には目的のサブネット CIDR が表示されません。

  5. サブネット CIDR を選んだら、[次へ] をクリックします。

  6. 拡張先のサブスクリプション、リソース グループ、仮想ネットワークを選びます。

    Azure ネットワーク

    リージョン (Azure の場所) とサブネットは自動的に選択されます。 [Next: Extended-Network Gateway Setup](次へ: 拡張ネットワーク ゲートウェイのセットアップ) を選んで続けます。

  7. 次に、仮想アプライアンスを構成します。 オンプレミスのゲートウェイの情報は自動的に設定されるはずです。

    オンプレミスのネットワーク ゲートウェイ

    正しいようであれば、[次へ] をクリックします。

  8. Azure 仮想アプライアンスについては、使用するリソース グループと VM を選ぶ必要があります。

    Azure ネットワーク ゲートウェイ

注意

Azure 仮想アプライアンスの VM の一覧には、Windows Server 2022 Azure Edition が含まれる Azure VM のみが表示されます。 一覧に目的の VM が表示されない場合は、Azure Edition であることを確認し、そうでない場合は作成し直します。

  1. VM を選んだ後、Azure 拡張ネットワーク ゲートウェイ サブネット CIDR も選ぶ必要があります。 次に、[Next: Deploy](次へ: 展開) をクリックします。

  2. 概要情報を確認し、[Deploy](展開) をクリックして展開プロセスを開始します。 展開には約 5 から 10 分かかります。 展開が完了すると、拡張される IP アドレスを管理するための次のパネルが表示され、状態は [OK] になります。

    インストール完了

管理する

拡張ネットワーク経由でアクセスできるようにする各 IP アドレスを構成する必要があります。 最大 250 個のアドレスを拡張するように構成できます。 アドレスを拡張するには

  1. [Add IPv4 Addresses](IPv4 アドレスの追加) をクリックします。

    ipv4 アドレスの追加

  2. 右側に [Add new IPv4 Addresses](新しい IPv4 アドレスの追加) ポップアップが表示されます。

    [ipv4 アドレスの追加] パネル

  3. [追加] ボタンを使って、手動でアドレスを追加します。 追加したオンプレミスのアドレスは、Azure のアドレス一覧に追加した Azure のアドレスによって到達可能になり、その逆も可能です。

  4. Azure 用拡張ネットワークによりネットワークがスキャンされて IP アドレスが検出され、このスキャンに基づいて候補リストが設定されます。 これらのアドレスを拡張するには、ドロップダウンリストを使って、検出されたアドレスの横にあるチェック ボックスをオンにする必要があります。 すべてのアドレスが検出されるとは限りません。 必要に応じて、[追加] ボタンを使って、自動的に検出されないアドレスを手動で追加します。

    情報を含む [ipv4 アドレスの追加] パネル

  5. 終わったら、[送信] をクリックします。 状態が [Updating](更新中) から [Progressing](進行中) に変化し、構成が完了すると最後に [OK] に戻ることがわかります。

    これでアドレスは拡張されました。 [Add IPv4 Addresses](IPv4 アドレスの追加) ボタンを使って、いつでも他のアドレスを追加できます。 拡張ネットワークのいずれかの側で IP アドレスが使われなくなった場合は、その横にあるチェック ボックスをオンにして、[Remove IPv4 Addresses](IPv4 アドレスの削除) を選びます。

Azure 用拡張ネットワークを使う必要がなくなった場合は、[Remove Azure Extended-Network](Azure 拡張ネットワークの削除) ボタンをクリックします。 これにより、2 つの仮想アプライアンスからエージェントがアンインストールされ、拡張 IP アドレスが削除されます。 ネットワークは拡張されなくなります。 削除後に拡張ネットワークを再び使い始めたい場合は、セットアップを実行し直す必要があります。

トラブルシューティング

Azure 用拡張ネットワークの展開中にエラーが発生する場合は、次の手順のようにします。

  1. オンプレミスの仮想アプライアンスで Windows Server 2019 または 2022 が使われていることを確認します。 Azure の仮想アプライアンスで Windows Server 2022 Azure Edition が使われていることを確認します。

  2. 仮想アプライアンスのいずれかで Windows Admin Center が実行されていないことを確認します。 Windows Admin Center はオンプレミス ネットワークから実行することをお勧めします。

  3. enter-pssession を使って Windows Admin Center ゲートウェイからオンプレミスの VM にリモートで接続できることを確認します。

  4. Azure とオンプレミスの間にファイアウォールがある場合は、選んだポート (既定では 4789) で UDP トラフィックを許可するように構成されていることを確認します。 ctsTraffic などのツールを使って、リスナーとセンダーを構成します。 指定したポートで両方向にトラフィックを送信できることを確認します。

  5. pktmon を使って、パケットが意図したとおりに送受信されていることを確認します。 各仮想アプライアンスで pktmon を実行します。

    Pktmon start –etw
    
  6. Azure 用拡張ネットワークの構成を実行してから、トレースを停止します。

    Pktmon stop
    Netsh trace convert input=<path to pktmon etl file>
    
  7. 各仮想アプライアンスから生成されたテキスト ファイルを開き、指定したポート (既定では 4789) の UDP トラフィックを検索します。 オンプレミスの仮想アプライアンスから送信されたトラフィックが、Azure 仮想アプライアンスによって受信されていない場合は、アプライアンス間のルーティングとファイアウォールを確認する必要があります。 オンプレミスから Azure に送信されるトラフィックを確認したら、次に Azure 仮想アプライアンスが応答のパケットを送信することを確認する必要があります。 そのパケットがオンプレミスの仮想アプライアンスによって受信されない場合は、ルーティングが正しいこと、および途中でトラフィックをブロックしているファイアウォールがないことを確認する必要があります。

初期構成後のデータ パスの診断

Azure 用拡張ネットワークを構成した後で、さらに発生する可能性のある問題は、通常、ファイアウォールによるトラフィックのブロックか、障害が断続的に発生した場合に MTU を超えたことが原因です。

  1. 両方の仮想アプライアンスが稼働していることを確認します。

  2. 各仮想アプライアンスで拡張ネットワーク エージェントが実行されていることを確認します。

    get-service extnwagent
    
  3. 状態が [実行中] でない場合は、次のようにして開始できます。

    start-service extnwagent
    
  4. 上のステップ 5 で説明したように、packetmon を使用して、拡張ネットワークの 2 つの VM 間でトラフィックが送信されている間に、トラフィックが仮想アプライアンスによって受信され、構成されている UDP ポートを通して送信され、もう一方の仮想アプライアンスによって受信および転送されていることを確認します。