適用対象:Azure Stack Edge Pro - GPU
Azure Stack Edge Pro 2
Azure Stack Edge Pro R
Azure Stack Edge Mini R
Azure Stack Edge Pro GPU デバイスに VM をデプロイするには、Azure で VM を作成するために使用できるカスタム VM イメージを作成する必要があります。 この記事では、Azure で Windows および Linux VM 用のカスタム VM イメージを作成し、それらのイメージを Azure Storage アカウントにダウンロードまたはコピーする手順について説明します。
カスタム VM イメージを準備するために必要なワークフローがあります。 イメージ ソースの場合、Azure でサポートされている任意のサイズの固定 VHD を使用する必要があります。 VM サイズのオプションについては、 サポートされている VM サイズに関するページを参照してください。
前提条件
VM イメージを作成する前に、次の前提条件を満たします。
- AzCopy をダウンロードします。 AzCopy を使用すると、OS ディスクを Azure ストレージ アカウントにすばやくコピーできます。
カスタム VM イメージの作成
カスタム VM イメージを準備する手順は、VM が Windows か Linux かによって異なります。
Windows の VM イメージを作成するには、次の手順のようにします。
Azure で Windows 仮想マシンを作成します。 ポータルの手順については、 Azure portal での Windows 仮想マシンの作成に関するページを参照してください。 PowerShell の手順については、「 チュートリアル: Azure PowerShell を使用した Windows VM の作成と管理」を参照してください。
仮想マシンには、第 1 世代または第 2 世代の VM を指定できます。 VM イメージの作成に使用する OS ディスクは、Azure でサポートされている任意のサイズの固定サイズの VHD である必要があります。 VM サイズのオプションについては、 サポートされている VM サイズに関するページを参照してください。
Azure Marketplace では、固定サイズの VHD を備えた任意の Windows Gen1 VM または Gen2 VM を使用できます。 動作する可能性がある Azure Marketplace イメージの一覧については、 Azure Stack Edge で一般的に使用される Azure Marketplace イメージに関するページを参照してください。
仮想マシンを一般化します。 VM を一般化するには、 仮想マシンに接続し、コマンド プロンプトを開き、次の
sysprep
コマンドを実行します。c:\windows\system32\sysprep\sysprep.exe /oobe /generalize /shutdown /mode:vm
重要
コマンドが完了すると、VM はシャットダウンされます。 VM は再起動しないでください。 VM を再起動すると、準備したディスクが破損します。
OS ディスクをストレージ アカウントにダウンロードする
カスタム VM イメージを使用してデバイスに VM をデプロイするには、OS ディスクを Azure ストレージ アカウントにダウンロードする必要があります。 デバイスに使用したのと同じストレージ アカウントを使用することをお勧めします。
VM 用の OS ディスクを Azure ストレージ アカウントにダウンロードするには、次の手順のようにします。
ポータルで VM を停止します。
sysprep
を実行して Windows VM を一般化した後でそれがシャットダウンされた場合でも、OS ディスクの割り当てを解除するためにこれを行う必要があります。OS ディスクのダウンロード URL を生成し、URL を書き留めます。 既定では、その URL は 3600 秒 (1 時間) 後に期限切れになります。 必要に応じて、その時間を延ばすことができます。
次のいずれかの方法を使用して、Azure ストレージ アカウントに VHD をダウンロードします。
方法 1: 高速で転送するには、AzCopy を使用して VHD を Azure ストレージ アカウントにコピーします。 手順については、以下の「 AzCopy を使用して VM イメージをストレージ アカウントにコピーする」を参照してください。
方法 2: 簡単なワンクリックの方法では、ダウンロード URL を生成するときに [ VHD ファイルのダウンロード ] (手順 3b) を選択して、ポータルからディスクをダウンロードできます。 この方法を使用すると、ディスクのコピーにかなりの時間がかかる場合があります。ポータルを使用して VM を作成できるようにするには、 VHD を Azure ストレージ アカウントにアップロード する必要があります。
これで、この VHD を使用して VM を作成し、Azure Stack Edge Pro GPU デバイスにデプロイできます。
AzCopy を使用してストレージ アカウントに VHD をコピーする
次の手順では、イメージを使用して Azure Stack Edge Pro GPU デバイスに VM をデプロイできるように、AzCopy を使用してカスタム VM イメージを Azure ストレージ アカウントにコピーする方法について説明します。 カスタム VM イメージは、Azure Stack Edge と同じリージョンまたはサブスクリプションにある、使用中の既存のストレージ アカウントに格納することをお勧めします。
コンテナー用のターゲット URI を作成する
AzCopy には、ストレージ アカウント内の新しいイメージのコピー先を示す ターゲット URI が 必要です。 AzCopy を実行する前に、ファイルのコピー先の BLOB コンテナーの Shared Access Signature (SAS) URL を生成します。 ターゲット URI を作成するには、SAS URL にファイル名を追加します。
準備した VHD 用のターゲット URI を作成するには、次の手順のようにします。
Azure ストレージ アカウント内のコンテナー用の SAS URL を生成するには、次の手順のようにします。
Azure portal でストレージ アカウントを開き、[コンテナー] を選択 します。 使用する BLOB コンテナーを選択して右クリックし、[ SAS の生成] を選択します。
[SAS の生成] 画面で、[アクセス許可] で [読み取り] と [書き込み] を選択します。
[ SAS トークンと URL の生成] を選択し、[ コピー ] を選択して BLOB SAS URL をコピーします。
azcopy
コマンドのターゲット URI を作成するには、目的のファイル名を SAS URL に追加します。BLOB SAS URL の形式は次のとおりです。
クエリ文字列を開始する疑問符の前に、
/<filename>.vhd
の形式でファイル名を挿入します。 ファイル名の拡張子は vhd にする必要があります。たとえば、次の BLOB SAS URL は、osdisk.vhd ファイルを mystorageaccount 内の virtualmachines BLOB コンテナーにコピーします。
VHD を BLOB コンテナーにコピーする
AzCopy を使用して VHD を BLOB コンテナーにコピーするには、次の手順のようにします。
AZCopy をまだダウンロード していない場合はダウンロードします。
PowerShell で azcopy.exe を保存したディレクトリに移動し、次のコマンドを実行します。
.\azcopy copy <source URI> <target URI> --recursive
どこで:
-
<source URI>
は、前に生成したダウンロード URL です。 -
<target URI>
は、新しいイメージをコピーする Azureストレージ アカウント内の BLOB コンテナーを示します。 手順については、「 AzCopy を使用して VM イメージをストレージ アカウントにコピーする」を参照してください。
たとえば、次の URI は、windowsosdisk.vhd という名前のファイルを mystorageaccount ストレージ アカウントの仮想マシン BLOB コンテナーにコピーします。
.\azcopy copy "https://md-h1rvdq3wwtdp.z24.blob.storage.azure.net/gxs3kpbgjhkr/abcd?sv=2018-03-28&sr=b&si=f86003fc-a231-43b0-baf2-61dd51e3a05a&sig=abc123DEF456...%3D" "https://mystorageaccount.blob.core.windows.net/virtualmachines/osdisk.vhd?sp=rw&st=2021-05-21T16:52:24Z&se=2021-05-22T00:52:24Z&spr=https&sv=2020-02-10&sr=c&sig=abc123DEF456...%3D" --recursive
-
サンプル出力
次に示すのは、上記の AzCopy コマンドの例を使用してコピーが正常に完了した場合の出力です。
PS C:\azcopy\azcopy_windows_amd64_10.10.0> .\azcopy copy "https://md-h1rvdq3wwtdp.z24.blob.storage.azure.net/gxs3kpbgjhkr/abcd?sv=2018-03-28&sr=b&si=f86003fc-a231-43b0-baf2-61dd51e3a05a&sig=abc123DEF456...%3D" "https://mystorageaccount.blob.core.windows.net/virtualmachines/osdisk.vhd?sp=rw&st=2021-05-21T16:52:24Z&se=2021-05-22T00:52:24Z&spr=https&sv=2020-02-10&sr=c&sig=abc123DEF456...%3D" --recursive
INFO: Scanning...
INFO: Failed to create one or more destination container(s). Your transfers may still succeed if the container already exists.
INFO: Any empty folders will not be processed, because source and/or destination doesn't have full folder support
Job 783f2177-8317-3e4b-7d2f-697a8f1ab63c has started
Log file is located at: C:\Users\aseuser\.azcopy\783f2177-8317-3e4b-7d2f-697a8f1ab63c.log
INFO: Destination could not accommodate the tier P10. Going ahead with the default tier. In case of service to service transfer, consider setting the flag --s2s-preserve-access-tier=false.
100.0 %, 0 Done, 0 Failed, 1 Pending, 0 Skipped, 1 Total,
Job 783f2177-8317-3e4b-7d2f-697a8f1ab63c summary
Elapsed Time (Minutes): 1.4671
Number of File Transfers: 1
Number of Folder Property Transfers: 0
Total Number of Transfers: 1
Number of Transfers Completed: 1
Number of Transfers Failed: 0
Number of Transfers Skipped: 0
TotalBytesTransferred: 136367309312
Final Job Status: Completed
PS C:\azcopy\azcopy_windows_amd64_10.10.0>