Azure VMマシンイメージの展開について
一般化と特殊化
一般化
一般化されたイメージはマシン固有の情報が削除されています。主にスケーリングや複数のVMインスタンスを同じ環境で展開する場合に役立ちます。
Windows OSの場合、Sysprepというツール(コマンド)を使います
Linux OSの場合、cloud-initというツール(コマンド)を使います。
大まかな流れ
■イメージ作成
Sysprep/cloud-initを実行すると、マシン固有の情報(SID(windowsの場合)、コンピュータ名など)が削除され、再展開時に新しい情報が生成されます。
Sysprep/cloud-initをOS上で実行した後、Azure Portalの該当VMの「キャプチャ」ボタンからイメージを作成します(その際、「汎用化」を選択します)
■イメージからのVM復元
①Windowsの場合
初回起動時に、OOBEが実行されます。Windowsの初期設定プロセスであるOOBEにより、マシン固有の値(コンピュータ名、ユーザーアカウントなど)が設定されます。
Azureでは、Azure VM Agent
が自動的にインストールされ、初回起動時にAzureのメタデータサービスから情報を取得して設定を行います。これにより、ネットワーク設定やストレージの構成など、Azure環境特有の設定が自動的に適用されます。
②Linuxの場合
cloud-initi般化されたVMは、初回起動時にさまざまな設定を自動的に行われます。この設定はAzureのメタデータサービスと連携して行われます。設定される値としてはマシン固有の情報(ホスト名、SSHキー、ネットワーク設定など)となります。
特殊化
特殊化されたイメージは、特定のVMに固有の設定やカスタマイズを保持したまま保存するために使用されます。既存のVMをバックアップしたり、復元する際に便利です。
大まかな手順
特殊化のプロセスではSysprep/cloud-initを使用しません。
Azure Portalの該当VMの「キャプチャ」ボタンからイメージを作成します(その際、「特殊化」を選択します)
VMはそのままの状態でイメージ化されます。特殊化されたイメージは、元のVMと同じ設定、アプリケーション、および構成を保持します。
イメージから新しいVMを作成すると、元のVMのクローンが作成されます。
参考(オンプレの場合)
「イメージ作成」→「イメージからのマシンセットアップ」という流れはクラウドと同じです。
OS上でのdd
コマンド(Linuxの場合)や他のディスククローンツール使用してイメージを作成します(イメージを一般化したい場合は、事前にsysprep/cloud-initiコマンドなどで一般化しておきます)
作成したディスクイメージをオンプレミスの新しいマシンにコピーします。例えば、USBドライブやネットワークを使用します。
新しいマシンのディスクにイメージを復元します。再度、dd
コマンド(Linuxの場合)を使用します。
オンプレミスではAzureようにメタデータサービスがないため、ホスト名、ネットワーク設定など手動での設定が必要です。
ディスカッション
コメント一覧
まだ、コメントがありません