Slide 1

Slide 1 text

VHDファイルを利 用してAzure VM を作成してみた JAZUG FUKUOKA 2024/11/11 やしきん

Slide 2

Slide 2 text

VHDファイルからAzure VMが作れるらしい • VHDファイル(仮想ハードディスクドライブ)を利用してAzureVMを 作成できるという記述を発見 Windows VHD の Azure へのアップロードの準備 - Azure Virtual Machines | Microsoft Learn • 普段Azure PortalからVMを作るので目新しいと感じました

Slide 3

Slide 3 text

ざっくり作成手順 • VHDファイルを用意する • ストレージを利用してVHDファイルをアップロードする • アップロードしたVHDファイルを利用してAzureVMを作成する

Slide 4

Slide 4 text

最初はHyper-Vマネージャーで VHDファイルを作成しようとしていた • Hyper-Vマネージャーで自分が作った仮想環境からVHDファイル出力し て そこからVM作ってみたい! • なんか楽しそう! • やってみたい!

Slide 5

Slide 5 text

Hyper-VでのVHDファイル作成 • ISOイメージのインストール • Hyper-VでISOイメージを利用してUbuntu Server 24.04 LTSの仮想 マシンを作成する • 仮想マシンのセットアップをする • ファイルをVHDに変換する Azure 上での Ubuntu Linux VHD の作成とアップロード - Azure Virtual Machines | Microsoft Learn Windows 10 ProでHyper-Vを使用してUbuntu 24.04 LTSをインストールする方法 | IT開発メモ

Slide 6

Slide 6 text

ISOイメージのインストール 公式サイトからインストールする (Ubuntuを入手する | Ubuntu | Ubuntu)

Slide 7

Slide 7 text

Ubuntuの仮想マシンのセットアップ 仮想マシンができたら以下のように表示されるので起動する

Slide 8

Slide 8 text

Ubuntuの仮想マシンのセットアップ その後、ユーザー名とパスワードを設定する

Slide 9

Slide 9 text

Ubuntuの仮想マシンのセットアップ セットアップが完了するとターミナル画面になる

Slide 10

Slide 10 text

VHDディスクへの変換 PowerShellを管理者として実行し、Convert-VHDでVHDXファイルを VHDに変換!

Slide 11

Slide 11 text

VHDファイルのアップロード

Slide 12

Slide 12 text

アップロード&ディスクの作成に失敗しました • 失敗した原因で考えられそうな部分 • AzureVMを作成するための構成ができていない • あまり調べずにコマンド上で可変長・固定長の変換をしていた • 安定版のバージョンを調べずにUbuntuイメージを利用していた • ポータルからアップロードするとどれくらい今アップロードできている かわからない

Slide 13

Slide 13 text

手製でVHDを用意するのは失敗したけれど なんとかしてVHDファイルからAzure VMを作成する方法を検証したい!

Slide 14

Slide 14 text

別の方法でVHDファイルを用意して再チャレンジ • VHDファイルをHyper-Vを利用して作成する←VHDファイルを用意する • ストレージを利用してVHDファイルをアップロードする • アップロードしたVHDファイルを利用してAzureVMを作成する

Slide 15

Slide 15 text

VHDのイメージを利用してVMを作成する • 既存のVMを作成している場合、ディスクからAzure VMのVHDファイル をエクスポートすることができる • ただしこれにはマネージドディスクのデータオペレーターのロールが必要 (所有者ロールなどそのままのロールではVHDファイルをインストール できない) • 「 Data Operator for Managed Disk 」で検索すると該当ロールが見つ かる 最初はロールを探しきれず、意外とこの部分で詰まる

Slide 16

Slide 16 text

VHDファイルからマネージドディスクの作成 • 「Data Operator for Managed Disk」Azure RBACの割り当て

Slide 17

Slide 17 text

VHDファイルからマネージドディスクの作成 • 既存のVMのディスクの「ディスクのエクスポート」から「URLの生成」を選択

Slide 18

Slide 18 text

VHDファイルからマネージドディスクの作成 • 既存のVMのディスクにアクセスしてVHDファイルをエクスポート

Slide 19

Slide 19 text

VHDファイルをストレージアカウントにアップロードする • リソースグループを作成する

Slide 20

Slide 20 text

VHDファイルをストレージアカウントにアップロードする • ストレージアカウントを作成する

Slide 21

Slide 21 text

VHDファイルをストレージアカウントにアップロード する • コンテナを作成する • この際自身をストレージ BLOB データ共同作成者に設定する

Slide 22

Slide 22 text

VHDファイルをストレージアカウントにアップロードする • エクスポートしたVHDファイルをアップロードする • 今度はちゃんとどれくらい経過しているかが表示されている

Slide 23

Slide 23 text

しかしまたしても時間がかかる • あまりにも時間がかかりすぎる・・・・ • ディスクの容量も大きいのでだいたい80%になるまで 1時間以上かかった • もっと早い方法はないのか→AzCopyでやってみる

Slide 24

Slide 24 text

VHDファイルからマネージドディスクの作成 • エクスポートしたVHDファイルをAzCopyを利用してアップロードする →15分で完了!早い!

Slide 25

Slide 25 text

AzCopy最高! • あんなにかかっていたアップロードがすぐに終わった・・・! • 今度からAzCopy使えるケースなら絶対に使おう(心に誓う) • さらに最適化することも可能 Azure Storage で AzCopy v10 のパフォーマンスを最適化する | Microsoft Learn • AzCopy信者爆誕

Slide 26

Slide 26 text

アップロードしたVHDファイルを利用してディスク作成 • コンテナにアップロードされたVHDファイルを利用して ディスクを作成する

Slide 27

Slide 27 text

ディスクからイメージを作成する • 作成したディスクからイメージを作成する

Slide 28

Slide 28 text

VM接続のためにSSHキーを作成する • SSHキーを作成する

Slide 29

Slide 29 text

イメージを利用してVMを作成する • VMをイメージを利用して作成する

Slide 30

Slide 30 text

NSGを作成する • NSGでSSH接続を許可する

Slide 31

Slide 31 text

挙動を確認する • 接続できたことを確認

Slide 32

Slide 32 text

作成したリソース • 最終的にこれぐらいリソースができた

Slide 33

Slide 33 text

VHDファイルからVM作成をして感じたこと • 利用するVHDファイルがAzure用のイメージとして構成されていないと失敗す る • マイグレートを行うためのサービスがあるので利用方法を調べて使用してみる のもよさそう • Azure CLIでVHDファイルをアップロードするととてつもなく時間がかかるの でAzCopyでのアップロードも選択肢に入れる • ストレージアカウントにアップロードするまでがとにかく長い • VMを作成するだけならポータルやAzureCLIからVMを作成した方が早い

Slide 34

Slide 34 text

VHDファイルからVMを作成するケース • どういった際にVHDファイルからVMを作る場合があり、なぜそうする 必要があるのか社内勉強会で話してみた • オンプレからクラウドに移行する理由 • 自社で動いているデータセンターを終了する • 物理機器は経年劣化等メンテナンスや買い替えコストもかかること を考慮して • クラウドでGPUマシン等扱える幅が大きくなったため移行

Slide 35

Slide 35 text

VHDファイルからVMを作成するケース • オンプレからクラウドに移行するとき • 自社で動いているデータセンターを終了する • 物理機器は経年劣化等メンテナンスや買い替えコストもかかること を考慮して • クラウドでGPUマシン等扱える幅が大きくなったため移行 →自分で検証する時になぜこの手段でやる必要があるかをイメージす るとステップアップできそう

Slide 36

Slide 36 text

参考記事 • Azure 上での Ubuntu Linux VHD の作成とアップロード - Azure Virtual Machines | Microsoft Learn • VHD を Azure にアップロードするか、リージョン間でディスクをコピーする - Azure CLI - Azure Virtual Machines | Microsoft Learn • AzCopy v10 を使用して Azure Storage にデータをコピーまたは移動する | Microsoft Learn • リリース前の Ubuntu 22.04 イメージを Azure に持ち込み VM 作成までやってみた #AzureCLI - Qiita • Azure 組み込みロール - Azure RBAC | Microsoft Learn • Azure VMware Solution の導入シナリオの概要 - Cloud Adoption Framework | Microsoft Learn • Azure Storage で AzCopy v10 のパフォーマンスを最適化する | Microsoft Learn

Slide 37

Slide 37 text

ご清聴ありがとうございました!