クラウドでのNetScaler VPXアプライアンスの初回起動時に構成を適用する
ユーザーデータとは
-
ユーザーデータを読み取ります。
-
ユーザーデータで提供された構成を解釈します。
-
起動時に新しく追加された構成を適用します。
クラウドインスタンスでプレブートユーザーデータを提供する方法
AWSコンソールを使用してプレブートユーザーデータを提供する
AWS CLI を使用してプリブートユーザーデータを提供する
aws ec2 run-instances \
--image-id ami-0abcdef1234567890 \
--instance-type t2.micro \
--count 1 \
--subnet-id subnet-08fc749671b2d077c \
--key-name MyKeyPair \
--security-group-ids sg-0b0384b66d7d692f9 \
--user-data file://my_script.txt
Azure コンソールを使用してプリブートユーザーデータを提供する
Azure CLI を使用してプリブートユーザーデータを提供する
az vm create \
--resource-group myResourceGroup \
--name MyVm \
--image debian \
--custom-data MyCloudInitScript.txt \
az vm create --resource-group MyResourceGroup -name MyVm --image debian --custom-data MyCloudInitScript.txt
GCP コンソールを使用してプリブートユーザーデータを提供する
gcloud CLI を使用してプリブートユーザーデータを提供する
gcloud compute instances create INSTANCE_NAMES --metadata-from-file=startup-script=LOCAL_FILE_PATH
プリブートユーザーデータの形式
-
<NS-CONFIG>タグで表される NetScaler 構成。 -
<NS-BOOTSTRAP>タグで表される NetScaler のカスタムブートストラップ。 -
<NS-SCRIPTS>タグで表される NetScaler へのユーザースクリプトの保存。 -
<NS-LICENSE-CONFIG>タグで表されるプールライセンス構成。
<NS-PRE-BOOT-CONFIG> タグで囲む必要があります。
<NS-PRE-BOOT-CONFIG>
<NS-CONFIG> </NS-CONFIG>
<NS-BOOTSTRAP> </NS-BOOTSTRAP>
<NS-SCRIPTS> </NS-SCRIPTS>
<NS-LICENSE-CONFIG> </NS-LICENSE-CONFIG>
</NS-PRE-BOOT-CONFIG>
<NS-PRE-BOOT-CONFIG>
<NS-LICENSE-CONFIG> </NS-LICENSE-CONFIG>
<NS-SCRIPTS> </NS-SCRIPTS>
<NS-BOOTSTRAP> </NS-BOOTSTRAP>
<NS-CONFIG> </NS-CONFIG>
</NS-PRE-BOOT-CONFIG>
<NS-CONFIG>タグを使用します。
<NS-CONFIG>セクションには、有効なADC CLIコマンドが含まれている必要があります。CLIは構文エラーや形式について検証されません。
NetScaler構成
<NS-CONFIG>タグを使用します。
<NS-CONFIG>セクションには、有効なADC CLIコマンドが含まれている必要があります。CLIは構文エラーや形式について検証されません。
<NS-CONFIG>セクションに構成の詳細が記載されています。ID '5' のVLANが構成され、SNIP (5.0.0.1) にバインドされています。ロードバランシング仮想サーバー (4.0.0.101) も構成されています。
<NS-PRE-BOOT-CONFIG>
<NS-CONFIG>
add vlan 5
add ns ip 5.0.0.1 255.255.255.0
bind vlan 5 -IPAddress 5.0.0.1 255.255.255.0
enable ns feature WL SP LB RESPONDER
add server 5.0.0.201 5.0.0.201
add service preboot_s5_201 5.0.0.201 HTTP 80 -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED -usip
NO -useproxyport YES -sp OFF -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO
add lb vserver preboot_v4_101 HTTP 4.0.0.101 80 -persistenceType NONE -cltTimeout 180
</NS-CONFIG>
</NS-PRE-BOOT-CONFIG>
<NS-CONFIG>セクションで適用された構成で起動します。

ユーザースクリプト
<NS-SCRIPTS>タグを使用します。
<NS-SCRIPTS>タグ内に複数のスクリプトを含めることができます。各スクリプトは<SCRIPT>タグ内に含める必要があります。 各<SCRIPT>セクションは1つのスクリプトに対応し、以下のサブタグを使用してスクリプトのすべての詳細を含みます。
-
<SCRIPT-NAME>:保存する必要があるスクリプトファイルの名前を示します。 -
<SCRIPT-CONTENT>:保存する必要があるファイルの内容を示します。 -
<SCRIPT-TARGET-LOCATION>:このファイルを保存する必要がある指定されたターゲットの場所を示します。ターゲットの場所が指定されていない場合、デフォルトでファイルまたはスクリプトは「/nsconfig」ディレクトリに保存されます。 -
<SCRIPT-NS-BOOTUP>:スクリプトを実行するために使用するコマンドを指定します。-
<SCRIPT-NS-BOOTUP>セクションを使用すると、そのセクションで提供されるコマンドは「/nsconfig/nsafter.sh」に保存され、パケットエンジンが起動した後、「nsafter.sh」の実行の一部としてコマンドが実行されます。 -
<SCRIPT-NS-BOOTUP>セクションを使用しない場合、スクリプトファイルは指定したターゲットの場所に保存されます。
-
<NS-SCRIPTS>タグには1つのスクリプト「script-1.sh」の詳細のみが含まれています。「script-1.sh」スクリプトは「/var」ディレクトリに保存されます。スクリプトには指定された内容が入力され、パケットエンジンが起動した後、「sh /var/script-1.sh」コマンドで実行されます。
<NS-PRE-BOOT-CONFIG>
<NS-SCRIPTS>
<SCRIPT>
<SCRIPT-CONTENT>
#Shell script
echo "Running script 1" > /var/script-1.output
date >> /var/script-1.output
</SCRIPT-CONTENT>
<SCRIPT-NAME> script-1.sh </SCRIPT-NAME>
<SCRIPT-TARGET-LOCATION> /var/ </SCRIPT-TARGET-LOCATION>
<SCRIPT-NS-BOOTUP>sh /var/script-1.sh</SCRIPT-NS-BOOTUP>
</SCRIPT>
</NS-SCRIPTS>
</NS-PRE-BOOT-CONFIG>
<NS-SCRIPTS>タグには2つのスクリプトの詳細が含まれています。
-
最初のスクリプトは「/var」ディレクトリに「script-1.sh」として保存されます。スクリプトには指定された内容が入力され、パケットエンジンが起動した後、「sh /var/script-1.sh」コマンドで実行されます。
-
2番目のスクリプトは「/var」ディレクトリに「file-2.txt」として保存されます。このファイルには指定された内容が入力されます。しかし、起動実行コマンド
<SCRIPT-NS-BOOTUP>が提供されていないため、実行されません。
<NS-PRE-BOOT-CONFIG>
<NS-SCRIPTS>
<SCRIPT>
<SCRIPT-CONTENT>
#Shell script
echo "Running script 1" > /var/script-1.output
date >> /var/script-1.output
</SCRIPT-CONTENT>
<SCRIPT-NAME> script-1.sh </SCRIPT-NAME>
<SCRIPT-TARGET-LOCATION> /var/ </SCRIPT-TARGET-LOCATION>
<SCRIPT-NS-BOOTUP>sh /var/script-1.sh</SCRIPT-NS-BOOTUP>
</SCRIPT>
<SCRIPT>
<SCRIPT-CONTENT>
This script has no execution point.
It will just be saved at the target location
NS Consumer module should consume this script/file
</SCRIPT-CONTENT>
<SCRIPT-NAME>file-2.txt</SCRIPT-NAME>
<SCRIPT-TARGET-LOCATION>/var/</SCRIPT-TARGET-LOCATION>
</SCRIPT>
</NS-SCRIPTS>
</NS-PRE-BOOT-CONFIG>
ライセンス
<NS-LICENSE-CONFIG>タグを使用します。プールライセンスコマンドを提供するには、<NS-LICENSE-CONFIG>セクション内の<LICENSE-COMMANDS>タグを使用します。これらのコマンドは構文的に有効である必要があります。
<LICENSE-COMMANDS>セクションでライセンスタイプ、容量、ライセンスサーバーなどのプールライセンスの詳細を指定できます。詳細については、NetScalerプール容量ライセンスの構成を参照してください。
<NS-LICENSE-CONFIG>を適用すると、VPXは起動時に要求されたエディションで起動し、ライセンスサーバーから構成されたライセンスをチェックアウトしようとします。
-
ライセンスのチェックアウトが成功した場合、構成された帯域幅がVPXに適用されます。
-
ライセンスのチェックアウトが失敗した場合、ライセンスは、約10~12分以内にライセンスサーバーから取得されません。その結果、システムは再起動し、ライセンスのない状態になります。
<NS-LICENSE-CONFIG> を適用した後、VPX は起動時に Premium エディションで起動し、VPX はライセンスサーバー (10.102.38.214) から設定されたライセンスをチェックアウトしようとします。
<NS-PRE-BOOT-CONFIG>
<NS-LICENSE-CONFIG>
<LICENSE-COMMANDS>
add ns licenseserver 10.102.38.214 -port 2800
set ns capacity -unit gbps -bandwidth 3 edition platinum
</LICENSE-COMMANDS>
</NS-LICENSE-CONFIG>
</NS-PRE-BOOT-CONFIG>
ブートストラップ
<NS-BOOTSTRAP> タグを使用します。<NS-BOOTSTRAP> セクション内で <SKIP-DEFAULT-BOOTSTRAP> および <NEW-BOOTSTRAP-SEQUENCE> タグを使用できます。このセクションは、NetScaler アプライアンスがデフォルトのブートストラップを回避するかどうかを通知します。デフォルトのブートストラップが回避される場合、このセクションでは新しいブートストラップシーケンスを提供するオプションが提供されます。
デフォルトのブートストラップ構成
-
Eth0 - 特定のNSIPアドレスを持つ管理インターフェース。
-
Eth1 - 特定のVIPアドレスを持つクライアント向けインターフェース。
-
Eth2 - 特定のSNIPアドレスを持つサーバー向けインターフェース。
ブートストラップ構成のカスタマイズ
<NS-BOOTSTRAP> タグを使用します。たとえば、管理インターフェース (NSIP)、クライアント向けインターフェース (VIP)、サーバー向けインターフェース (SNIP) が常に特定の順序で提供されるデフォルトのブートストラップを変更できます。
<SKIP-DEFAULT-BOOTSTRAP> および <NEW-BOOTSTRAP-SEQUENCE> タグに許可される異なる値でのブートストラップ動作を示しています。
SKIP-DEFAULT-BOOTSTRAP |
NEW-BOOTSTRAP-SEQUENCE |
ブートストラップの動作 |
|---|---|---|
| はい | はい | デフォルトのブートストラップ動作はスキップされ、<NS-BOOTSTRAP>セクションで提供される新しいカスタムブートストラップシーケンスが実行されます。 |
| はい | いいえ | デフォルトのブートストラップ動作はスキップされます。<NS-CONFIG>セクションで提供されるブートストラップコマンドが実行されます。 |
-
インターフェイスの詳細のみを指定する
-
インターフェイスの詳細をIPアドレスとサブネットマスクとともに指定する
-
<NS-CONFIG>セクションでブートストラップ関連のコマンドを指定する
方法1:インターフェイスの詳細のみを指定するカスタムブートストラップ
AWS のカスタムブートストラップの例
<NS-BOOTSTRAP>セクションには、インターフェイスの詳細のみが含まれ、IPアドレスとサブネットマスクの詳細は含まれていません。
-
AWS Portal > EC2 instances に移動し、カスタムブートストラップ情報を提供して作成したインスタンスを選択します。
-
Descriptionタブで、以下の図に示すように、各ネットワークインターフェイスのプロパティを確認できます。


show nsip コマンドを実行し、ADCアプライアンスの初回起動時にNetScaler VPXインスタンスに適用されたネットワークインターフェイスを確認できます。
Azure のカスタムブートストラップの例
<NS-BOOTSTRAP>セクションには、インターフェイスの詳細のみが含まれ、IPアドレスとサブネットマスクの詳細は含まれていません。


<NS-BOOTSTRAP>セクションで指定された新しいブートストラップシーケンスが適用されていることを確認できます。「show route」コマンドを実行して、サブネットマスクを確認できます。
GCPのカスタムブートストラップの例
<NS-BOOTSTRAP>セクションには、インターフェイスの詳細のみが含まれており、IPアドレスとサブネットマスクの詳細は含まれていません。
-
カスタムブートストラップ情報を提供して作成したインスタンスを選択します。
-
ネットワークインターフェイスのプロパティに移動し、次のようにNICの詳細を確認します。
show nsipコマンドを実行し、ADCアプライアンスの初回起動時にNetScaler VPXインスタンスに適用されたネットワークインターフェイスを確認できます。
方法2:インターフェイス、IPアドレス、およびサブネットマスクを指定することによるカスタムブートストラップ
AWSのカスタムブートストラップの例
-
管理インターフェース: インターフェース - Eth1、NSIP - 172.31.52.88、サブネットマスク - 255.255.240.0
-
クライアント向けインターフェース: インターフェース - Eth0、VIP - 172.31.5.155、サブネットマスク - 255.255.240.0。
-
サーバー向けインターフェース: インターフェース - Eth2、SNIP - 172.31.76.177、サブネットマスク - 255.255.240.0。
show nsipコマンドを実行し、<NS-BOOTSTRAP>セクションで指定された新しいブートストラップシーケンスが適用されていることを確認できます。サブネットマスクを確認するには、「show route」コマンドを実行します。
Azureのカスタムブートストラップの例
-
管理インターフェース (eth2)、NSIP (172.27.2.53)、およびサブネットマスク (255.255.255.0)
-
クライアント向けインターフェース (eth1)、VIP (172.27.1.53)、およびサブネットマスク (255.255.255.0)
-
サーバー向けインターフェース (eth0)、SNIP (172.27.0.53)、およびサブネットマスク (255.255.255.0)
show nsipコマンドを実行し、<NS-BOOTSTRAP>セクションで指定された新しいブートストラップシーケンスが適用されていることを確認できます。「show route」コマンドを実行して、サブネットマスクを確認できます。
GCPのカスタムブートストラップの例
-
管理インターフェース (eth2)、NSIP (10.128.4.31)、およびサブネットマスク (255.255.255.0)
-
クライアント向けインターフェース (eth1)、VIP (10.128.0.43)、およびサブネットマスク (255.255.255.0)
-
サーバー向けインターフェース (eth0)、SNIP (10.160.0.75)、およびサブネットマスク (255.255.255.0)
-
カスタムブートストラップ情報を提供して作成したインスタンスを選択します。
-
ネットワークインターフェースのプロパティに移動し、NICの詳細を次のように確認します。
show nsipコマンドを実行し、<NS-BOOTSTRAP>セクションで指定された新しいブートストラップシーケンスが適用されていることを確認できます。サブネットマスクを確認するには、「show route」コマンドを実行できます。
方法3:セクションでブートストラップ関連コマンドを提供するカスタムブートストラップ
<NS-CONFIG>セクションでブートストラップ関連コマンドを提供できます。<NS-BOOTSTRAP>セクションでは、<NS-CONFIG>セクションでブートストラップコマンドを実行するために、<NEW-BOOTSTRAP-SEQUENCE>を「No」と指定する必要があります。また、NSIP、デフォルトルート、およびNSVLANを割り当てるコマンドも提供する必要があります。さらに、使用するクラウドに関連するコマンドも提供してください。
AWSのカスタムブートストラップの例
<NS-CONFIG>セクションで提供されます。<NS-BOOTSTRAP>セクションは、デフォルトのブートストラップがスキップされ、<NS-CONFIG>セクションで提供されたカスタムブートストラップ情報が実行されることを示しています。また、NSIPを作成し、デフォルトルートを追加し、NSVLANを追加するコマンドも提供する必要があります。
<NS-PRE-BOOT-CONFIG>
<NS-CONFIG>
set ns config -IPAddress 172.31.52.88 -netmask 255.255.240.0
add route 0.0.0.0 0.0.0.0 172.31.48.1
set ns config -nsvlan 10 -ifnum 1/2 -tagged NO
add route 172.31.0.2 255.255.255.255 172.31.48.1
enable ns feature WL SP LB RESPONDER
add server 5.0.0.201 5.0.0.201
add service preboot_s5_201 5.0.0.201 HTTP 80 -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED -usip NO - useproxyport YES -sp OFF -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO
add lb vserver preboot_v4_101 HTTP 4.0.0.101 80 -persistenceType NONE -cltTimeout 180
</NS-CONFIG>
<NS-BOOTSTRAP>
<SKIP-DEFAULT-BOOTSTRAP>YES</SKIP-DEFAULT-BOOTSTRAP>
<NEW-BOOTSTRAP-SEQUENCE> NO </NEW-BOOTSTRAP-SEQUENCE>
</NS-BOOTSTRAP>
</NS-PRE-BOOT-CONFIG>
-
AWS Portal > EC2 instancesに移動し、カスタムブートストラップ情報を提供して作成したインスタンスを選択します。
-
Descriptionタブで、次の図に示すように、各ネットワークインターフェースのプロパティを確認できます。
show nsip コマンドを ADC CLI で実行し、ADC アプライアンスの初回起動時に NetScaler VPX インスタンスに適用されたネットワークインターフェースを確認できます。
Azure のカスタムブートストラップの例
<NS-CONFIG> セクションで提供されています。<NS-BOOTSTRAP> セクションは、デフォルトのブートストラップがスキップされ、<NS-CONFIG> セクションで提供されたカスタムブートストラップ情報が実行されることを示しています。

<NS-PRE-BOOT-CONFIG>
<NS-CONFIG>
set ns config -IPAddress 172.27.2.61 -netmask 255.255.255.0
add route 0.0.0.0 0.0.0.0 172.27.2.1
set ns config -nsvlan 10 -ifnum 1/2 -tagged NO
add ns ip 172.27.0.61 255.255.255.0 -type SNIP
add route 169.254.169.254 255.255.255.255 172.27.0.1
add route 168.63.129.16 255.255.255.255 172.27.0.1
add vlan 5
bind vlan 5 -IPAddress 5.0.0.1 255.255.255.0
enable ns feature WL SP LB RESPONDER
add server 5.0.0.201 5.0.0.201
add service preboot_s5_201 5.0.0.201 HTTP 80 -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -useproxyport YES -sp OFF -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO
add lb vserver preboot_v4_101 HTTP 4.0.0.101 80 -persistenceType NONE -cltTimeout 180
</NS-CONFIG>
<NS-BOOTSTRAP>
<SKIP-DEFAULT-BOOTSTRAP>YES</SKIP-DEFAULT-BOOTSTRAP>
<NEW-BOOTSTRAP-SEQUENCE> NO </NEW-BOOTSTRAP-SEQUENCE>
</NS-BOOTSTRAP>
</NS-PRE-BOOT-CONFIG>


show nsip コマンドを実行し、<NS-BOOTSTRAP> セクションで指定された新しいブートストラップシーケンスが適用されていることを確認できます。「show route」コマンドを実行して、サブネットマスクを確認できます。
GCP のカスタムブートストラップの例
<NS-CONFIG> セクションに記載されています。<NS-BOOTSTRAP> セクションは、デフォルトのブートストラップがスキップされ、<NS-CONFIG> セクションで提供されたカスタムブートストラップ情報が適用されることを示しています。
<NS-PRE-BOOT-CONFIG>
<NS-CONFIG>
set ns config -IPAddress 10.128.0.2 -netmask 255.255.255.0
add route 0.0.0.0 0.0.0.0 10.128.0.1
set ns config -nsvlan 10 -ifnum 1/1 -tagged NO
enable ns feature WL SP LB RESPONDER
add server 5.0.0.201 5.0.0.201
add service preboot_s5_201 5.0.0.201 HTTP 80 -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -useproxyport YES -sp OFF -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO
add lb vserver preboot_v4_101 HTTP 4.0.0.101 80 -persistenceType NONE -cltTimeout 180
</NS-CONFIG>
<NS-BOOTSTRAP>
<SKIP-DEFAULT-BOOTSTRAP>YES</SKIP-DEFAULT-BOOTSTRAP>
<NEW-BOOTSTRAP-SEQUENCE> NO </NEW-BOOTSTRAP-SEQUENCE>
</NS-BOOTSTRAP>
</NS-PRE-BOOT-CONFIG>
-
カスタムブートストラップ情報を提供して作成したインスタンスを選択します。
-
ネットワークインターフェイスのプロパティに移動し、図に示すようにNICの詳細を確認します。
show nsip コマンドを実行し、上記の <NS-CONFIG> セクションで提供された構成がADCアプライアンスの初回起動時に適用されていることを確認できます。