この記事では、クラシック デプロイ モデルから新しい Resource Manager デプロイ モデルに移行する方法について説明します。
クラシックから Resource Manager への移行は、一度に 1 つの仮想ネットワークで完了します。 Azure PowerShell の要件以外に、移行のためのツールや前提条件に関する追加の要件はありません。 移行は、仮想ネットワーク リソースのコントロール プレーンの移行です。 移行中のデータ パスのダウンタイムはありません。 既存のワークロードは、移行中に接続を失うことなく引き続き機能します。 仮想ネットワークに関連付けられているパブリック IP アドレスは、移行プロセス中に変更されません。
移行が完了したら、Resource Manager モデルを使用してすべての管理操作を実行する必要があります。 管理操作には、Resource Manager デプロイ モデルを介してのみアクセスできます。 サブネットまたは仮想ネットワーク リソースの変更は、古いデプロイ モデルでは使用できなくなります。
仮想ネットワークをクラシック モデルから Resource Manager モデルに移行すると、仮想ネットワーク内でサポートされているリソースが新しいモデルに自動的に移行されます。
前提 条件
- アクティブなサブスクリプションを持つ Azure アカウント。 無料で1つ作成してください。
- この記事の手順と例では、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 を含むクラシック仮想ネットワーク。
単一の VPN ゲートウェイまたは単一の Express Route 回線を備えたクラシック仮想ネットワーク。
サポートされていないシナリオ
移行では、次のシナリオはサポートされていません。
クラシック デプロイ モデルからの仮想ネットワークのライフ サイクルの管理。
クラシック デプロイ モデルに対する Azure ロールベースのアクセス制御のサポート。
ExpressRoute ゲートウェイと VPN ゲートウェイの両方を使用した仮想ネットワークの移行。
1 つのクラウド サービスで複数の可用性セットを持つ仮想ネットワークの移行。
1 つのクラウド サービスの可用性セットに含まれていない 1 つ以上の可用性セットと仮想マシンを含む仮想ネットワークの移行。
クラシックから Resource Manager へのアプリケーション ゲートウェイの移行。
リソース プロバイダーを登録する
このセクションでは、Resource Manager コマンドレットを使用してサブスクリプションにサインインし、移行リソース プロバイダーを登録します。
Azure PowerShell にサインインします。
Connect-AzAccount
移行リソース プロバイダーを登録します。
Register-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
登録が完了するまで 5 分待ちます。 次のコマンドを使用して、登録の状態を確認します。
Get-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
RegistrationState が
Registered
であることを確認してから続行してください。手記
登録は 1 回限りですが、移行を試みる前に 1 回行う必要があります。 登録しないと、次のエラー メッセージが表示されます。
BadRequest: サブスクリプションは移行に登録されていません。
移行する仮想ネットワーク名を取得する
このセクションでは、クラシック デプロイ モデルの PowerShell にサインインし、移行する仮想ネットワークの名前を取得します。
クラシック デプロイ PowerShell にサインインします。
Add-AzureAccount
次のコマンドを実行して、クラシック仮想ネットワーク名を取得します。
Get-AzureVnetSite | Select -Property Name
次のセクションの仮想ネットワークの名前を書き留めます。
仮想ネットワークを移行する
このセクションでは、移行を続行できることを検証し、移行を準備します。
前のセクションで説明した仮想ネットワークの名前を、コマンドで使用する変数に配置します。 myVNet を、前のセクションで取得した仮想ネットワークの名前に置き換えます。
$vnetname = "myVNet"
次のコマンドを実行して、仮想ネットワークを移行できることを確認します。
Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName
このコマンドは、移行をブロックする警告またはエラーを表示します。 検証が成功した場合は、次の準備手順に進むことができます。
手記
仮想ネットワークに Web ロールまたは worker ロール、またはサポートされていない構成の仮想マシンが含まれている場合は、検証エラー メッセージが表示されます。
次のコマンドを実行して、移行用の仮想ネットワークを準備します。
Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName
移行の準備ができていないため、古い状態に戻す場合は、次のコマンドを使用します。
Move-AzureVirtualNetwork -Abort -VirtualNetworkName $vnetName
移行をコミットする
準備された構成で問題がなければ、次のコマンドを実行して移行をコミットできます。
Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName
次の手順
Azure のリソースをクラシックから Resource Manager に移行する方法の詳細については、次を参照してください。
- クラシックから Azure Resource Manager への IaaS リソースのプラットフォームでサポートされる移行の概要。
- クラシックから Azure Resource Managerへの IaaS リソースの移行に関してよく寄せられる質問を確認します。
- クラシックから Azure Resource Manager への IaaS リソースの移行計画。