📀

異なる Entra テナント間で Azure VM をコピーする

2024/11/14に公開

異なる Entra テナント間で Azure VM をコピーする

Azure VM のコピーについて、同 Azure サブスクリプション内や、同 Entra テナントでの異なる Azure サブスクリプション間でのコピーは簡単にできるが、異なる Entra テナント間での Azure VM のコピーは一工夫が必要である。この記事では、異なる Entra テナント間で Azure VM をコピーする方法をメモとして残す。

前提

手順概要

  1. コピーしたい VM のスナップショットを作成する
  2. 作成されたスナップショットで SAS URL を生成する
  3. 宛先の Entra テナントに ストレージアカウント(Azure Blob Storage) と Blob コンテナー を作成する
  4. AzCopy を使って宛先テナントにスナップショットをコピーする
  5. コピーしたスナップショットのVHDファイルからマネージドディスクを作成する
  6. マネージドディスクから VM を作成する

手順詳細

  1. コピーしたい VM のスナップショットを作成する

  2. 作成されたスナップショットで SAS URL を生成する

    • 作成されたスナップショットに移動し、 [スナップショットのエクスポート] をクリックする。
    • SAS URL のセキュリティを高めるためには、 [データ アクセス認証モードを有効にする] にチェックを入れる。
    • [URL の期限が切れるまでの秒数] について、7,200 秒など必要十分な時間を設定し、 [URL の生成] をクリックする。
    • 生成された SAS URL をコピーし、安全にメモに残す。 = ★ Source SAS URL
  3. 宛先の Entra テナントに ストレージアカウント(Azure Blob Storage) と Blob コンテナー を作成する

    • 宛先の Azure サブスクリプションに移動し、 ストレージアカウント を作成する。
    • 作成したストレージアカウントに移動し、 [コンテナー]vm-snapshot など任意の名前で新しく作成する。
    • 作成したコンテナーに移動し、 [共有アクセス トークン] から SAS URL を生成する。
      • [アクセス許可] は、 書き込み のみを選択する。
      • [開始日時と有効期限の日時] は、必要十分な時間を設定する。
      • [使用できる IP アドレス] で、適切にアクセス元の IP アドレスを制限することが望ましい。
    • 生成された BLOB SAS URL をコピーし、安全にメモに残す。
    • (重要) BLOB SAS URL 内の "?" の前に、/{vhdファイル名}.vhd を追加する。 = ★ Destination SAS URL
      (例)https://xxxx.blob.core.windows.net/vm-snapshot/copy-vm-name.vhd?sp={略}
      ※ ファイルの拡張子を .vhd に指定することで、後の工程で、コピーしたファイルから VM を作成できるようになる。
  4. AzCopy を使って宛先テナントにスナップショットをコピーする

    • azcopy を使って、 Source SAS URL から Destination SAS URL にスナップショットをコピーする。
    • 以下のコマンドを実行する。
    azcopy copy "{Source SAS URL}" "{Destination SAS URL}"
    
    • 参考までに、1 TiB のディスクのコピーに約 30 分かかりました。
  5. コピーしたスナップショットのVHDファイルからマネージドディスクを作成する

    • Azure Portal から、[リソースの作成]Managed Disks を作成する。
    • [ソースの種類]ストレージ BLOB を選択し、 [ソース BLOB] に、先ほどコピーした VHD ファイルを指定する。
    • その他の設定を適切に行い、マネージドディスクを作成する。
  6. マネージドディスクから VM を作成する

    • 作成されたマネージドディスクに遷移し、[VM の作成] から新しい VM を作成する。

以上

今後の改善点

Discussion