皆さま、こんにちは!y.takanashiです。
まだまだ寒い日が続いてますね。
今回はカスタム・イメージの一種である汎用イメージを使用して、別のSIDを持つWindowsサーバを複製する方法をご紹介します。
目次
今回行いたいこと
Oracle Cloudで同じOSのサーバを複数台作成する場合、バックアップもしくはクローンで複製することで迅速にサーバをデプロイすることができます。
しかしWindowsOSの場合、同一の※SIDを持つサーバが複製され、
Active Directoryのドメインに登録しようとする際に、以下の画面のようなエラーが発生します。
※SID(Security IDentifier)...Windowsのユーザーアカウントやユーザーグループに与えられる固有の識別番号
この事態を避けるため、カスタム・イメージの一種である汎用イメージを使用することで、別のSIDを持つサーバを複製することができます。
そこで今回は汎用イメージを使用して、別のSIDを持つサーバを複製する方法についてご紹介します。
汎用イメージとは?
カスタム・イメージはWindowsの場合、専用イメージと汎用イメージの2種類から選べます。
専用イメージは他のOSと同様に、元のサーバの情報をそのままコピーしたもので、障害時のバックアップ用途や前の構成にロールバックしたい場面で役立ちます。
汎用イメージはWindowsサーバのみで使用できるイメージで、※Sysprepを使用することでコンピュータ固有の情報が除去され、元のコンピュータ情報を引き継がずに複製することができます。
※Sysprep...複製を簡素化することを目的としたWindows OS用のシステムツール。
以下が両イメージの簡単な比較表です。
汎用イメージの詳細については下記の公式ドキュメントをご覧ください。
Oracle Cloud 公式ドキュメント - 「Windowsカスタム・イメージ」
汎用イメージを使用したWindowsサーバの複製方法
それでは早速、汎用イメージを使用したWindowsサーバの複製方法についてご紹介します。
複製方法は大まかに以下となっております。
- OCI公式からgeneralizeファイルを取得
- 複製元サーバにコピーしたgeneralizeファイルを実行
- 複製元サーバから汎用イメージを生成
- 汎用イメージからサーバを複製
複製元のサーバの各種設定
最初に複製元のWindowsサーバの各種設定をしていきたいと思います。
後ほど導入する実行ファイルは、全てのシェイプやバージョンで動作しますので、任意のスペックで設定して大丈夫です。
作成後、リモートデスクトップサービスを使用して作成したサーバに接続します。
接続後にコマンドプロンプトを開き、「whoami /user」と入力することで作成したサーバのSID情報が確認できます。
確認後、こちらの公式ドキュメントの赤枠部分の実行ファイルをダウンロードしてローカルに保存します。
保存後は作成したサーバにコピーしておくようにしましょう。
コピーした実行ファイルを右クリックし、「管理者として実行」を選択します。
実行ファイルをC:\Windows\Pantherフォルダに格納します。
格納後、既存のファイルに上書きするかどうか確認するポップアップが表示されますので、「Yes」もしくは「Yes To All」を選択します。
格納後、実行ファイル(「Generalize.cmd」)を右クリックし、「管理者として実行」を選択します。
実行後にコマンドプロンプトで処理が走り、少し待つと自動的に接続が切断されます。
※切断後、設定を行なったサーバは再ログイン不可となりますのでご注意ください。
複製元サーバのパスワードを引き継ぐ場合
複製元サーバのパスワードを引き継ぐ場合は、C:\Program Files\bmcsフォルダにあるimageType.jsonファイルを編集する必要があります。
初期設定で"general"と定義されているので、
{ "imageType": "general"}
以下のように"custom"に変更して保存しましょう。
{ "imageType": "custom"}
汎用イメージの生成
上記の設定が完了後、先ほど設定したサーバの詳細画面から「他のアクション」→「カスタム・イメージの作成」を選択します。
任意の名前(ここでは「Custom-Image」)を入力、「カスタム・イメージの作成」を選択します。
作成後、3分程度で汎用イメージの作成が完了します。
汎用イメージの詳細は「コンピュート」→「カスタム・イメージ」から確認することができます。
上記の設定を完了後複製元サーバは使用しませんので、削除していただいて構いません。
汎用イメージを使用してサーバを作成
先ほど作成した汎用イメージの詳細画面から「インスタンスの作成」を選択します。
イメージは先ほど作成したものを選択します。
※他の設定値は任意で大丈夫です。
完了後、作成したサーバにリモートデスクトップ接続を行います。
接続後コマンドプロンプトを立ち上げ「whoami /user」と入力すると、複製元と別のSIDが出力されることが確認できます。
汎用イメージを使用してのサーバの複製方法については以上となります。
作成時の注意点
簡単に汎用イメージで複製したサーバに関しての注意点について、いくつか説明します。
複製元のサーバはイメージ作成後、使用不可に
上記にも記載しておりますが、
汎用イメージの作成後、複製元のサーバには再ログインが不可となり使用することができなくなります。
複製元サーバは汎用イメージ用として、使用したいサーバとは別の枠組みで作成することをお勧めします。
ファイアウォールの設定に注意
複製したサーバに接続後、以下のネットワーク検出のダイアログが表示されます。
この際に「Yes」(画面上は「はい」)を選択しましょう。
「No」(画面では「いいえ」)を選択した場合、複製元のサーバの設定の有無にかかわらず、自動的にファイアウォールが有効化され、かつ以下の画面のようなエラーが発生して設定変更が行えなくなりますのでご注意ください。
タイムゾーンとWindowsUpdateは初期のまま
汎用イメージを使用してサーバを複製した場合、以下の設定が継承されることが確認できております。
- 地域設定
- 言語設定
- システムロケール
- Windows ファイアウォール
- IEセキュリティ強化の構成
- IPv6の無効化
- ユーザーアカウント制御
- パスワード・ポリシー
- リモートデスクトップ設定
反対にタイムゾーンとWindowsUpdateの設定は継承されませんので、変更が必要な場合はいずれも手動で設定を行う必要があります。
まとめ
最後に汎用イメージについて簡単にまとめます。
- 汎用イメージとは?
- Windowsのみで選択できるカスタム・イメージの一種
- Sysprepを使用して汎用化されており、コンピュータ固有の情報が除去されて作成される
- SIDの違うサーバが複製されるので、同じドメインに登録させたい場合に役立つ
- 作成方法
- 実行ファイルをOCI公式ドキュメントから取得
- 実行ファイルを取得後、指定のパスに移動させてから実行
- パスワードを引き継ぎたい場合は「imageType.json」ファイルの編集を行う
- 作成時の注意点
- 汎用イメージ作成後のサーバは使用できなくなるので注意
- ネットワーク情報を複製元のサーバから引き継がない場合、ファイアウォールは自動的に有効化され、かつファイアウォール自体の設定も行うことができなくなる
- タイムゾーンとWindowsUpdateは複製元から引き継がれず、初期状態のままとなる
引き継がれない設定もありますが、それでも一からWindowsサーバを作成するよりも短時間でデプロイすることができます。
また汎用イメージは専用イメージ同様難しい手順はなく、簡単に設定できる点も魅力的であると思います。
以上となります。
この記事を通じて読者の皆様の問題解決の一助となれば幸いです。
最後まで読んで頂き、ありがとうございましたm(_ _)m