イメージは、インスタンスのルートブロックストレージから作成できます。u2タイプのインスタンスを除く、t2、m2、c2、r2、x1タイプのインスタンスでは実行中にもイメージを作成できますが、データの整合性は保障しません。u2タイプのインスタンスでは停止状態の時のみイメージを作成できます。
Linuxインスタンスのイメージを作成する前にmachine-idを初期化して重複を予防することを推奨します。machine-idの初期化方法についてはLinux machine-id初期化ガイドを参照します。
Windowsインスタンスのイメージを作成するには、Sysprepを利用してイメージ作成を準備し、インスタンスを停止することを推奨します。Sysprepの詳細な使用方法は、Windows Sysprepガイドを参照してください。
起動中のWindowsインスタンスからイメージを作成する場合、2019. 05.28.配布バージョン以前のイメージで作成したWindowsインスタンスの場合は、正常に動作させるために先行作業が必要です。インスタンスを作成したイメージのWindowsバージョンは、インスタンス詳細情報のイメージ名で確認できます。詳細は起動中のWindowsインスタンスからのイメージ作成ガイドを参照してください。
[注意] 作成されたイメージのサイズはルートブロックストレージの実際の使用量より大きい場合があります。
イメージの名前を修正します。
Protected 属性を選択してイメージをアップデートすると、誤ってイメージを削除することを防げます。Protected属性が選択されたイメージを削除するには、イメージ修正からProtected 属性を選択解除してイメージをアップデートする必要があります。
イメージをコピーする対象リージョンを選択し、新しいイメージの名前と説明を入力してコピーします。
イメージを共有するプロジェクトを選択して共有します。 この機能のAPIの使い方は、ユーザーガイド > Compute > Image > APIガイドでイメージ共有の項目を参照してください。
Linuxユーザーイメージを作成して、そのイメージでインスタンスを作成する場合、machine-idが重複して予期しない問題が発生する可能性があります。 ユーザーイメージを作成する前にmachine-idを初期化して重複を予防できます。
$ sudo sh -c "echo -n > /etc/machine-id"
$ sudo rm /var/lib/dbus/machine-id
$ sudo ln -s /etc/machine-id /var/lib/dbus/machine-id
Windowsイメージを作成するには、ハードウェアとユーザーに従属された情報を削除して、インスタンス作成に使用できるようにイメージ初期化作業が必要です。イメージ初期化はMicrosoftからWindows OSを配布するために提供するシステム準備ユーティリティであるSysprepで実行できます。
Windowsインスタンスに接続した後、PowerShellを管理者権限で実行します。
PowerShellウィンドウが表示されたら下記のコマンドを実行します。
ToastSysprep
[参考] ToastSysprepはNHN Cloudで提供するSysprepを簡単に使用できるコマンドです。
Yキーを押すと作業を進行します。
Sysprepが実行されるとWindowsインスタンスは自動的に停止します。NHN CloudコンソールでWindowsインスタンスの停止を確認し、イメージ作成機能でユーザーWindowsイメージを作成します。
Sysprepを利用してWindowsインスタンスを初期化すると、パスワードが空白に変更されてログインできません。イメージ作成機能を利用する時、イメージに作成されるWindowsパスワードを初期化します。オプションを選択してWindowsインスタンスのパスワードを自動的に初期化することを推奨します。初期化されたパスワードはインスタンス接続情報で確認します。
まずWindowsインスタンスに接続した後、 アプリでコマンドプロンプトを右クリックして管理者権限で実行をクリックします。
コマンドプロンプトが起動したら、下記コマンドを実行します。
cd C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf
C:\Windows\System32\Sysprep\sysprep.exe /generalize /oobe /shutdown /unattend:Unattend.xml
Sysprepが実行されるとWindowsインスタンスは自動的に停止します。NHN CloudコンソールでWindowsインスタンスの停止を確認して、 イメージ作成機能でユーザーWindowsイメージを作成します。
Sysprepを利用してWindowsインスタンスを初期化すると、パスワードが空白に変更されてログインできません。イメージ作成機能を利用する時、イメージに作成されるWindowsパスワードを初期化します。オプションを選択してWindowsインスタンスのパスワードを自動的に初期化することを推奨します。初期化されたパスワードはインスタンス接続情報で確認します。
\generalize
Windowsに登録された固有システム情報を削除します。この段階からSID(Security ID)がリセットされ、システム復元ポイントが全て消え、イベントログが削除されます。この段階を経た後に再起動するとWindows構成パス
が現れます。
[参考] この段階でSID 、ユーザー情報、固有情報を削除して、既存プログラムの動作に影響が発生します。
\oobe
Windowsを再起動して開始モードに進んだ後、ユーザーがあらかじめ指定した設定を適用します。この時適用できる代表的な設定には、国別設定、ネットワーク位置、言語設定、時間帯などがあります。
\shutdown
Windowsを終了します。
\unattend
Windowsを再インストールした後、前段階で記録したユーザー設定を復元します。この段階ではWindowsユーザー情報を登録し、ドライバーや製品アップデート、追加ソフトウェアをインストールします。また基本的に提供する設定以外にユーザーが希望する設定を応答ファイルから指定することができます。
[参考] NHN Cloudで提供するWindowsイメージの応答ファイルはC:\Program Files\Cloud Solutions\Cloudbase-Init\conf\Unattend.xmlにあります。必要な設定は全て準備されているので、特別な用途を除けば修正しなくてもよいです。
起動中のWindowsインスタンスからイメージを作成する時、原本インスタンスのイメージのバージョンが2019. 05. 28.以前の場合は、下記の先行作業が必要です。 2019. 05. 28.配布バージョン以降のWindowsイメージの場合は、下記のプロセスは不要です。
Windowsインスタンスに接続した後、アプリからTask Schedulerを実行します。
Task Scheduler右側のActionsタブのCreate Taskをクリックします。
Create TaskウィンドウのGeneralタブでNameに名前を入力し、Security optionsのRun with highest privilegesを選択した後、Change User or Groupをクリックします。
Enter the object name to select下にある入力ボックスにSYSTEMを入力し、OKボタンをクリックします。
Create TaskウィンドウのTriggersタブでNewボタンをクリックし、新しいトリガー(trigger)を作成します。
Begin the taskのトリガーをAt startupに選択し、OKボタンをクリックしてトリガーの作成を完了します。
Create TaskウィンドウのActionsタブでNewボタンをクリックし、新しいアクション(action)を作成します。
Action作成ウィンドウで、下記の値を入力します。
Program/script: C:\Windows\System32\ipconfig.exe
Add arguments(optional): /renew