この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
概要
皆さんはAzureにある仮想マシン(以下VM)を別のサブスクリプションに複製したいと考えたことはありませんか?
例えば「本番環境のサブスクリプションに存在するVMを検証用のサブスクリプションに複製していろいろテストしたい」または「検証環境に構築した仮想マシンを本番環境に簡単にデプロイしたい」といった方にこの手順がお勧めです。
以下に概要図と複製するための大まかな順序を掲載いたします。
やること自体はシンプルですが、この中だと「②コンテナに転送」が少々厄介でした。
以下①~④まで1点ずつ詳細にご説明させていただきます。
0.事前準備
- ストレージアカウントは事前に作成しておきます。
ストレージアカウントを作成するにあたって重要な点としては、必ず「複製するVMと同じリージョンにデプロイする」という点です。その部分さえ押さえておけば問題ありません。
デプロイ後にコンテナを作成します。
左ブレードからコンテナーを選択 → +コンテナーを選択 → コンテナ名を入力して作成を選択
- 転送作業に使用するツールを使用できるようにする
AzCopy v10 を使用して Azure Storage にデータをコピーまたは移動する | Microsoft Docs
-
上記リンクからダウンロードしたAzCopyモジュールを作業端末の任意の場所に格納します
- Zipファイルを解凍してください
- 管理者権限のPowerShellを起動して、モジュールを格納したフォルダに移動します(環境変数を設定してもよいかもしれません)
- 下記コマンドを実行してエラーが出力されないことを確認したら準備完了
.\azcopy
1.ディスクの複製
Azureの機能でディスクからスナップショットを作成することができます。
1.1 複製したいVMをAzurePortal上で選択します。
※ディスクのスナップショットを作成する際は必ずVMを停止状態にしてください。
1.2 ディスク名を選択します。
1.3 スナップショットの作成を選択します。
1.4 必要事項を入力・選択し確認及び作成を選択します。
1.5 リソース展開後、作成されたディスクに移動します。
1.6 [スナップショットのエクスポート]を押下します。
1.7 「URL の期限が切れるまでの秒数」を設定し、[URLの生成]を押下します。
1.8 エクスポート用に、ディスクのSAS URLが生成されるので、コピー&ペーストを行い、メモ帳などに保管しておきます。
2.コンテナに転送
続いて作成したディスクのスナップショットをAzureのストレージアカウント内のコンテナに転送する作業です。
2.1 「0.事前準備」で作成したコンテナの[・・・]を押下します。
2.2 [SASの生成]を押下します。
※SASとは・・・Shared Access Signature (SAS) を使用すると、ストレージ アカウント内のコンテナーと BLOB への制限付きアクセスを許可できます。(詳しくはこちら)
2.3 「アクセス許可」から[読み取り]、[追加]、[作成]、[書き込み]を選択し[SASトークン及びURLを生成]を押下します。
2.4 生成後「BLOB SAS URL」が発行されるのでコピー&ペーストを行い、メモ帳などに保管しておきます。
2.5 VHDファイル(ディスクのスナップショット)をAZコピーで転送します。
PowerShellで以下のコマンドを使用してください。
azcopy copy ‘<SAS URL (コピー元) >’ ‘https://<ストレージ アカウント名>.blob.core.windows.net/vhds/<コピー後の VHD ファイル名>.vhd?<SAS URL>’
例
azcopy copy ‘https://md-j1sknmwrzvnr.blob.core.windows.net/kgt1wphtkmrk/abcd?sv=2018-03-28&sr=b&si=5e6b6cc1-6d3d-48d4-a088-cf07e8e68bf0&sig=x2ljIJYoAt5tvvVqSeysqBYNv5mlpB3kpMvnYU2zcI0%3D’ ‘https://*********.blob.core.windows.net/vhds/test.vhd?sp=racwdli&st=2022-04-11T07:55:49Z&se=2022-04-11T15:55:49Z&spr=https&sv=2020-08-04&sr=c&sig=eJ2%2FW5ZhOEs05RKwFtplDxLkCmRaKymSWkqI6YRYJZ4%3D’
実行するとこのような結果となります。Completedが表示されれば問題なく実行されております。
2.6 ストレージアカウントのコンテナを確認し、VHDファイルが転送されたことを確認します。
3.マネージドディスクの作成
3.1 Azureのリソースの作成から「ディスク」を選択し、[作成]を押下します。
3.2 「マネージドディスクの作成」で各設定項目を入力し、[確認及び作成]を押下します。
※ソースの種類は [ ストレージBLOB ] 、ソースBLOBで参照を押下し、2.6で確認したVHDファイルを選択します。
3.3 作成したディスクを確認します。
4.VMの作成
4.1 作成したマネージドデスクのリソース画面に遷移します。
4.2 [VMの作成]を押下します。
4.3 VMの各種設定を記載し、[確認及び作成]を押下します。
4.4 VMがデプロイされたことを確認し、構築完了です。