Azure Compute Galleryを使ったVMイメージ作成、保管、デプロイ
Azureには仮想マシン(Azure VM)のイメージを作成して保管しておくサービスとしてAzure コンピューティング ギャラリー(Azure Compute Gallery)があります。
作成したイメージを利用して大規模に仮想マシン(Azure VM)を展開すると言った事が出来ます。
今回は仮想マシン(Azure VM)のイメージ保管リソースの準備、イメージ作成、デプロイまで一連の手順について纏めてみました。
-
- Azure コンピューティング ギャラリーのリソース作成
- Azure コンピューティング ギャラリーでVMイメージ定義の作成
- イメージ元となる仮想マシン(Azure VM)デプロイ
- OSの日本語化、IISをインストール
- Windows Server 2022の汎用化からイメージ作成
- イメージを利用した仮想マシン(Azure VM)のデプロイ
Windows Server 2022を例に手順を纏めています。
Azure コンピューティング ギャラリーやVM定義のリソース
Azure コンピューティング ギャラリーって何?
Azure コンピューティング ギャラリー(Azure Compute Gallery)は仮想マシンのイメージを保管共有するサービスです。
仮想マシン(Azure VM)のイメージを作成した場合の保管先になるAzure リソースです。
Azure Compute Gallery でリソースを格納、共有する
仮想マシン(Azure VM)イメージを保管したり、保管したイメージをデプロイを利用してデプロイする事が出来ます。
RBACを利用したアクセス制限で特定のメンバーだけに公開と言った事も出来ます。
同一サブスクリプション内だけではなく、サブスクリプションやADテナント間の共有、コミュニティにイメージを共有する事も可能です。
リージョンまたぐ保管も可能です。
VMイメージ定義って何?
Azure コンピューティング ギャラリー内で利用される、仮想マシンのイメージ定義やバージョンを指定する為のリソースです。
VMの基本的な構成やオペレーティングシステムを定義します。
イメージのバージョン管理も可能です。
イメージとなる仮想マシン(Azure VM)の設定内容とVMイメージの定義内容が合致している必要があります。
Azure コンピューティング ギャラリーのリソースを作成
Test_Compute_gallery_01と言うリソース名で、East US 2にリソースを作成します。
リソース作成 | |
Azure コンピューティング ギャラリーで作成を選択します。 | |
インスタンスの詳細でリソース名やリージョンを指定します。 | |
イメージの共有方法設定です。 確認および作成を選択します。 |
VMイメージ定義のリソース作成
VMイメージ定義のリソースを作成します。
リソース名はsmall-win2022-jpn-iis-imageとして作成しています。
Windows Server 2022のイメージを保管する前提としています。
今回はAzure コンピューティング ギャラリーのメニューからVMイメージ定義を作成します。
イメージのバージョンは複数保持する事が出来ます。
VMの世代、OSの種類、VMアーキテクチャ、セキュリティの種類、高速ネットワーク設定はイメージとなる仮想マシン(Azure VM)の設定と合せておく必要があります。
設定が合致していない場合はエラーとなります。
※今回は個別でVMイメージ定義作成しています。仮想マシン(Azure VM)のイメージ化と同時に作成する事も出来ます。
作成完了後の確認
作成されたリソースを確認します。
リソース確認 | |
Azure コンピューティング ギャラリー内にVMイメージ定義が作成されている事が確認出来ます。 |
仮想マシン(Azure VM)のイメージ作成
Windows Server 2022 Datacenter Azure Edition(smalldisk)の仮想マシンをイメージ化します。
OSの日本語化、IISのインストールを実施してイメージ化しています。
イメージ元となる仮想マシン(Azure VM)をデプロイ
Windows Server 2022 Datacenter Azure Edition(smalldisk)の仮想マシン(Azure VM)をデプロイします。
仮想マシン名はwin-image-01としています。
※下記手順はポイントのみピックアップしています。
※ディスク、ネットワーク設定(高速ネットワーク除く)、管理、監視、詳細等は任意の値で設定します。仮想マシン(Azure VM)展開時に新規に設定します。
仮想マシンデプロイ | |
仮想マシン作成画面です。 ※管理者アカウント名はimageadminとしています。 |
|
ネットワーク設定の高速ネットワーク有効化はVMイメージ定義と一緒の値を設定する必要があります。 確認画面で作成を選択してリソースをデプロイします。 |
OSの日本語化
Windows Server OSの日本語化はこちらに纏めています。
IISインストール
IISをインストールします。
今回はPowerShellを利用して実施しています。
Install-WindowsFeature コマンドレットを使用して役割と機能をインストールするには
Install-WindowsFeature(コマンドレット説明)
IISのインストール | |
管理者権限でPowerShellを開きます。 |
※画面サンプルはAdd-WindowsFeatureコマンドレットになってます。
IISのインストールについてはこちらでも纏めております。
Sysprepで標準化
公式サイトの手順を参考に汎用化します。
Windows(イメージ作成前に VM をプロビジョニング解除または一般化し、マシン固有の情報を削除します)
※汎用化後は再起動出来なくなります。実行前はバックアップ等を使ってデータ保全します。
※Linuxの汎用化手順についてはこちらに記載があります。
Linux(イメージ作成前に VM をプロビジョニング解除または一般化し、マシン固有の情報を削除します)
汎用化 | |
panther ディレクトリディレクトリを削除します。 rmdir /s “c:\Windows\Panther" %windir%\system32\sysprepディレクトリに移ります。 cd %windir%\system32\sysprep Sysprepコマンドを実行します。 sysprep.exe /oobe /generalize /shutdown
|
※CD/DVD-ROM有効確認手順はスキップしています。
イメージ作成
イメージを作成します。
作成対象の仮想マシン(Azure VM)のキャプチャからイメージ作成します。
※イメージを作成すると該当の仮想マシン(Azure VM)は起動しなくなります。
※イメージ作成と同時に仮想マシン(Azure VM)の削除も可能です。
イメージ作成後の確認
作成したイメージを確認します。
VMイメージ定義で確認出来ます。
イメージ確認 | |
VMイメージ定義に追加されています。 | |
VMイメージバージョンでも追加されている事が確認出来ます。 |
イメージ作成と同時にVMイメージ定義を作成
イメージ作成と同時にターゲットになるVMイメージ定義も作成出来ます。
イメージ定義作成 | |
ターゲットVMイメージ定義で新規作成を選択します。 |
※公開オプションを使うとVMイメージ定義の発行オプションと同じ内容が指定出来ます。
※画面イメージは別の仮想マシン(Azure VM)になります。
VMイメージを使った仮想マシン(Azure VM)デプロイ
イメージの選択
イメージを利用した仮想マシン(Azure VM)のデプロイはVMイメージ定義から出来ます。
仮想マシン(Azure VM)デプロイ時にも共有イメージを選択出来ます。
イメージの選択 | |
VMイメージ定義からイメージを指定してVM作成が出来ます。 | |
共有イメージにAzure コンピューティング ギャラリーで共有したイメージが表示されます。 ※すべてのイメージ表示から共有イメージを選択します。 |
仮想マシン(Azure VM)をデプロイ
イメージを利用した場合も通常の手順と同様です。
仮想マシン名はwin-image-02としています。
管理者アカウントはnewimagevmadminとしています。
イメージを利用して仮想マシン(Azure VM)をデプロイ | |
イメージで作成したイメージを指定します。 ※VMイメージ定義で設定した項目(セキュリティの種類等)は変更出来ません。 |
|
デプロイ後の確認
仮想マシン(Azure VM)デプロイ後の設定内容を確認します。
最後に
仮想マシン(Azure VM)のイメージ保管リソースの準備、イメージ作成、デプロイまで一連の手順について確認しました。
イメージ作成した仮想マシン(Azure VM)は利用出来なくなる点には注意が必要な事が分かりました。
イメージの保管先となるリソースとしてAzure コンピューティング ギャラリーやVMイメージ定義が必要です。
Windows Serverの場合は仮想マシン(Azure VM)イメージ作成時には汎用化が必要となります。
ただ一度イメージを作成すると再利用可能なのでとても便利かと思いました。
今後も色々試してみたいと思います。