Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

例:サービステンプレート自動化の設定

この例では、サービステンプレートの自動化を使用して、Junos OSを実行する同様のプラットフォーム上でサービスをプロビジョニングする方法を示します。

要件

  • Junos OS リリース 12.3 以降を実行する 2 台の MX シリーズ デバイス。

概要

この例では、サービステンプレートの自動化を使用して、MXシリーズルーター上でサービスをプロビジョニングします。サービス テンプレート自動化 service-builder.slax スクリプトを使用するには、まずスクリプトを /var/db/scripts/op または /config/scripts/op ディレクトリにコピーし、デバイスでスクリプトを有効にする必要があります。

次のプロセスでは、サービス テンプレートの自動化を使用してサービスをプロビジョニングする方法について概要を説明します。

  1. サービス テンプレート定義を作成します。

  2. サービス ビルダー.slax スクリプトを実行し、サービス固有のインスタンス パラメーターを定義します。

  3. サービス インターフェイスを生成します。

  4. サービスが必要な各デバイスでサービスインターフェイスを有効にします。

  5. NETCONF を使用してサービス インターフェイスを呼び出し、サービス パラメーター値を指定することで、システムをプロビジョニングします。

この例では、Junos OSリリース12.3を実行するMXシリーズデバイス上に新しいVPNサービスインターフェイスを作成し、Junos OSリリース12.3を実行する2台目のMXシリーズデバイスでサービスをプロビジョニングします。サービステンプレート定義は、 階層レベルで設定します [edit groups] 。この例では、サービス名は 、 で vpn-service、テンプレート グループ名は です vpn-service-template-group。設定モード コマンドは load merge terminal 、サービス テンプレート設定階層を候補コンフィギュレーションに読み込み、その後コミットされます。

最初のサービス テンプレートを作成したら、 service-builder.slax スクリプトを実行します。このスクリプトは、サービス名とテンプレート グループ名を入力するよう求め、コミットされた設定からサービス テンプレート設定を読み取ります。

service-builder.slax スクリプト インターフェイスは、 と Hierarchies Menuの 2 つのメニューMain Menuで構成されています。Main Menu内では、サービステンプレート設定で定義された変数を確認するか、サービスAPIを構築または有効にすることができます。メニューオプションにはBuild Service API、 、変数のHierarchies Menuパラメータ化手順が表示されます。デフォルトでは、すべての変数をパラメータ化するか、選択した変数をパラメータ化することができます。サービス API の構築中に service-builder.slax スクリプトを終了する必要がある場合は、 オプションを使用Quitして終了したときにその階層構成を保存するために、現在の階層のすべてのパラメーターの設定を完了する必要があります。その後、後で不完全な階層の設定を完了することができます。この例では、インターフェイス名とインターフェイス記述の 2 つの変数をパラメーター化します。パラメーターを指定した後、サービス・ビルダー・スクリプトによってサービス・スクリプトが生成されます。

メニュー オプションは Enable Service API 、ローカル デバイスでサービス スクリプトを有効にします。2台目のMXシリーズデバイスでサービススクリプトを有効にするには、生成されたサービススクリプトを2台目のデバイスの /var/db/scripts/op ディレクトリにコピーし、設定でスクリプトを有効にします。ステートメントが load-scripts-from-flash 設定されている場合、代わりにスクリプトをフラッシュ ドライブ上の対応するディレクトリにコピーする必要があります。

NETCONF は、リモートの MX シリーズ デバイス上でサービスをプロビジョニングするために使用されます。NETCONF リモート プロシージャ コール(RPC)アクションは、サービスが新しいサービスか既存のサービスかによって異なります。サポートされているアクションには、 、 update、および deleteが含まれますcreate。この例では、新しいサービスを作成します。特定のサービスがすでにデバイス上でプロビジョニングされており、サービスパラメーターを更新または削除する場合、RPCを変更してこれらのアクションを実行できます。

構成

サービス ビルダー スクリプトの格納と有効化

手順

Junos OS のインストールには 、service-builder.slax スクリプトが含まれており、デバイスの /usr/libexec/scripts/op/ ディレクトリに格納されています。 service-builder.slax スクリプトを使用するには、まず service-builder.slax スクリプトを op スクリプト ディレクトリにコピーし、構成で有効にする必要があります。Junos OS スーパーユーザー ログイン クラスのユーザーのみが、これらのディレクトリ内のファイルにアクセスおよび編集できます。

  1. service-builder.slax スクリプトをハード ディスクの /var/db/scripts/op ディレクトリまたはフラッシュ ドライブの /config/scripts/op ディレクトリにコピーします。

  2. 運用モード コマンドを使用して、スクリプトが正しいディレクトリであることを file list 確認します。

  3. 設定でスクリプトを有効にします。

  4. スクリプトをフラッシュに保存してフラッシュから読み込む場合は、まだ設定されていない場合は ステートメントを load-scripts-from-flash 設定します。

  5. 設定をコミットします。

サービステンプレート定義の設定

手順

Junos OS を実行しているデバイスで新しいサービス テンプレートを作成するには、次の手順に従います。

  1. サービス名を選択します。

    この例では、 を使用しています vpn-service

  2. 設定モードで、実際にプロビジョニングされるサービスの階層を含む新しいグループを作成します。

  3. サービスの階層を設定します。

    この例では、 コマンドを使用して、事前に構築された設定階層が候補コンフィギュレーションに load merge terminal 読み込まれます。

  4. 設定構文が正しいことを確認します。

  5. 設定をコミットします。

サービス インターフェイスの設定と生成

手順

サービスインターフェイスを設定および生成するには、次の手順に従います。

  1. 運用モードで、 service-builder.slax スクリプトを実行して、対話型サービス ビルダー セッションを開始します。

  2. サービステンプレート定義の設定で定義された サービス名を入力します

  3. サービス階層が設定されているグループ名を入力します。

    この例では、 グループ名を使用しています vpn-service-template-group。このスクリプトは、 階層で指定された設定を vpn-service-template-group 読み取り、メインメニューを表示します。

  4. (オプション)パラメータ化できるサービス テンプレート変数を確認するには、オプションを選択します Show Variables

    スクリプトは、候補構成のテンプレート定義を階層レベル別にグループ化された一般的なパラメーター リストに変換します。

  5. サービス API を構築するには、オプションを選択します Build Service API

  6. Hierarchies Menuから、パラメータ化する変数を持つ階層のメニュー選択項目を入力するか、Enter キーを押してすべての階層を選択します。

  7. 変数リストから、サービス・インターフェースにパラメーター化する変数のメニュー選択項目を入力するか、または Enter キーを押して、その階層内のすべての変数をパラメーター化します。

  8. 選択したパラメータを設定します。

    必要な情報を入力するよう求められます。この例では、インターフェイス名パラメーターを として ifname 、インターフェイス説明パラメーターを として ifdesc設定します。

  9. 選択したパラメータを各階層レベルで設定します。

    スクリプトは、選択した各階層と指定されたパラメーターに対して繰り返されます。サービス API の構築中に service-builder.slax スクリプトを終了する必要がある場合は、 オプションを使用 Quit して終了したときにその階層構成を保存するために、現在の階層のすべてのパラメーターの設定を完了する必要があります。

  10. サービス スクリプトを作成するサービス インターフェイスを生成します。

    すべてのパラメーターが設定されると、スクリプトによって自動的にサービス インターフェイスの生成が求められます。Enterキーを押すか、 はい と入力してサービスインターフェイスを生成します。

サービス インターフェイスの検証

目的

サービススクリプトの作成を確認します。ステートメントが load-scripts-from-flash 設定されている場合、生成されたファイルはフラッシュメモリに保存されます。それ以外の場合、生成されたファイルはハード ディスクに保存されます。

アクション

動作モード コマンドをfile list発行します。この例では、vpn-service.slax スクリプトが /var/db/scripts/op ディレクトリに存在する必要があります。service-builder.slax スクリプトは、/var/db/scripts/op ディレクトリ内の utility.slax スクリプトと/var/db/scripts/lib ディレクトリ内の vpn-service-builder-info.xml ファイルも生成します。これらのファイルは service-builder.slax スクリプトで使用されるため、削除しないでください。

サービス インターフェイスの有効化

手順

リモートデバイスでサービスインターフェイスを有効にするには:

  1. 生成されたサービススクリプトを、新しいサービスをプロビジョニングするデバイスにコピーします。

    ステートメントが load-scripts-from-flash 設定されていない場合は、サービススクリプトを2台目のデバイスの /var/db/scripts/op ディレクトリにコピーします。それ以外の場合は、代わりにスクリプトをフラッシュ ドライブ上の対応するディレクトリにコピーする必要があります。

  2. 設定で op スクリプトを有効にします。

  3. 設定をコミットします。

  4. 運用モードで、スクリプトが有効になっており、サービス パラメーターがスクリプトの引数として表示されていることを確認します。

NETCONF を使用したサービスのプロビジョニング

手順

サービスをプロビジョニングするには、次の手順にしたがっています。

  1. まだ設定されていない場合は、新しいサービスをプロビジョニングするデバイスでSSH経由でNETCONFサービスを設定します。

  2. 設定管理サーバーから、サービスをプロビジョニングするデバイスとのNETCONFセッションを確立します。

  3. デバイス上で新しいサービスをプロビジョニングする場合は、アクションを使用して create サービス op スクリプトを呼び出すリモート プロシージャ コール(RPC)を入力し、設定が必要なすべてのパラメーターの値を含めます。

    パラメーターの値は、 service-id サービス名と同じにする必要があります。

NETCONF を使用したサービスの更新または削除

手順

既存のサービスを更新または削除するには、以下の手順にいます。

  1. まだ設定されていない場合は、サービスを更新または削除するデバイスでSSH経由でNETCONFサービスを設定します。

  2. 設定管理サーバーから、サービスをプロビジョニングするデバイスとのNETCONFセッションを確立します。

  3. 特定のサービスが既にデバイス上でプロビジョニングされていて、サービスを更新する場合は、 アクションを使用して update サービス op スクリプトを呼び出す RPC を入力し、更新を必要とするすべてのパラメーターの値を含めます。

  4. 特定のサービスが既にデバイス上でプロビジョニングされていて、サービス パラメーターの一部またはすべてを削除する場合は、 アクションを使用して delete サービス op スクリプトを呼び出す RPC を入力し、削除する必要があるパラメーターを含めます。

検証

設定が更新されていることを確認します。

コミットの検証

目的

コミットが成功したことを確認します。

アクション

操作モード コマンドを show system commit 発行して、最近のコミットを表示します。最も最近のコミット エントリーは、 によって userNETCONF サーバーを介してコミットされたことを示しています。

サービス設定の検証

目的

サービス設定がアクティブな設定に存在することを確認します。

アクション

動作モード コマンドを show configuration | compare rollback num 発行して、設定変更を表示します。

意味

現在の設定と以前の設定の比較では、インターフェイスとインターフェイスの説明が設定に追加されたことが示されています。

トラブルシューティング

失敗したコミットのトラブルシューティング

問題

NETCONF セッションを通じてデバイス上のサービスの作成、更新、削除を行うと、以下のメッセージが表示されます。

設定に以前はコミットされていない変更があり、サービススクリプトはサービス設定変更をコミットできません。

ソリューション

以前の変更をコミットするか、必要に応じて設定をロールバックし、サービス設定の変更を再送信します。

サービス パラメータを削除しようとして失敗した場合のトラブルシューティング

問題

NETCONF を介してデバイス上のサービス パラメーターを削除すると、次のメッセージが表示されます。

ソリューション

RPC には、パラメーターと子要素の両方が含まれている場合があります。RPC から子要素を削除します。