仮想マシンをリソース グループまたはサブスクリプションに移動するという特殊なケースの処理

この記事では、仮想マシンを新しいリソース グループまたは Azure サブスクリプションに移動するときに追加の手順を必要とする特殊なケースについて説明します。 仮想マシンでディスク暗号化、Marketplace プラン、または Azure Backup を使う場合は、この記事で説明されている回避策のいずれかを使う必要があります。 その他すべてのシナリオでは、Azure portalAzure CLI、または Azure PowerShell の標準的な操作によって仮想マシンを移動します。 Azure CLI の場合は、az resource move コマンドを使用します。 Azure PowerShell の場合は、Move-AzResource コマンドを使用します。

仮想マシンを新しいリージョンに移動する場合は、「チュートリアル: リージョン間で Azure VM を移動する」を参照してください。

サポートされていないシナリオ

次のシナリオはまだサポートされていません。

  • Standard SKU Load Balancer または Standard SKU パブリック IP を使用した仮想マシン スケール セットを移動することはできません。
  • 既存の仮想ネットワーク内の仮想マシンは、仮想ネットワークと、その依存リソースのすべてを移動する場合にのみ、新しいサブスクリプションに移動できます。
  • プランが添付された Marketplace リソースから作成された仮想マシンは、サブスクリプションの間で移動できません。 考えられる回避策については、「Marketplace のプランを使用した仮想マシン」を参照してください。
  • 低優先度の仮想マシンと低優先度の仮想マシン スケール セットは、リソース グループまたはサブスクリプション間で移動することはできません。
  • 可用性セット内の仮想マシンを個別に移動することはできません。
  • スケジュールされたパッチの適用を使用する仮想マシンは、リソース グループまたはサブスクリプション間で移動することはできません。 考えられる回避策については、「メンテナンス構成による VM の更新の管理」をご参照ください

Azure Disk Encryption

Windows VM 用の Azure Disk Encryption または Windows VM 用の Azure Disk Encryption を実装するためにキー コンテナーに統合されている仮想マシンは、割り当て解除済み状態の場合、別のリソース グループに移動できます。

ただし、そのような仮想マシンを別のサブスクリプションに移動するには、暗号化を無効にする必要があります。

az vm encryption disable --resource-group demoRG --name myVm1 --volume-type all

Marketplace のプランを使用した仮想マシン

プランが添付された Marketplace リソースから作成された仮想マシンは、サブスクリプションの間で移動できません。 この制限を回避するには、現在のサブスクリプションでの仮想マシンのプロビジョニングを解除し、新しいサブスクリプションに再デプロイします。 次の手順により、新しいサブスクリプションで仮想マシンを再作成できます。 ただし、一部のシナリオでは機能しない可能性があります。 そのプランが Marketplace で使用できなくなった場合、これらの手順は機能しなくなります。

  1. プランに関する情報を取得します。

    az vm show --resource-group demoRG --name myVm1 --query plan
    
  2. オファリングがまだ Marketplace に存在することを確認します。

    az vm image list-skus --publisher Fabrikam --offer LinuxServer --location centralus
    
  3. OS ディスクを変換先サービスに複製するか、変換元サービスから仮想マシンを削除した後に元のディスクを移動します。

  4. 変換先サービスで、ご利用のプランの Marketplace 使用条件に同意します。 次の PowerShell コマンドを実行して、使用条件に同意することができます。

    az vm image terms accept --publisher {publisher} --offer {product/offer} --plan {name/SKU}
    

    または、ポータルを使用して、そのプランを使用した仮想マシンの新しいインスタンスを作成することもできます。 新しいサブスクリプションの使用条件に同意した後に、その仮想マシンを削除することができます。

  5. 変換先サービスで、PowerShell、CLI、または Azure Resource Manager テンプレートを使用して、複製された OS ディスクから仮想マシンを再作成します。 ディスクに接続されているマーケットプレース プランを含めます。 プランに関する情報は、新しいサブスクリプションで購入したプランと一致している必要があります。 詳細については、VM の作成に関するページを参照してください。

詳細については、「Marketplace Azure 仮想マシンを別のサブスクリプションに移動する」を参照してください。

Azure Backup を利用した仮想マシン

Azure Backup で構成された仮想マシンを移動するには、復元ポイント コレクション (スナップショット) をコンテナーから削除する必要があります。 コンテナーに既にコピーされている復元ポイントは、保持および移動が可能です。

仮想マシンに対して論理的な削除が有効になっている場合は、その復元ポイントが保持されている間は仮想マシンを移動することはできません。 論理的な削除を無効にするか、復元ポイントの削除後、14 日間経過するまで待ってください。

ポータル

  1. バックアップを一時的に停止し、バックアップ データを保持します。

  2. Azure Backup で構成された仮想マシンを移動するには、次の手順を実行します。

    1. 自分のバックアップが含まれるリソース グループを見つけます。 既定のリソース グループを使った場合、名前は次のようなパターンで付けられています: AzureBackupRG_<VM location>_1。 たとえば、名前は AzureBackupRG_westus2_1 の形式になります。

      カスタム リソース グループを作成した場合は、そのリソース グループを選びます。 リソース グループが見つからない場合は、ポータルで [復元ポイント コレクション] を検索します。 AzureBackup_<VM name>_########### のような名前付けパターンを持つコレクションを探します。

    2. 種類が復元ポイント コレクションで名前付けパターンが AzureBackup_<VM name>_########### であるリソースを選びます。

    3. このリソースを削除します。 この操作では、インスタント復旧ポイントのみが削除され、コンテナー内のバックアップされたデータは削除されません。

    4. 削除操作が完了したら、仮想マシンを移動できます。

  3. VM をターゲット リソース グループに移動します。

  4. バックアップを再構成します。

スクリプト

  1. 自分のバックアップが含まれるリソース グループを見つけます。 既定のリソース グループを使った場合、名前は次のようなパターンで付けられています: AzureBackupRG_<VM location>_1。 たとえば、名前は AzureBackupRG_westus2_1 の形式になります。

    カスタム リソース グループを作成した場合は、そのリソース グループを見つけます。 リソース グループが見つからない場合は、次のコマンドを使って、仮想マシンの名前を指定します。

    az resource list --resource-type Microsoft.Compute/restorePointCollections --query "[?starts_with(name, 'AzureBackup_<vm-name>')].resourceGroup"
    
  2. 仮想マシンを 1 つだけ移動する場合は、その仮想マシンの復元ポイント コレクションを取得します。

    RESTOREPOINTCOL=$(az resource list -g AzureBackupRG_<VM location>_1 --resource-type Microsoft.Compute/restorePointCollections --query "[?starts_with(name, 'AzureBackup_<VM name>')].id" --output tsv)
    

    このリソースを削除します。 この操作では、インスタント復旧ポイントのみが削除され、コンテナー内のバックアップされたデータは削除されません。

    az resource delete --ids $RESTOREPOINTCOL
    
  3. この場所にある、バックアップを使用した仮想マシンをすべて移動する場合は、その仮想マシンの復元ポイント コレクションを取得します。

    RESTOREPOINTCOL=$(az resource list -g AzureBackupRG_<VM location>_1 --resource-type Microsoft.Compute/restorePointCollections)
    

    各リソースを削除します。 この操作では、インスタント復旧ポイントのみが削除され、コンテナー内のバックアップされたデータは削除されません。

    az resource delete --ids $RESTOREPOINTCOL
    

次のステップ