リージョンの仮想マシンを可用性ゾーンに移行する (プレビュー)

適用対象: ✔️ Linux VM ✔️ Windows VM

この記事で説明する移行手順は、可用性セット内の仮想マシンには適用 されません 。 可用性セット内の仮想マシンを移動する必要がある場合は、「可用性セットを Virtual Machine Scale Sets

この記事では、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

機能の登録が完了するまでに数分かかる場合があります。 状態が [登録済み] と表示されるまで待ってから続行します。

移行の概要

移行プロセスは、次の手順で構成されます。

  1. VM の割り当てを解除する - リージョン VM を停止して割り当てを解除する
  2. ゾーンの割り当てを更新 する - VM を特定の可用性ゾーンに割り当てる
  3. VM を起動する - 新しいゾーンで VM の電源をオンにする
  4. (省略可能) 仮想マシン スケール セットへのアタッチ - フレキシブル オーケストレーションを使用してゾーン 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 のスケール セットの場合、singlePlacementGroupfalse に設定されます
az vmss show --resource-group "<resource-group-name>" --name "<scale-set-name>" --query "{Zones:zones, OrchestrationMode:orchestrationMode, SinglePlacementGroup:singlePlacementGroup}"

次のステップ