このトピックでは、Windowsインスタンス用のユーザーデータスクリプトを準備する方法と、ユーザーデータを渡してユーザーデータの実行結果を検証する方法について説明します。
始める前に
インスタンスのユーザーデータを変更する場合、インスタンスは [停止済み] 状態になります。このタスクについて
ユーザーデータ機能により、Windowsインスタンスは初期化スクリプトを実行できます。 インスタンスが起動すると、システムは管理者権限を使用してインスタンスのユーザーデータを実行します。ユーザーデータには次の制限が適用されます。
- ユーザーデータ機能は、仮想プライベートクラウド (VPC) に存在するインスタンスでのみサポートされます。
- インスタンスは、次のパブリックイメージまたはパブリックイメージから派生したカスタムイメージから作成する必要があります。
- Alibaba Cloud Linux、CentOS、Ubuntu、SUSE Linux Enterprise、OpenSUSE、およびDebian
- Windows Server 2008 R2以降
- ユーザーデータ機能は、使用可能なすべてのインスタンスタイプでサポートされています。 廃止されたインスタンスタイプの場合、ユーザーデータ機能はI/O最適化インスタンスでのみサポートされます。 詳細については、「サポートが終了しているインスタンスタイプ」をご参照ください。
- 実行するユーザーデータはBase64でエンコードする必要があります。 ユーザーデータのサイズは、エンコード前に16 KBを超えることはできません。 説明 コンソールには、Base64でエンコードされていないユーザーデータを入力できます。 コンソールは自動的にBase64のユーザーデータをエンコードします。 コンソールにユーザーデータを入力したくない場合は、自分でBase64でエンコードする必要があります。
手順
- ユーザーデータを準備します。 バッチスクリプトとPowerShellスクリプトを実行して、Windowsインスタンスのユーザーデータを準備できます。 さまざまなスクリプトの特性とその例の詳細については、次のセクションを参照してください。
- ユーザーデータをインスタンスに渡します。
- インスタンスの作成時にユーザーデータを渡します。[システム構成 (オプション)] で、[詳細設定] をクリックしてパラメーターを表示し、[ユーザーデータ] セクションにユーザーデータを入力します。 ユーザーデータがBase64でエンコードされている場合は、Enter Base64 encoded Informationを選択します。 指定したファイルへの書き込み例を次の図に示します。
- 既存のインスタンスのユーザーデータを変更する: [インスタンス] ページで、ユーザーデータを変更するインスタンスを見つけ、 を選択します。 [ユーザーデータの設定] ダイアログボックスで、[ユーザーデータ] セクションに新しいユーザーデータを入力します。 説明 インスタンスのユーザーデータを変更した直後に従量課金インスタンスを起動する場合は、インスタンスの停止モードを [インスタンスの保持と課金の継続] に設定することを推奨します。指定したファイルへの書き込み内容の例を次の図に示します。説明 Windowsインスタンスのユーザーデータが変更された後、インスタンスの起動時に新しいユーザーデータは実行されません。
- インスタンスの作成時にユーザーデータを渡します。[システム構成 (オプション)] で、[詳細設定] をクリックしてパラメーターを表示し、[ユーザーデータ] セクションにユーザーデータを入力します。 ユーザーデータがBase64でエンコードされている場合は、Enter Base64 encoded Informationを選択します。
- インスタンスに渡されたコンテンツとスクリプトの結果を表示します。
バット
バッチスクリプトには次の特徴があります。
- 最初の行は
[bat]
で始まり、ヘッダーにはスペースを使用できません。 - 半幅の文字のみを入力でき、追加の文字は許可されません。
例:
[バット]
エコー "バットテスト" > C:\userdata_test.txt
次の図に示すように、サンプルバッチスクリプトを実行して、インスタンスの初回起動時に
"bat test"
をuserdata_test.txtファイルに書き込むことができます。 PowerShell
PowerShellスクリプトには次の特徴があります。
- 最初の行は
[powershell]
で始まり、ヘッダーにはスペースを使用できません。 - 半幅の文字のみを入力でき、追加の文字は許可されません。
例:
[パワーシェル]
書き込み出力 "powershell test" 出力ファイルC:\userdata_test.txt
次の図に示すように、PowerShellスクリプトの例を実行して、インスタンスの初回起動時に
powershell test
をuserdata_test.txtファイルに書き込むことができます。