プロビジョニングスクリプト機能
対象リージョン:全リージョン
仮想サーバの作成時に、初期処理として様々なデータの受け渡しやスクリプトによる自動処理を実行する機能を提供します。
プロビジョニングスクリプト機能においては、以下の複数の方法で仮想サーバ作成時に必要な情報を渡します。
- メタデータ
- ユーザーデータ
メタデータの設定
KeyValue形式のデータを仮想サーバに関連付けて設定します。仮想サーバを作成すると自動的に設定されるデータのほかに、ユーザーが必要な項目を追加で設定することもできます。例えば、VSYS_NAME=e-learningのように仮想サーバ群を1つのシステムとして識別するための情報などです。
仮想サーバはメタデータをIaaSの特別なサーバ(http://169.254.169.254)から取得します。
- 東日本リージョン3/西日本リージョン3の場合
仮想サーバから仮想ルータを経由して通信できるため、設定は不要です。
- 東日本リージョン3/西日本リージョン3以外の場合
仮想サーバから仮想ルータを経由して通信できるよう、必要に応じて設定してください。
ユーザーデータの設定
ユーザーデータは、テキスト形式で仮想サーバにデータを渡す機能です。仮想サーバ起動時に実行するスクリプトを指定することもできます。
-
Windows の場合
PowerShellまたはWindows Batchを使用して記述します。
-
Red Hat Enterprise Linuxの場合
shまたはbashを使用して記述します。
-
CentOSの場合
shまたはbashを使用して記述します。
-
Rocky Linuxの場合
shまたはbashを使用して記述します。
-
Ubuntuの場合
shまたはbashを使用して記述します。
-
Red Hat OpenShift Container Platform 3.xの場合
shまたはbashを使用して記述します。
-
Red Hat OpenShift Container Platform 4.xの場合
記載方法は、「IaaS RHOCP4スタートガイド」を参照してください。
スクリプトはOSごとに以下のソフトウェアの機能を使用して実行されます。詳細は各ソフトウェアのサポートサイトを参照してください。
OS種別 | スクリプト機能提供ソフトウェア |
---|---|
Windows | Cloudbase-init
注:
Cloudbase-initのインストール時に「cloudbase-init」ユーザーが作成されます。 「cloudbase-init」ユーザーは削除しないでください。削除した場合、プライベートイメージから仮想サーバを正常に作成できなくなる可能性があります。 |
Red Hat Enterprise Linux | Cloud-init |
CentOS | Cloud-init |
Rocky Linux | Cloud-init |
Ubuntu | Cloud-init |
Red Hat OpenShift Container Platform 3.x |
Cloud-init |
仮想サーバの初期化処理に関する注意事項
仮想サーバ作成後、起動状態(ACTIVE) に遷移した直後では、仮想サーバの初期化処理(Cloudbase-init/Cloud-init)が実行中の場合があります。
この状態で仮想サーバを停止、再起動または構成の変更を伴う操作をすると、初期化処理に失敗することがあります。
仮想サーバの初期化処理が完了したかどうかは、以下の方法で確認できます。
- パブリックイメージを使用して仮想サーバを作成した場合
仮想サーバにログインできれば初期化処理は完了しています。
- プライベートイメージを使用して仮想サーバを作成した場合
- イメージ作成時にパスワードを変更している場合
仮想サーバにログインできれば初期化処理は完了しています。
- イメージ作成時にパスワードを変更していない場合
API(※)のログを以下の観点で確認してください。
※) 東日本第3/西日本第3リージョンの場合は、Show Console Output、または東日本第1/第2、西日本第1/第2リージョンの場合は、Get console output for an instanceです。-
「ERROR」のログが出力されていないこと
- 以下が出力されていること(Windowsの一例)
DEBUG cloudbaseinit.osutils.windows [-] Stopping service cloudbase-init stop_service
-
- イメージ作成時にパスワードを変更している場合