適用対象: Azure Local 2311.2 以降
この記事では、Azure Migrate を使用して仮想マシン (VM) を Azure Local に移行する際に静的 IP アドレスを保持する方法について説明します。 Windows および Linux VM で静的 IP 移行スクリプトを実行するための詳細な手順について説明します。
静的 IP 移行パッケージについて
Windows VM の場合、この記事では Windows Server 2012 R2 以降のゲスト オペレーティング システムをサポートします。 Linux VM の場合、Ubuntu、Red Hat Enterprise Linux、CentOS、および Debian ディストリビューションがサポートされます。
静的 IP 移行パッケージ (.zip 形式) をダウンロードします。 .zip ファイルには、Windows VM と Linux VM のさまざまなスクリプトが含まれています。
Windows には次のスクリプトが含まれています。
Prepare-MigratedVM.ps1 –
-StaticIPMigration
スクリプトを実行する コマンドレットを使用して、静的 IP 移行用に VM を準備します。ログはスクリプトのディレクトリに自動的に作成されます。
Initialize-StaticIPMigration.ps1 - VM ネットワーク インターフェイス情報を構成ファイル (ローカル ディレクトリ内のInterfaceConfigurations.json) に収集し、Set-StaticIPConfiguration.ps1 スクリプトを実行するようにスケジュールされたタスクを設定します。
Set-StaticIPConfiguration.ps1 - VM の起動時に実行され、生成されたネットワーク インターフェイス構成ファイルが適用されます。
Utilities.psm1 - このスクリプトには、スクリプトのヘルパー関数が含まれています。
前提 条件
開始する前に、IP 移行用のソース環境とターゲット環境を準備します。
IP 移行用にソース VM を準備する
静的 IP を持つ Windows VM をソース システム (Hyper-V または VMware) から移行するには、次の要件が満たされていることを確認します。
レプリケーション プロセス全体と、計画されたフェールオーバー (移行) まで VM の電源がオンになっていることを確認します。
VMware VM の場合は、VMware Tools がインストールされていることを確認します。
Hyper-V VM の場合は、Hyper-V Integration Services がインストールされていることを確認します。 詳細については、「」で「Hyper-V Integration Services」を管理する方法をご覧ください。
- スケジュールされたタスクを作成するための管理者特権を持つアカウントによって、ソース VM で準備スクリプトが実行されていることを確認します。
ターゲットの Azure ローカル インスタンスと論理ネットワークを準備する
ターゲットの Azure ローカル インスタンスで、移行をサポートするために静的な Azure Arc 論理ネットワークをプロビジョニングします。 このセットアップでは、次を定義する必要があります。
- IP アドレス空間
- ゲートウェイ アドレス
- DNS サーバー
- IP プールの範囲 (省略可能)
静的または動的な Azure Arc 論理ネットワークの作成と構成に関する詳細なガイダンスについては、「Azure Localの論理ネットワークを作成する」を参照してください。
移行する予定の静的 IP アドレスが静的論理ネットワークで使用でき、別の VM には割り当てられないことを確認します。 IP アドレスが既に使用されている場合、移行はエラーで失敗します。 アドレスは既に使用されています。 これを回避するには:
- ターゲットの静的論理ネットワークに移動します。
- 使用中の IP アドレスを確認します。
- 移行する静的 IP に割り当てられている NIC をすべて削除します。
(省略可能)グループ ポリシーを使用して IP 移行を大規模にデプロイする準備をする
この方法を使用するには、ドメイン管理者特権とグループ ポリシー エディターへのアクセス権が必要です。 さらに、次のいずれかの条件を満たす必要があります。
静的 IP 移行パッケージをローカル ファイル システムに直接ダウンロードするには、ソース VM がインターネットにアクセスできる必要があります。
ソース VM は、静的 IP 移行パッケージをホストするリモート ファイル共有への読み取り専用アクセス権を持っている必要があります。これは、事前に準備してリモート共有にダウンロードする必要があります。
IP 移行を設定する
IP 移行を設定するには、次の手順に従います。 手順は、Windows VM と Linux VM では異なります。
Windows VM の場合は、手動で、またはグループ ポリシーを使用して IP 移行を設定できます。
IP 移行を手動で設定する
Windows VM の IP 移行を手動で設定するには:
.zip ファイルをダウンロードし、静的 IP 移行パッケージの内容を VM 上のローカル フォルダーにインストールします。
管理者として PowerShell を開き、次のコマンドを 使用してPrepare-MigratedVM.ps1 スクリプトを実行します。
.\Prepare-MigratedVM.ps1 -StaticIPMigration
Azure portal で移行プロジェクトを作成し、検出をトリガーし、VM をレプリケートします。 詳細については、「Azure Migrate プロジェクトを作成する」を参照してください。
移行する VM を選択する前に、レプリケーション ウィザードを使用して、ソース VM 上の各ネットワーク インターフェイスに適切な論理ネットワークを割り当てて構成します。
[レプリケーション] > [一般] > [コンピューティングとネットワーク] セクションで、[VM] を選択します。 このタブで、ネットワーク インターフェイスが正しい論理ネットワークに割り当てられていることを確認します。 DHCP ネットワーク インターフェイスは動的論理ネットワークに割り当てられ、静的ネットワーク インターフェイスは静的論理ネットワークに割り当てられます。
対応する論理ネットワークにネットワーク インターフェイスを正しく割り当てられないと、Azure Local と Azure portal に正しくない IP アドレス情報が表示されます。
の [ の移行] ビューで、[仮想マシンのシャットダウン] の下にある [はい] 選択し、仮想マシンをシャットダウンします (データ損失が発生しないようにします)。 。VM が移行されたら、移行された VM を確認して、静的 IP 設定が移行されたことを確認します。
グループ ポリシーを使用して IP 移行を設定する
グループ ポリシーを使用して、ドメインに参加している VM で静的 IP 移行を大規模に設定するには、次の手順に従います。
- グループ ポリシーを使用した静的 IP 移行の前提条件を確認します。
グループ ポリシー オブジェクトを作成する
Active Directory (AD) 環境のグループ ポリシー管理コンソールを開きます。
AD フォレストで、保持された静的 IP を使用して移行する VM が含まれている場所に移動します。
右クリックして [このドメインに GPO を作成し、このコンテナーにリンクする] を選択します。
メッセージが表示されたら、このグループ ポリシー オブジェクト (GPO) にわかりやすい名前を割り当てます。
GPO を編集します。
新しく作成した GPO を右クリックし、[
編集] を選択します。 グループ ポリシー管理エディターで、コンピューターの構成 、基本設定 > 、コントロール パネルの設定 > 、[スケジュールされたタスク] >に進みます。
[スケジュールされたタスク] の下の空白領域
を右クリックし、[新規作成] を選択して、[即時タスク (Windows 7以降) ]を選択します。
スケジュールされたタスクを定義する
[新規] > [直近のタスク] を選択します。 スケジュールされたタスク ウィザードが開いたら、各タブを次のように構成します。
[全般] タブの [アクション]で、[作成 を選択し、タスクのわかりやすい名前を入力します。
[セキュリティ オプション で、次の設定を選択します。
タスクを実行するときは、NT AUTHORITY\SYSTEM
次のユーザー アカウントを使用します。 [ユーザーがログオンしているかどうかにかかわらず実行する] をオンにします。
[ 最高の特権で実行] を選択します。
[構成対象] で構成用に [Windows Vista または Windows Server 2008] を選択します。
[アクション] タブで、[アクション] タブの下にある[新規]を選択します。
[アクション] で [プログラムの開始] を選択します。
[設定] で次を行います。
プログラム/スクリプトを実行する: powershell.exeを入力します。
VM が .zip ファイルのダウンロード リンクにアクセスできる場合は、次の引数を追加して、パラメーターを角かっこで囲みます。
-ExecutionPolicy Bypass -Command "Invoke-WebRequest -Uri [download link] -OutFile [path to static IP migration package] ; Expand-Archive Path [path to static IP migration package] -DestinationPath C:\StaticIp ; & C:\StaticIp\Prepare-MigratedVM.ps1 -StaticIPMigration ```
(代替).zip ファイルをホストするリモート共有がある場合は、次の引数を追加し、パラメーターを角かっこで囲んで置き換えます。
-ExecutionPolicy Bypass -Command "Copy-Item -Path [ZIP file path in remote share] -Destination [path to static IP migration package] -Force ; Expand-Archive -Path [path to static IP migration package] DestinationPath C:\StaticIp ; & C:\StaticIp\Prepare-MigratedVM.ps1 -StaticIPMigration
アクション、プログラム/スクリプトを選択し、任意の引数と任意の開始場所情報を追加します。
[OK]
選択して、スケジュールされたタスクの構成を完了します。
グループ ポリシー オブジェクトを適用する
目的の組織単位 (OU) に GPO をリンクします。
GPO がまだリンクされていない場合は、グループ ポリシー管理コンソールで目的の OU を右クリックし、[既存の GPO の リンク] を選択します。
作成した GPO を選択します。
レプリケーションが完了するまで待ちます。 10 ~ 20 分後、グループ ポリシー オブジェクトはそれぞれのドメイン コントローラーにレプリケートされます。 特定の VM で PowerShell で
gpupdate
コマンドレットを実行して、ポリシーの更新を強制することもできます。変更を確認します。
VM を調べて、の
C:\StaticIp\IpConfigurations.jsの下にインターフェイス構成ファイルが作成されていることを確認します。 再起動時に実行するために、
Set-StaticIpConfiguration
という名前のスケジュールされたタスクが作成されていることを確認します。
既知の制限事項
静的 IP アドレスを移行するときの既知の制限事項と表示の問題を次に示します。
デバイス マネージャーの古いネットワーク アダプター情報
移行後も、移行前の古いネットワーク アダプター情報がデバイス マネージャーに表示されることがあります。 これは移行後に作成された新しいネットワーク アダプターには影響せず、IP の競合は発生しませんが、スクリプトは現在、この古い登録を削除しないため、表示されたままです。
1 つのネットワーク アダプター上の複数の IP アドレス
ソース VM に 1 つのネットワーク アダプターに複数の静的 IP アドレスが割り当てられている場合、移行された VM でそれらの IP アドレスが正しく割り当てられます。 ただし、Azure Arc in Azure Local によって有効になっている Azure ローカル VM では、Azure portal のネットワーク アダプターごとに 1 つの IP アドレスのみが表示されます。 これは Azure ローカル ポータルでの既知の表示の問題であり、移行された VM 上の IP アドレスの実際の機能には影響しません。
複数のネットワーク アダプターと種類
移行元 VM に DHCP と静的構成が混在する複数のネットワーク アダプターがある場合、移行された VM は、静的ネットワーク アダプター上の正しい数のネットワーク アダプター、ネットワーク アダプターの種類、および静的 IP アドレスを保持します。 ただし、移行された VM の Azure ローカル ポータル ビューでは、ネットワーク アダプターに重複する IP または不正確な IP が正しく表示されない可能性があります。 これは Azure ローカル ポータルでの既知の表示の問題であり、移行された VM 上の IP アドレスの機能には影響しません。 DHCP ネットワーク アダプターと静的ネットワーク アダプターを備えた移行された VM の例を次に示します。
IPv6 静的 IP アドレスはサポートされていません
現在、Azure ローカル VM では IPv4 アドレスのみがサポートされています。 IPv6 はサポートされていないため、IPv6 アドレスで構成された NIC は移行されません。
ログ
Prepare-MigratedVM.ps1 または prepare_migrated_vm.sh スクリプトを使用して VM の静的 IP 移行を構成すると、スクリプトのディレクトリにログが自動的に作成されます。
次の手順
- Azure Localの Azure Migrate ベースの移行の概要を参照してください。
- Azure Local 向け Azure Migrate ベースの VMware 移行の概要を読む