クラシック環境から ARM 環境への仮想マシンの移行方法 (2018/8/31 更新)
こんにちは。Azureサポートチームの小久保です。
本日は、別のサブスクリプションの環境に仮想ネットワーク、仮想マシンを移行する方法をご紹介します。
今回、ご紹介する環境は、Azure サービス マネージャー (以下、ASM) 環境から Azure リソース マネージャー (以下、ARM) 環境への移行となっております。
-2018年8月31日 更新-
クラシック ポータルの利用ができなくなりましたので、操作手順の画面ショットを更新いたしました。
ご参考
ASM 環境から ASM 環境への移行の場合は以下をご確認ください。
- クラシック環境からクラシック環境への仮想マシンの移行方法
https://blogs.technet.microsoft.com/jpaztech/2016/07/11/migration_classic_to_classic/
ARM 環境から ARM 環境への移行の場合は以下をご確認ください。
- ARM 環境から ARM 環境への仮想マシンの移行方法
https://blogs.technet.microsoft.com/jpaztech/2016/07/11/migration_arm_to_arm/
利用する場面
- 開発用のサブスクリプションで作成した仮想マシンを本番環境用のサブスクリプションへ移行したい。
- VHD の保存されているストレージ アカウントを移動したい。
- ストレージ アカウントをプレミアム ストレージに変更したい。
前提条件
- 移行を前提としているため、一般化していない (特殊化状態の) 仮想マシンのシナリオをご紹介します。
構成と作業の流れ
- 仮想マシンの停止
- 移行先のサブスクリプションに、ストレージアカウントおよびコンテナーの作成
- 移行先のサブスクリプションに、仮想ネットワークの作成
- AzCopyにて、OS ディスク、データディスクの VHDファイルの移行
※データディスクが存在しない場合は、OS ディスクのみ移行します。 - 移行した OS ディスクより、仮想マシンの作成
事前準備
AzCopy ツールを利用するため、 Microsoft Azure Storage Tools を以下よりダウンロードし、
お手元のコンピューターにインストールをお願いします。
- Microsoft Azure Storage Tools
https://aka.ms/downloadazcopy
作業手順
1. Azureポータル( https://portal.azure.com/ )より仮想マシンを選択し、[停止]をクリックします。
※仮想マシンの停止に伴い、IPアドレスが解放されること、一時ディスク(Dドライブ)内のデータが削除されることの2点にご注意ください。
2. 移行先のサブスクリプションに、ストレージアカウントを作成します。
ストレージ アカウントを選択後、[+追加] をクリックします。
新規作成するストレージアカウントの情報を入力し、「作成」ボタンをクリックします。
※アカウントの種類は汎用を選択します。
※サブスクリプションは移行先のサブスクリプションを選択します。
作成したストレージアカウント内に新規にコンテナーを作成します。(作成したコンテナー内にVHDファイルを移行します。)
ストレージアカウントから、[BLOB]>[+コンテナー]の順にクリックします。
新規作成するコンテナーの情報を入力し、「OK」をクリックします。
3. 移行先のサブスクリプションに、仮想ネットワークを作成します。
仮想ネットワークを選択後、[+追加] をクリックします。
新規作成する仮想ネットワークの情報を入力し、「作成」ボタンをクリックします。
※サブスクリプションは移行先のサブスクリプションを選択します。
4. AzCopy を利用し、移行先のストレージアカウントへ VHD ファイルをコピーします。
管理者権限にてコマンドプロンプトを起動し、AzCopy のディレクトリに移動し、AzCopy コマンドを実行します。
※同じデータセンター内での VHD ファイルの移動は無償ですが、データセンターを跨いだ VHD ファイルの移動は有償となります為、ご注意ください。
コマンド例:
cd C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy
コマンド基本構文:
azcopy.exe /source:<コピー元コンテナーの URL> /dest:<コピー先コンテナーの URL> /SourceKey:<コピー元ストレージ アカウントのアクセス キー> /destKey:<コピー先ストレージ アカウントのアクセス キー> /pattern:"<VHD ファイル名>.vhd"
※コピー元コンテナーの URL : [ストレージアカウント(クラシック)] > [コンテナー] より、該当のコンテナーのコンテキストメニューを開き、 [コンテナーのプロパティ] よりご確認ください。
※コピー元(および先)コンテナーのアクセスキー : [ストレージアカウント] > [アクセスキー] よりご確認ください。
アクセスキーは、クラシック(コピー元)の場合、PrimaryとSecondaryが、
ARM(コピー先)の場合、Key1とKey2が表示されますが、どちらを利用しても問題ございません。
※ VHD ファイル名は、コピー元のファイル名をご指定ください。
既定では、 [ストレージアカウント(クラシック)] > [コンテナー] より、「vhds」という名前のコンテナー内にVHD
AzCopy の利用方法については、以下の記事もご参照ください。
AzCopy コマンド ライン ユーティリティを使用してデータを転送する
https://azure.microsoft.com/ja-jp/documentation/articles/storage-use-azcopy/
azcopy – BLOB へファイルをやったり取ったり
https://blogs.technet.com/b/ksasaki/archive/2012/11/09/azcopy-blob.aspx
5. コピーした VHD ファイルをもとに、Azure PowerShell を使用して、仮想マシンを作成します。
特殊化 VHD ファイルから仮想マシンを ARM 環境にデプロイする為の Azure PowerShell は
以下ブログにて、公開しております。
特殊化 VHD ファイルから ARM 環境へ仮想マシンをデプロイする Azure PowerShell
https://blogs.technet.microsoft.com/jpaztech/2017/05/24/deployfromspecializedvhd-powershell/
※ 2017/5/25: PowerShell のサンプルを別のブログにいたしました。
<管理ディスクを用いる場合>
以下ブログをご参照ください。
-既存のVHDを管理ディスク(Managed Disk)に変換し、VMをデプロイする
https://blogs.technet.microsoft.com/jpaztech/2017/05/01/convertvhdtomanageddiskdeployvm/