Azure Compute Galleryを使った仮想マシン作成手順(リソース、イメージ定義、OS汎用化からイメージ作成まで)

Azure,Virtual Machine,Windows

Azureには仮想マシン(Azure VM)のイメージを作成して保管しておくサービスとしてAzure コンピューティング ギャラリー(Azure Compute Gallery)があります。
作成したイメージを利用して大規模に仮想マシンを展開すると言った事が出来ます。

今回は、仮想マシンのイメージを保管するリソースの準備から、イメージ作成、イメージを利用した仮想マシン作成までの一連の手順を紹介します。

    • Azure コンピューティング ギャラリーのリソース作成
    • Azure コンピューティング ギャラリーでのVMイメージ定義の作成
    • イメージ元となる仮想マシンを作成
    • Windows Server OSの日本語化、IISのインストール
    • Windows Server 2022の汎用化からイメージ作成
    • イメージを利用した仮想マシンの作成

※Azure Portal上では、Azure Compute GalleryはAzure コンピューティング ギャラリーとして表示されます。そのため本記事ではAzure コンピューティング ギャラリーとして記載しています。
※本記事内ではAzure Virtual Machines(Azure VM)を仮想マシンとして表記しています。
※Windows Server 2022を使用しています。

スポンサーリンク

Azure コンピューティング ギャラリーやVMイメージ定義のリソース

Azure コンピューティング ギャラリーって何?

Azure コンピューティング ギャラリーは仮想マシンのイメージを保管共有するサービスです。
仮想マシンのイメージを作成した場合の保管先になるAzure リソースです。

Azure Compute Gallery でリソースを格納、共有する

仮想マシンイメージを保管したり、保管したイメージを利用して仮想マシンをデプロイできます。
RBACを利用してアクセス制限する事で、特定のメンバーだけに公開と言う事もできます。
同一サブスクリプション内だけではなく、サブスクリプションやテナント間の共有、コミュニティにイメージを共有する事もできます。
リージョンをまたぐ保管もできます。

VMイメージ定義って何?

Azure コンピューティング ギャラリー内で利用される、仮想マシンのイメージ定義やバージョンを指定するためのリソースです。

イメージ定義とイメージ バージョンを作成する

仮想マシンの基本的な構成やオペレーティングシステムを定義します。
イメージのバージョン管理もできます。
イメージとして使用する仮想マシンの設定内容と、VMイメージの定義内容が一致している必要があります。

Azure コンピューティング ギャラリーのリソースを作成

Test_Compute_gallery_01と言うリソース名で、East US 2にリソースを作成します。

リソースを格納および共有するためのギャラリーを作成する

リソース作成
Azure コンピューティング ギャラリーで作成を選択します。
インスタンスの詳細でリソース名やリージョンを指定します。

イメージの共有方法設定です。
今回はサブスクリプション内での共有なので、ロールベースのアクセス制御(RBAC)を選択しています。

確認および作成を選択します。

VMイメージ定義のリソース作成

VMイメージ定義のリソースを作成します。

イメージを作成する

リソース名は"small-win2022-jpn-iis-image"として作成しています。
今回はAzure コンピューティング ギャラリーのメニューからVMイメージ定義を作成します。
イメージのバージョンは複数保持できます。

VMの世代、OSの種類、VMアーキテクチャ、セキュリティの種類、高速ネットワーク設定は、イメージとなる仮想マシンの設定と一致させておく必要があります。
設定が一致していない場合はエラーとなります。

※今回は、個別にVMイメージ定義を作成していますが、仮想マシンのイメージ化と同時に作成することもできます。

VMイメージ定義のリソース作成
Azure コンピューティング ギャラリーでVMイメージ定義を追加します。

VMイメージ定義の設定画面です。
仮想マシン作成時と同様にセキュリティの種類等の設定があります。
イメージとなる仮想マシンと同じ設定を選択します。
発行元、オファー、SKUを設定します。

※OSの状態はユーザー情報等をクリアして汎用化しているかの選択です。クリアしている場合は一般を選択します。今回はSysprepを利用してクリアしていますので一般を選択します。

一般化されたイメージと特殊化されたイメージ

バージョン名はX.X.Xの形式で指定します。

イメージ バージョン

※複数のバージョンのイメージを保持できます。
※仮想マシンデプロイ時にバージョンを指定できます。

 

発行のオプションです。
VM展開で推奨されるリソースの条件を指定できます。
VM展開で指定する推奨値に強制力はありません。

確認および作成を選択します。

作成完了後の確認

作成されたリソースを確認します。

リソース確認
Azure コンピューティング ギャラリー内にVMイメージ定義が作成されている事が確認できます。

—広告—

仮想マシンのイメージ作成

Windows Server 2022 Datacenter Azure Edition(smalldisk)の仮想マシンをイメージ化します。
OSの日本語化とIISのインストールを実施してからイメージ化しています。

イメージ元となる仮想マシンをデプロイ

Windows Server 2022 Datacenter Azure Edition(smalldisk)の仮想マシンをデプロイします。
仮想マシン名は"win-image-01″としています。

※手順は主要なポイントのみをピックアップしています。
※ディスク、ネットワーク設定(高速ネットワークを除く)、管理、監視、詳細などは任意の値で設定します。これらは仮想マシン展開時に新規に設定します。

仮想マシンをデプロイ

仮想マシン作成画面です。
イメージ化したい内容に合せて選択します。
セキュリティの種類等がVMイメージ定義と合致している必要があります。

※管理者アカウント名はimageadminとしています。

ネットワーク設定の高速ネットワーク有効化については、VMイメージ定義と同じ値を設定する必要があります。

確認画面で作成を選択します。

Windows Updateの実施

Windows Updateの手順についてはこちらで紹介しています。

OSの日本語化

Windows Server OSの日本語化手順はこちらで紹介しています。

IISをインストール

IISをインストールします。
今回はPowerShellを利用して実施しています。

Install-WindowsFeature コマンドレットを使用して役割と機能をインストールするには
Install-WindowsFeature(コマンドレット説明)

IISのインストール

管理者権限でPowerShellを表示します。
Web-ServerがIISに対応します。

※画面サンプルはAdd-WindowsFeatureコマンドレットの場合です。

カスタムスクリプトの拡張機能を使って、IISをインストール手順を紹介しています。

Sysprepでイメージの一般化

公式サイトの手順を参考に、OSのイメージを一般化してマシン固有の情報を削除します。

イメージ作成前に VM をプロビジョニング解除または一般化し、マシン固有の情報を削除します(Windows)

Windowsの場合、一般化してマシン固有の情報を削除した後はOSは起動できなくなります。
実行前は仮想マシンをバックアップしてデータをします。

※Linuxの汎用化手順についてはこちらに記載があります。

イメージ作成前に VM をプロビジョニング解除または一般化し、マシン固有の情報を削除します(Linux)

OSの一般化

手順に基づきOSを一般化します。

# panther ディレクトリを削除
rmdir /s “c:\Windows\Panther"

# ディレクトリを移動
cd %windir%\system32\sysprep

# Sysprepコマンドを実行
sysprep.exe /oobe /generalize /shutdown

※CD/DVD-ROM有効確認手順はスキップしています。

VMイメージを作成

VMイメージを作成します。
作成対象の仮想マシンのキャプチャを使って、VM定義イメージを作成します。

※イメージ作成と同時に、仮想マシンを削除できます。

イメージ作成
仮想マシンのメニューでキャプチャを選択します。

イメージ作成画面です。
コンピューティングギャラリーにVMイメージバージョンとして共有しますを選択します。
仮想マシンの自動削除を選択します。
事前に作成したAzure コンピューティング ギャラリーをターゲットに指定します。
オペレーティングシステムの状態は汎用化を選択します。
VMイメージ定義は事前に作成したVMイメージ定義を選択します。
バージョン番号を指定します。
イメージのレプリカを指定します。

確認および作成を選択します。
確認画面で作成を選択してイメージを作成します。

作成したVMイメージを確認

作成したVMイメージはVMイメージ定義のメニューから確認できます。

イメージ確認
VMイメージが追加されています。
VMイメージバージョンが追加されている事も確認できます。

イメージ作成と一緒にVMイメージ定義を作成

VMイメージ定義は、イメージ作成と同時に作成する事もできます。

イメージ定義作成

ターゲットVMイメージ定義で新規作成を選択します。
イメージ作成と同時にVMイメージ定義が作成できます。
VMイメージ定義はターゲット指定したAzure コンピューティング ギャラリーに作成されます。

※公開オプションを使うとVMイメージ定義の発行オプションと同じ内容が指定出来ます。
※画面イメージは別の仮想マシンになります。

—広告—

VMイメージを使った仮想マシン作成手順

VMイメージの選択

作成したVMイメージを利用して、仮想マシンを作成します。
VMイメージ定義のメニューからイメージを利用して仮想マシンを作成できます。
仮想マシン作成時にも、共有イメージを選択して利用できます。

VMイメージの選択
VMイメージ定義から、イメージを指定してVM作成できます。
Azure コンピューティング ギャラリーにも、共有したイメージが表示されます。

※すべてのイメージ表示から共有イメージを選択します。

仮想マシンを作成

イメージを利用した場合も、通常の仮想マシン作成手順と同様です。
作成したイメージを指定するだけです。

仮想マシン名はwin-image-02としています。
管理者アカウントはnewimagevmadminとしています。

イメージを利用して仮想マシンをデプロイ

イメージで作成したイメージを指定します。
ライセンスの種類はWindows を選択します。
同じ手順で仮想マシンをデプロイ出来ます。

※VMイメージ定義で設定した項目(セキュリティの種類等)は変更出来ません。

仮想マシン作成後の確認

仮想マシン作成後の設定内容を確認します。

仮想マシン作成後の確認
仮想マシンのプロパティを確認します。
デプロイ時に指定したコンピュータ名やVMイメージ定義が表示されています。
OSにログインして確認します。
日本語化されている事が確認できます。
またデバイス名も指定した内容になっています。
Windows のエディションもイメージ作成元の仮想マシンと同じ内容になっています。
http://localhostとアクセスするとIISの画面が表示されます。
IISのインストールも確認できました。

ユーザーアカウントを確認します。
イメージ元の仮想マシンの管理者アカウントimageadminはありません。
新しい管理者アカウントnewimagevmadminが作成されています。

最後に

仮想マシンのイメージ保管リソースの準備、イメージ作成、仮想マシン作成まで一連の手順について確認しました。
イメージ作成した仮想マシンは利用出来なくなる点には注意が必要な事が分かりました。

イメージの保管先となるリソースとしてAzure コンピューティング ギャラリーやVMイメージ定義が必要です。
Windows Serverの場合は仮想マシンイメージ作成時には汎用化が必要となります。

ただ一度イメージを作成すると再利用可能なのでとても便利かと思いました。
今後も色々試してみたいと思います。

スポンサーリンク