OpenStack を使用して NetScaler VPX インスタンスをプロビジョニングする

最終公開日 : Sep 25, 2026
OpenStack 環境で NetScaler VPX インスタンスをプロビジョニングするには、Nova boot コマンド (OpenStack CLI) または Horizon (OpenStack ダッシュボード) のいずれかを使用できます。
VPX インスタンスのプロビジョニングには、オプションで設定ドライブのデータを使用します。設定ドライブは、インスタンスの起動時に CD-ROM デバイスとしてインスタンスにアタッチされる特別な設定ドライブです。この設定ドライブは、管理 IP アドレス、ネットワークマスク、デフォルトゲートウェイなどのネットワーク設定を渡し、顧客スクリプトを挿入するために使用できます。
NetScaler アプライアンスでは、デフォルトの認証メカニズムはパスワードベースです。現在、OpenStack 環境の NetScaler VPX インスタンスでは、SSH キーペア認証メカニズムがサポートされています。
公開鍵暗号メカニズムを使用する前に、キーペア (公開鍵と秘密鍵) が生成されます。キーペアを生成するには、Horizon、Windows 用の Puttygen.exe、Linux 環境用の ssh-keygen など、さまざまなメカニズムを使用できます。キーペアの生成に関する詳細については、各メカニズムのオンラインドキュメントを参照してください。
キーペアが利用可能になったら、秘密鍵を、許可された人物がアクセスできる安全な場所にコピーします。OpenStack では、Horizon または Nova boot コマンドを使用して、公開鍵を VPX インスタンスにデプロイできます。OpenStack を使用して VPX インスタンスがプロビジョニングされると、まず特定の BIOS 文字列を読み取ることによって、インスタンスが OpenStack 環境で起動していることを検出します。この文字列は「OpenStack Foundation」であり、Red Hat Linux ディストリビューションの場合、/etc/nova/release に保存されます。これは、KVM ハイパーバイザープラットフォームに基づくすべての OpenStack 実装で利用可能な標準メカニズムです。ドライブには特定の OpenStack ラベルが必要です。
設定ドライブが検出されると、インスタンスは、提供されていればネットワーク設定、カスタムスクリプト、および SSH キーペアの読み取りを試みます。

ユーザーデータファイル

NetScaler VPX インスタンスは、ネットワーク設定やカスタムスクリプトを挿入するために、ユーザーデータファイルとも呼ばれるカスタマイズされた OVF ファイルを使用します。このファイルは設定ドライブの一部として提供されます。カスタマイズされた OVF ファイルの例を次に示します。
```
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Environment xmlns:oe="http://schemas.dmtf.org/ovf/environment/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
oe:id=""
xmlns="http://schemas.dmtf.org/ovf/environment/1"
xmlns:cs="http://schemas.citrix.com/openstack">
<PlatformSection>
<Kind></Kind>
<Version>2016.1</Version>
<Vendor>VPX</Vendor>
<Locale>en</Locale>
</PlatformSection>
<PropertySection>
<Property oe:key="com.citrix.netscaler.ovf.version" oe:value="1.0"/>
<Property oe:key="com.citrix.netscaler.platform" oe:value="NSVPX"/>
<Property oe:key="com.citrix.netscaler.orch_env" oe:value="openstack-orch-env"/>
<Property oe:key="com.citrix.netscaler.mgmt.ip" oe:value="10.1.2.22"/>
<Property oe:key="com.citrix.netscaler.mgmt.netmask" oe:value="255.255.255.0"/>
<Property oe:key="com.citrix.netscaler.mgmt.gateway" oe:value="10.1.2.1"/>
</PropertySection>
 <cs:ScriptSection>
   <cs:Version>1.0</cs:Version>
     <ScriptSettingSection xmlns="http://schemas.citrix.com/openstack" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
         <Scripts>
           <Script>
                 <Type>shell</Type>
                 <Parameter>X Y</Parameter>
                <Parameter>Z</Parameter>
                <BootScript>before</BootScript>
                  <Text>
                        #!/bin/bash
                        echo "Hi, how are you" $1 $2 >> /var/sample.txt
                  </Text>
           </Script>
           <Script>
                 <Type>python</Type>
                 <BootScript>after</BootScript>
                  <Text>
                       #!/bin/python
 print("Hello");
                  </Text>
           </Script>
   <Script>
                 <Type>perl</Type>
                 <BootScript>before</BootScript>
                  <Text>
                       !/usr/bin/perl
 my $name = "VPX";
 print "Hello, World $name !\n" ;
                  </Text>
           </Script>
           <Script>
                <Type>nscli</Type>
                <BootScript>after</BootScript>
                <Text>
                 add vlan 33
 bind vlan 33 -ifnum 1/2
                </Text>
           </Script>
         </Scripts>
     </ScriptSettingSection>
 </cs:ScriptSection>
</Environment>
```
OVF ファイルでは、先行する「PropertySection」が NetScaler ネットワーク設定に使用され、\<cs:ScriptSection\> はすべてのスクリプトを囲むために使用されます。\&lt;Scripts\>\&lt;/Scripts\> タグは、すべてのスクリプトをまとめてバンドルするために使用されます。各スクリプトは \&lt;Script\> \&lt;/Script\> タグの間に定義されます。各スクリプトタグには、次のフィールド/タグがあります。
a) \&lt;Type\>: スクリプトタイプの値を指定します。可能な値: Shell/Perl/Python/NSLCI (NetScaler CLI スクリプト用)
b) \&lt;Parameter\>: スクリプトにパラメーターを提供します。各スクリプトは複数の \&lt;Parameter\> タグを持つことができます。
c) \&lt;BootScript\>: スクリプトの実行ポイントを指定します。このタグの可能な値: before/after。「before」は、PE が起動する前にスクリプトが実行されることを指定します。「after」は、PE が起動した後にスクリプトが実行されることを指定します。
d) \&lt;Text\>: スクリプトの内容を貼り付けます。
注:
現在、VPXインスタンスはスクリプトのサニタイズを処理しません。管理者として、スクリプトの有効性を確認する必要があります。
すべてのセクションが存在する必要はありません。最初の起動時に実行するスクリプトのみを定義するには空の「PropertySection」を使用するか、ネットワーク構成のみを定義するには空の\<cs:ScriptSection\>を使用します。
OVFファイル(ユーザーデータファイル)の必須セクションが入力されたら、そのファイルを使用してVPXインスタンスをプロビジョニングします。

ネットワーク構成

ネットワーク構成の一部として、VPXインスタンスは以下を読み取ります。
  • 管理IPアドレス
  • ネットワークマスク
  • デフォルトゲートウェイ
パラメータが正常に読み取られると、インスタンスをリモートで管理できるように、NetScaler®構成にそれらが設定されます。パラメータが正常に読み取られない場合、または構成ドライブが利用できない場合、インスタンスはデフォルトの動作に移行します。その動作は次のとおりです。
  • インスタンスはDHCPからIPアドレス情報の取得を試みます。
  • DHCPが失敗するかタイムアウトした場合、インスタンスはデフォルトのネットワーク構成(192.168.100.1/16)で起動します。

カスタマースクリプト

VPXインスタンスは、初期プロビジョニング中にカスタムスクリプトを実行できます。アプライアンスは、Shell、Perl、Python、およびNetScaler CLIコマンドタイプのスクリプトをサポートしています。

SSHキーペア認証

VPXインスタンスは、インスタンスメタデータの一部として構成ドライブ内で利用可能な公開鍵を、その「authorized\_keys」ファイルにコピーします。これにより、ユーザーは秘密鍵を使用してインスタンスにアクセスできます。
注記:
SSHキーが提供されている場合、デフォルトの資格情報 (nsroot/nsroot) は機能しなくなります。パスワードベースのアクセスが必要な場合は、対応するSSH秘密キーでログオンし、手動でパスワードを設定してください。

始める前に

OpenStack環境にVPXインスタンスをプロビジョニングする前に、.tgzファイルから.qcow2ファイルを抽出し、
qcow2イメージからOpenStackイメージを構築します。次の手順に従います。
  1. 次のコマンドを入力して、.tqzファイルから.qcow2ファイルを抽出します。
    tar xvzf &lt;TAR file>
    tar xvzf &lt;NSVPX-KVM-12.0-26.2_nc.tgz>
    NSVPX-KVM.xml
    NSVPX-KVM-12.0-26.2_nc.qcow2
  2. 次のコマンドを入力して、手順1で抽出した.qcoz2ファイルを使用してOpenStackイメージを構築します。
    openstack image create --container-format bare --property hw_disk_bus=ide --disk-format qcow2 --file &lt;path to qcow2 file> --public &lt;name of the OpenStack image>

    glance image-create --name="NS-VPX-12-0-26-2" --property hw_disk_bus=ide --ispublic=
    true --container-format=bare --disk-format=qcow2< NSVPX-KVM-12.0-26.2_nc.qcow2
    図1: 次の図は、glance image-createコマンドの出力例を示しています。
    イメージ作成コマンド OpenStack

VPXインスタンスのプロビジョニング

次のいずれかのオプションを使用して、VPXインスタンスを2つの方法でプロビジョニングできます。
  • Horizon (OpenStackダッシュボード)
  • Nova bootコマンド (OpenStack CLI)

OpenStackダッシュボードを使用してVPXインスタンスをプロビジョニングする

Horizonを使用してVPXインスタンスをプロビジョニングするには、次の手順に従います。
  1. OpenStackダッシュボードにログオンします。
  2. ダッシュボード左側の「プロジェクト」パネルで、インスタンスを選択します。
  3. 「インスタンス」パネルで、インスタンスの起動をクリックして、インスタンス起動ウィザードを開きます。
    インスタンス起動ウィザード(/en-us/vpx/media/instance-launching-wizard.png)
  4. インスタンス起動ウィザードで、次のような詳細を入力します。
    1. インスタンス名
    2. インスタンスフレーバー
    3. インスタンス数
    4. インスタンスブートソース
    5. イメージ名
    起動ウィザードの詳細(/en-us/vpx/media/launch-wizard-details.png)
  5. 以下の手順を完了して、Horizonを介して新しいキーペアまたは既存のキーペアをデプロイします。
    a) 既存のキーペアがない場合は、既存のメカニズムを使用してキーを作成します。既存のキーがある場合は、この手順をスキップします。
    b) 公開キーの内容をコピーします。
    c) Horizon > インスタンス > 新しいインスタンスの作成に移動します。
    d) アクセスとセキュリティをクリックします。
    e) キーペアドロップダウンメニューの横にある+記号をクリックし、表示されたパラメータに値を入力します。
    f) 公開鍵ボックスに公開鍵の内容を貼り付け、キーに名前を付け、キーペアのインポートをクリックします。
    キーペアのインポート OpenStack(/en-us/vpx/media/import-keypair-openstack.png)
  6. ウィザードで作成後タブをクリックします。カスタマイズスクリプトで、ユーザーデータファイルの内容を追加します。ユーザーデータファイルには、VPXインスタンスのIPアドレス、ネットマスク、ゲートウェイの詳細、および顧客スクリプトが含まれています。
  7. キーペアが選択またはインポートされたら、config-driveオプションをチェックし、起動をクリックします。
    インスタンスの起動(/en-us/vpx/media/launch-instance.png)

OpenStack CLIを使用してVPXインスタンスをプロビジョニングする

OpenStack CLIを使用してVPXインスタンスをプロビジョニングするには、次の手順に従います。
  1. qcow2からイメージを作成するには、次のコマンドを入力します。
    openstack image create --container-format bare --property hw_disk_bus=ide --diskformat qcow2 --file NSVPX-OpenStack.qcow2 --public VPX-ToT-Image
  2. インスタンスを作成するためのイメージを選択するには、次のコマンドを入力します。
    openstack image list | more
  3. 特定のフレーバーのインスタンスを作成するには、次のコマンドを入力してリストからフレーバーID/名前を選択します。
    openstack flavor list
  4. 特定のネットワークにNICをアタッチするには、ネットワークリストからネットワークIDを選択するために、次のコマンドを入力します。
    openstack network list
  5. インスタンスを作成するには、次のコマンドを入力します。
    openstack server create --flavor FLAVOR_ID --image IMAGE_ID --key-name KEY_NAME
    --user-data USER_DATA_FILE_PATH --config-drive True --nic net-id=net-uuid
    INSTANCE_NAME
    openstack server create --image VPX-ToT-Image --flavor m1.medium --user-data
    ovf.xml --config-drive True --nic net-id=2734911b-ee2b-48d0-a1b6-3efd44b761b9
    VPX-ToT
図2: 次の図は出力例を示しています。
OpenStack CLIでのプロビジョニング