Azure PowerShell を使用して Azure Virtual Network をクラシックから Resource Manager に移行する
この記事では、クラシック デプロイ モデルから新しい Resource Manager デプロイ モデルに移行する方法について説明します。
クラシックから Resource Manager への移行は、一度に 1 つの仮想ネットワークで完了します。 Azure PowerShell の要件を除き、ツールや移行の前提条件についての追加の要件はありません。 移行は、仮想ネットワーク リソースのコントロール プレーンの移行です。 移行中に、データ パスのダウンタイムはありません。 既存のワークロードは、移行中に接続を失うことなく引き続き機能します。 仮想ネットワークに関連付けられているパブリック IP アドレスがあっても、移行プロセス中に変更されません。
移行が完了したら、Resource Manager モデルを使用して、すべての管理操作を実行する必要があります。 管理操作には、Resource Manager デプロイ モデルを介してのみアクセスできます。 サブネットや仮想ネットワークのリソース変更は、古いデプロイ モデルからは行えなくなります。
クラシック モデルから Resource Manager モデルに仮想ネットワークを移行すると、その仮想ネットワーク内でサポートされているリソースは、自動的に新しいモデルに移行されます。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料で作成できます。
- この記事の手順と例では、Azure PowerShell Az モジュールが使用されます。 Az モジュールをご利用のコンピューターにローカルにインストールするには、Azure PowerShell のインストールに関するページを参照してください。 Az モジュールの詳細については、「新しい Azure PowerShell Az モジュールの概要」を参照してください。 PowerShell コマンドレットは、頻繁に更新されます。 最新のバージョンを実行していないと、手順で指定されている値で失敗する場合があります。 システムにインストールされている PowerShell のバージョンを確認するには、Az コマンドレットの Get-Module -ListAvailable を使用します。
- アプリケーション ゲートウェイがある仮想ネットワークを移行するには、ネットワークを移動するための準備操作を実行する前に、そのゲートウェイを削除します。 移行が完了した後、Azure Resource Manager でゲートウェイに再接続します。
- お使いのコンピューターでローカルに、クラシックおよび Az Azure PowerShell モジュールの両方がインストールされていることを確認します。 詳細については、「 Azure PowerShell のインストールと構成の方法」を参照してください。
- 別のサブスクリプションの ExpressRoute 回線に接続する Azure ExpressRoute ゲートウェイは自動移行できません。 これらの場合、ExpressRoute ゲートウェイを削除し、仮想ネットワークを移行して、ゲートウェイを再作成します。
サポートされるシナリオ
クラシックから Resource Manager への移行では、以下のシナリオがサポートされています。
仮想マシンが含まれるクラシック仮想ネットワーク。
クラウド サービスごとに多くても 1 つの可用性セットがあるクラシック仮想ネットワーク。
Microsoft Entra Domain Services を含むクラシック仮想ネットワーク。
1 つの VPN ゲートウェイまたは 1 つの Express Route 回線を備えたクラシック仮想ネットワーク。
サポートされていないシナリオ
移行では、以下のシナリオはサポートされていません。
クラシック デプロイ モデルからの仮想ネットワークのライフ サイクルの管理。
クラシック デプロイ モデルでの Azure ロールベースのアクセス制御のサポート。
ExpressRoute ゲートウェイと VPN ゲートウェイの両方を備えた Virtual Network の移行。
1 つのクラウド サービス内に複数の可用性セットを持つ仮想ネットワークの移行。
1 つ以上の可用性セットと、1 つのクラウド サービス内の可用性セットに含まれていない仮想マシンがある仮想ネットワークの移行。
クラシックから Resource Manager へのアプリケーション ゲートウェイの移行。
リソース プロバイダーの登録
このセクションでは、Resource Manager コマンドレットを使用してお使いのサブスクリプションにサインインし、移行リソース プロバイダーを登録します。
Azure PowerShell にサインインします。
Connect-AzAccount
移行リソース プロバイダーを登録します。
Register-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
登録が完了するまで 5 分間お待ちください。 次のコマンドを使用して、登録の状態を調べます。
Get-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
RegistrationState が
Registered
であることを確認してから続行してください。Note
登録は 1 回限りの手順ですが、移行を試みる前に実行する必要があります。 登録を行わないと、次のエラー メッセージが表示されます。
BadRequest: 移行の対象サブスクリプションが登録されていません。
移行する仮想ネットワークの名前を取得する
このセクションでは、クラシック デプロイ モデルの PowerShell にサインインして、移行する仮想ネットワークの名前を取得します。
クラシック デプロイ PowerShell にサインインします。
Add-AzureAccount
次のコマンドを実行して、クラシック仮想ネットワークの名前を取得します。
Get-AzureVnetSite | Select -Property Name
次のセクションのために、仮想ネットワークの名前をメモします。
仮想ネットワークを移行する
このセクションでは、移行を続行できることを検証してから、移行の準備を行います。
前のセクションでメモした仮想ネットワークの名前を、コマンドで使用する変数内に入れます。 myVNet は、前のセクションで取得した仮想ネットワークの名前に置き換えます。
$vnetname = "myVNet"
次のコマンドを実行して、仮想ネットワークを移行できることを検証します。
Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName
このコマンドを実行すると、移行をブロックするすべての警告またはエラーが表示されます。 検証が成功した場合は、後続の準備の手順に進むことができます。
Note
仮想ネットワークに、Web ロールや worker ロールが含まれる場合、またはサポートされない構成の仮想マシンが含まれる場合は、検証エラー メッセージが返されます。
次のコマンドを実行して、仮想ネットワークを移行のために準備します。
Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName
移行の準備ができていない場合に以前の状態に戻すには、次のコマンドを使用します。
Move-AzureVirtualNetwork -Abort -VirtualNetworkName $vnetName
移行をコミットします
準備した構成ですべてが適切と思われる場合は、次のコマンドを実行すると移行をコミットできます。
Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName
次のステップ
Azure のリソースをクラシックから Resource Manager に移行することの詳細については、以下を参照してください。