適用対象: ✔️ Linux VM ✔️ Windows VM
注
この記事で説明する移行手順は、可用性セット内の仮想マシンには適用 されません 。 可用性セット内の仮想マシンを移動する必要がある場合は、「
この記事では、VM 名、データ ディスク、その他のステートフル プロパティを保持しながら、Azure仮想マシン (VM) をリージョン (ゾーン以外) のデプロイから同じリージョン内の特定の可用性ゾーンに移行する方法について説明します。
仮想マシンを別のリージョンに移行するには、Azure Resource Moverを使用します。
Important
リージョン間 VM の移行は現在 、パブリック プレビュー段階です。 プレビュー版は、追加使用条件に同意することを条件に使用できます。 この機能の一部の側面は、一般公開 (GA) 前に変更される可能性があります。
この移行機能は、Azure ポータルではまだ使用できません。
[前提条件]
開始する前に、次のことを確認してください。
- Azure サブスクリプション移行プレビュー機能が登録されている
- VM を含むリソース グループの共同作成者ロール以上
- Azure CLI 2.72.0 以降、または Azure PowerShell Az モジュールがインストールされている
- 移行する既存のリージョン (ゾーン非対応) VM
- ターゲット可用性ゾーンは、ターゲット内の VM の現在のサイズをサポートする必要があります
プレビュー機能を登録する
移行機能には登録が必要です。 サブスクリプションの RegionalToZonalVMMigrationForDeallocatedVM プレビュー機能を登録します。
# Set your subscription context
az account set --subscription "<subscription-name-or-id>"
# Register the migration feature
az feature register --namespace Microsoft.Compute --name RegionalToZonalVMMigrationForDeallocatedVM
# Check registration status (wait for "Registered" state)
az feature show --namespace Microsoft.Compute --name RegionalToZonalVMMigrationForDeallocatedVM --query properties.state -o tsv
注
機能の登録が完了するまでに数分かかる場合があります。 状態が [登録済み] と表示されるまで待ってから続行します。
移行の概要
移行プロセスは、次の手順で構成されます。
- VM の割り当てを解除する - リージョン VM を停止して割り当てを解除する
- ゾーンの割り当てを更新 する - VM を特定の可用性ゾーンに割り当てる
- VM を起動する - 新しいゾーンで VM の電源をオンにする
- (省略可能) 仮想マシン スケール セットへのアタッチ - フレキシブル オーケストレーションを使用してゾーン VM をスケール セットに追加する
Important
- ゾーンの割り当て前に VM の割り当てを解除する必要があります。 それに応じてダウンタイムを計画します。
- VM は、ゾーンの割り当てが完了した直後に開始できます。
- 移行は一方向の操作です。 ゾーン VM をリージョンデプロイに移行することはできません。
サポートされている構成
移行パス
| Source | Target | Description |
|---|---|---|
| リージョナルVM | ゾーン VM | 特定の可用性ゾーンに配置された VM (1、2、または 3) |
| リージョナルVM | Virtual Machine Scale Sets のゾーン対応 VM | ゾーンに配置され、フレキシブル スケール セットに接続されている VM |
| 近接配置グループ内のリージョン VM | ゾーン VM | 削除された近接配置グループのゾーンに移動された仮想マシン (VM) |
制限事項
移行では、次の構成はサポートされていません。
- Basic パブリック IP アドレスを持つ VM - 移行前に Standard SKU にアップグレードする
- Basic Load Balancer の背後にある VM - 移行前に Standard Load Balancer にアップグレードする
- アンマネージド ディスクを持つ VM - 移行前にマネージド ディスクに変換する
手順 1: VM の割り当てを解除する
ゾーンの割り当てを更新する前に、VM の割り当てを完全に解除する必要があります。
az vm deallocate --resource-group "<resource-group-name>" --name "<vm-name>"
続行する前に、VM が 停止 (割り当て解除) 状態であることを確認します。
手順 2: ゾーンの割り当てを更新する
VM を特定の可用性ゾーンに割り当てます。 VM の構成に基づいて適切なオプションを選択します。
標準ゾーンの割り当て
近接プレースメントグループに属していない VM の場合:
az vm update \
--resource-group "<resource-group-name>" \
--name "<vm-name>" \
--set zones='["<target-zone>"]'
近接配置グループの削除によるゾーンの割り当て
VM が現在近接通信配置グループ内にある場合は、ゾーンの割り当て中に近接配置グループの関連付けを削除する必要があります。
az vm update \
--resource-group "<resource-group-name>" \
--name "<vm-name>" \
--set zones='["<target-zone>"]' \
--ppg ""
ゾーンの割り当てが成功すると、HTTP 状態コード 200 が返されます。
Tip
ゾーンの可用性はリージョンによって異なります。 特定のリージョンで VM サイズに使用できるゾーンを確認するには、次のコマンドを実行します。
az vm list-skus --location "<region>" --zone --resource-type virtualMachines --output table
手順 3: VM を起動する
ゾーン割り当ての後、VM は 停止 (割り当て解除) 状態になります。 VM を起動します。
az vm start --resource-group "<resource-group-name>" --name "<vm-name>"
注
ゾーンの割り当てが完了した直後に VM を起動できます。 データ移行はバックグラウンドで透過的に続行されます。
手順 4 (省略可能): 仮想マシン スケール セットに VM をアタッチする
VM を可用性ゾーンに移行した後、必要に応じて、自動スケーリングやローリング アップグレードなどの管理機能を強化するために、柔軟なオーケストレーションを使用して仮想マシン スケール セットにアタッチできます。
スケール セットへの接続の前提条件
- スケール セットで フレキシブル オーケストレーション モードを使用する必要がある
- スケール セットは、VM と 同じリージョン に存在する必要があります
- スケール セット ゾーンの構成には、VM の割り当て済みゾーンが含まれている必要があります
- 障害ドメイン数が 1 のスケール セットの場合、
singlePlacementGroupを に設定する必要があります。false
リージョン VM はvirtualMachineScaleSet プロパティに直接アクセスすることができないため、az resource update を使用して、その下位の VM リソース上の JSON オブジェクトとしてプロパティを修正します。
az resource update \
--ids "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachines/<vm-name>" \
--set 'properties.virtualMachineScaleSet={"id":"/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachineScaleSets/<scale-set-name>"}'
移行の確認
移行後、VM が正しい可用性ゾーンで実行されていることを確認します。
az vm show --resource-group "<resource-group-name>" --name "<vm-name>" --query "{Name:name, Zone:zones[0], Location:location}" --output table
Troubleshooting
ゾーンで利用できない VM サイズ
エラー: The requested VM size is not available in the specified location/zone
ソリューション: ターゲット ゾーンで使用可能な VM サイズを確認します。
az vm list-skus --location "<region>" --zone "<zone>" --resource-type virtualMachines --output table
現在のサイズがターゲット ゾーンで使用できない場合は、移行前に VM サイズを変更することを検討してください。
Proximity Placement Group の競合
エラー: Cannot assign zone to a VM in a Proximity Placement Group
ソリューション:手順 2 で説明されている近接通信配置グループの削除オプションでゾーンの割り当てを使用します。 これにより、近接配置グループの関連付けが削除され、1 回の操作でゾーンが割り当てられます。
アクセス許可が不十分です
エラー: The client does not have authorization to perform action
ソリューション: リソース グループに 共同作成者 ロール以上があることを確認します。
ゾーンの割り当て後にスケール セットの添付ファイルが失敗する
エラー: Cannot attach VM to the specified Virtual Machine Scale Set
ソリューション: 次のことを確認します。
- スケール セットが フレキシブル オーケストレーション モードを使用する
- スケール セット ゾーンの構成には、VM のゾーンが含まれます
- 障害ドメイン数が 1 のスケール セットの場合、
singlePlacementGroupはfalseに設定されます
az vmss show --resource-group "<resource-group-name>" --name "<scale-set-name>" --query "{Zones:zones, OrchestrationMode:orchestrationMode, SinglePlacementGroup:singlePlacementGroup}"