Cisco Configuration Engine インストレーション コンフィギュレーション ガイド 3.5
Cisco IOS CNS エージェントの設定
Cisco IOS CNS エージェントの設定
発行日;2012/01/09 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 1MB) | フィードバック

目次

Cisco IOS CNS エージェントの設定

Cisco Configuration Engine ソフトウェアについて

コンフィギュレーション サービス

イベント サービス

NameSpace Mapper

CNS ID とデバイスのホスト名

ConfigID

DeviceID

ホスト名と DeviceID

ホスト名、DeviceID、および ConfigID の使用

Cisco IOS エージェントについて

初期設定

差分(部分的)設定

コンフィギュレーションの同期

Cisco IOS エージェントの設定

Cisco IOS CNS エージェントの設定

Cisco Configuration Engine に加えて、Cisco Configuration Engine に接続するエージェント デバイス(ルータやスイッチ)を設定する必要があります。この章では、Cisco Configuration Engine ソフトウェアの概要と、Cisco IOS Cisco Networking Services(CNS)エージェントの設定に関する情報を示します。


) • Cisco Configuration Engine の詳細な設定情報については、次の URL にある『Cisco Configuration Engine Administration Guide』を参照してください。
http://www.cisco.com/en/US/docs/net_mgmt/configuration_engine/3.5/administration/guide/CE_ag.html

この章で使用するコマンドの詳細な構文と使用方法については、次の URL にある『 Cisco IOS Network Management Command Reference, Release 12.4 』を参照してください。
http://www.cisco.com/en/US/products/ps6350/prod_command_reference_list.html


 

この章の内容は、次のとおりです。

「Cisco Configuration Engine ソフトウェアについて」

「Cisco IOS エージェントについて」

「Cisco IOS エージェントの設定」

Cisco Configuration Engine ソフトウェアについて

Cisco Configuration Engine は、ネットワーク デバイスやサービスの展開、管理、およびアップグレードを自動化するためのコンフィギュレーション サービスの役割を果たすネットワーク管理ソフトウェアです(図 3-1 を参照)。各 Configuration Engine は、シスコ デバイス(ルータやスイッチ)のグループとそれらのデバイスが提供するサービスを管理し、各デバイスのコンフィギュレーションを保存して、必要に応じて配信します。Cisco Configuration Engine は、デバイス固有のコンフィギュレーション変更を生成してデバイスに送信し、コンフィギュレーション変更を実行して結果をログに記録することにより、初期設定とコンフィギュレーションの更新を自動化します。

図 3-1 Cisco Configuration Engine のアーキテクチャの概要

 

Cisco Configuration Engine はスタンドアロン モードとサーバ モードをサポートします。

スタンドアロン モードでは、内部に組み込まれたディレクトリ サービスがサポートされます。このモードでは、外部ディレクトリやその他のデータ ストアは必要ありません。

サーバ モードでは、ユーザが定義した外部ディレクトリの使用がサポートされます。

Cisco Configuration Engine には次の CNS コンポーネントが含まれます。

コンフィギュレーション サービス(Web サーバ、ファイル マネージャ、名前空間マッピング サーバ)

イベント サービス(イベント ゲートウェイ)

データ サービス ディレクトリ(データ モデルとスキーマ)

次のセクションでさらに詳しく説明します。

「コンフィギュレーション サービス」

「イベント サービス」

「CNS ID とデバイスのホスト名」

コンフィギュレーション サービス

コンフィギュレーション サービスは Cisco Configuration Engine の中核コンポーネントです。これは、各ルータ上に存在するコンフィギュレーション エージェントと連携して機能するコンフィギュレーション サーバから成ります。コンフィギュレーション サービスは、Cisco IOS デバイスの初期設定や論理グループ別の一括再設定のために、デバイスやサービスのコンフィギュレーションを Cisco IOS デバイスに配信します。ルータはネットワーク上で初めて起動したときにコンフィギュレーション サービスから初期設定を受け取ります。

コンフィギュレーション サービスはイベント サービスを使用して、コンフィギュレーション変更を適用するために必要なイベントを送信し、成功または失敗を示す通知を受信します。

コンフィギュレーション サーバは、コンフィギュレーション テンプレートや組み込みディレクトリ(内部ディレクトリ モード)またはリモート ディレクトリ(外部ディレクトリ モード)に保存されたデバイス固有のコンフィギュレーション情報を使用する Web サーバから成ります。

コンフィギュレーション テンプレートは、CLI コマンド形式の静的なコンフィギュレーション情報を含むテキスト ファイルです。このテンプレートでは、ディレクトリに保存されたデバイス固有のコンフィギュレーション情報を参照する Lightweight Directory Access Protocol(LDAP)URL を使用して変数が指定されます。

コンフィギュレーション サーバは、管理対象の Cisco IOS デバイスで実行されているコンフィギュレーション エージェントとの通信に HTTP を使用します。データは eXtensible Markup Language(XML)形式で転送されます。ルータのコンフィギュレーション エージェントは独自の XML パーサーを使用してコンフィギュレーション データを解釈し、受信したコンフィギュレーションから XML タグを除去します。

コンフィギュレーション エージェントは、受信したコンフィギュレーション ファイルの構文チェックも実行できます。また、イベント ゲートウェイを通じて、構文チェックが成功したかどうかを示すイベントをパブリッシュすることもできます。

イベント サービス

Cisco Configuration Engine は、イベントの受信と生成にイベント サービスを使用します。イベント エージェントは Cisco IOS デバイスに常駐し、ルータと Cisco Configuration Engine 上のイベント ゲートウェイとの通信を容易にします。

イベント サービスは、スケーラビリティの高いパブリッシュ/サブスクライブ型の通信方式です。イベント サービスは、サブジェクトベースのアドレス指定を使用してメッセージが宛先に到着するようにします。サブジェクトベースのアドレス表記法は、メッセージとその宛先に対して簡単で均一な名前空間を定義します。

NameSpace Mapper

Cisco Configuration Engine は NameSpace Mapper(NSM)を備えています。これは、アプリケーション、デバイスまたはグループ ID、およびイベントに基づいてデバイスの論理グループを管理するための検索サービスを提供します。

Cisco IOS デバイスは、Cisco IOS ソフトウェアで設定されたものと一致するイベント サブジェクト名(例:cisco.mgmt.cns.config.load)だけを認識します。名前空間マッピング サービスを使用すると、任意の命名規則を使用してイベントを指定できます。データ ストアにサブジェクト名を入力しておくと、NSM によってイベント サブジェクト名の文字列が Cisco IOS で認識される文字列に変換されます。

サブスクライバの場合、一意のデバイス ID とイベントが指定されると、名前空間マッピング サービスはサブスクライブ対象のイベント セットを返します。同様にパブリッシャの場合は、一意のグループ ID、デバイス ID、およびイベントが指定されると、パブリッシュ対象のイベント セットを返します。

CNS ID とデバイスのホスト名

Cisco Configuration Engine は、設定対象の各デバイスに一意の識別子が関連付けられていることを前提としています。この一意の識別子は複数のシノニムを持つことができ、各シノニムは特定の名前空間内で一意です。イベント サービスは、メッセージのサブジェクトベースのアドレス指定に名前空間の内容を使用します。

Cisco Configuration Engine は、イベント バス用とコンフィギュレーション サーバ用の 2 つの名前空間を交差します。コンフィギュレーション サーバ名前空間の範囲内では、 ConfigID という用語がデバイスの一意の識別子です。イベント バス名前空間の範囲内では、 DeviceID という用語がデバイスの一意の CNS 識別子です。

Cisco Configuration Engine はイベント バスとコンフィギュレーション サーバの両方を使用してデバイスにコンフィギュレーションを提供するため、設定対象のデバイスごとに ConfigID と Device ID の両方を定義する必要があります。

コンフィギュレーション サーバの単一インスタンスの範囲内では、2 つの設定対象デバイスが同じ ConfigID の値を共有することはできません。イベント バスの単一インスタンスの範囲内では、2 つの設定対象デバイスが同じ DeviceID の値を共有することはできません。

ConfigID

設定対象のデバイスはそれぞれ一意の ConfigID を持ちます。これは Cisco Configuration Engine ディレクトリからデバイス CLI 属性の対応するセットを取得するためのキーとなります。デバイスで定義された ConfigID は、Cisco Configuration Engine 上の対応するデバイス定義の ConfigID と一致する必要があります。

DeviceID

イベント バスに参加している設定対象デバイスはそれぞれ一意の DeviceID を持ちます。これはデバイス ソース アドレスに似ており、これによってデバイスをバス上の特定の宛先として指定できます。 cns event ip port グローバル コンフィギュレーション コマンドを使用して設定されたデバイスはすべて、イベント バスにアクセスする必要があります。したがって、(デバイスを起源とする)DeviceID が、Cisco Configuration Engine 内の対応するデバイス定義の DeviceID と一致する必要があります。

DeviceID の起源は、デバイスの Cisco IOS ホスト名によって定義されます。ただし、DeviceID 変数はデバイスに隣接するイベント ゲートウェイ内に存在し、そこで使用されます。

イベント バス上の論理的な Cisco IOS 終端地点はイベント ゲートウェイに組み込まれており、イベント ゲートウェイがデバイスの代わりにプロキシの役割を果たします。イベント ゲートウェイは、イベント バスに対してデバイスとデバイスに対応する DeviceID を表します。

デバイスは、イベント ゲートウェイへの接続が成功すると、ただちに自身のホスト名をイベント ゲートウェイに宣言します。イベント ゲートウェイは、この接続が確立されるたびに DeviceID の値を Cisco IOS ホスト名に結び付けます。この DeviceID の値はデバイスが接続されている間キャッシュされます。

ホスト名と DeviceID

DeviceID はイベント ゲートウェイに接続した時点で固定され、デバイスのホスト名が再設定された場合にも変更されません。

デバイスでホスト名を変更するとき、DeviceID を更新する唯一の方法は、デバイスとイベント ゲートウェイ間の接続を切断することです。 no cns event グローバル コンフィギュレーション コマンドを入力した後、 cns event グローバル コンフィギュレーション コマンドを入力します。コマンド cns id event を使用すると、デバイスとイベント ゲートウェイ間の接続を切断せずに DeviceID を変更できます。

接続が再確立されると、デバイスは変更された自身のホスト名をイベント ゲートウェイに送信します。イベント ゲートウェイは DeviceID を新しい値に再定義します。


注意 Cisco Configuration Engine のユーザ インターフェイスを使用する場合は、最初に DeviceID フィールドを、デバイスで cns config initial グローバル コンフィギュレーション コマンドを使用したに(使用するではない)デバイスが取得するホスト名の値に設定する必要があります。そうしなければ、後続の cns event ip port グローバル コンフィギュレーション コマンドの操作が正しく機能しません。

ホスト名、DeviceID、および ConfigID の使用

スタンドアロン モードでは、デバイスのホスト名の値が設定されている場合、コンフィギュレーション サーバからイベントがホスト名に送信されるときに、設定されたホスト名が DeviceID として使用されます。ホスト名が設定されていない場合、イベントはデバイスの cn=< > に送信されます。

サーバ モードでは、ホスト名は使用されません。このモードでは、バス上でイベントを送信する際に常に一意の DeviceID 属性が使用されます。この属性が設定されていない場合は、デバイスを更新できません。

これらの属性および関連するその他の属性(タグと値のペア)は、Cisco Configuration Engine でセットアップ プログラムを実行するときに設定されます( 第 2 章「セットアップ プログラムの実行」 を参照)。

Cisco IOS エージェントについて

CNS イベント エージェント機能により、デバイスはイベント バス上のイベントをパブリッシュおよびサブスクライブできます。このエージェント機能は Cisco IOS エージェントと連携します。Cisco IOS エージェント機能は、デバイスをサポートするために次の機能を提供します。

「初期設定」

「差分(部分的)設定」

「コンフィギュレーションの同期」

初期設定

デバイスは初めて起動するとき、ネットワーク上に DHCP 要求をブロードキャストして IP アドレスを取得しようとします。サブネット上に DHCP サーバがない場合は、ディストリビューション デバイスが DHCP リレー エージェントの役割を果たし、DHCP 要求を DHCP サーバに転送します。DHCP サーバはこの要求を受け取ると、新しいデバイスに IP アドレスを割り当て、DHCP リレー エージェントへのユニキャスト応答に TFTP サーバの IP アドレス、ブートストラップ コンフィギュレーション ファイルのパス、およびデフォルト ゲートウェイの IP アドレスを含めます。DHCP リレー エージェントはその応答をデバイスに転送します。

デバイスは割り当てられた IP アドレスをインターフェイス VLAN 1(デフォルト)に自動的に設定し、TFTP サーバからブートストラップ コンフィギュレーション ファイルをダウンロードします。ブートストラップ コンフィギュレーション ファイルのダウンロードが成功すると、そのファイルがデバイスの実行コンフィギュレーションにロードされます。

Cisco IOS エージェントは、適切な ConfigID と EventID を使用して Cisco Configuration Engine との通信を開始します。Cisco Configuration Engine は Config ID をテンプレートにマップし、完全なコンフィギュレーション ファイルをデバイスにダウンロードします。

図 3-2 に、DHCP ベースの自動設定を使用して初期ブートストラップ コンフィギュレーション ファイルを取得するためのネットワーク構成例を示します。

図 3-2 初期設定の概要

 

差分(部分的)設定

ネットワークが稼動した後、Cisco IOS エージェントを使用して新しいサービスを追加できます。差分(部分的)設定をデバイスに送信することが可能です。実際のコンフィギュレーションは、イベント ゲートウェイを介してイベント ペイロードとして送信するか(プッシュ操作)、デバイスにプル操作を開始させる信号イベントとして送信できます。

デバイスはコンフィギュレーションを適用する前にその構文をチェックできます。構文が正しい場合、デバイスは差分設定を適用し、コンフィギュレーション サーバに成功を通知するイベントをパブリッシュします。差分設定を適用しない場合、デバイスはエラー ステータスを示すイベントをパブリッシュします。差分設定が適用されたデバイスは、差分設定を NVRAM に書き込むか、そうするよう通知されるまで待機します。

コンフィギュレーションの同期

コンフィギュレーションを受け取ったデバイスでは、書き込み信号イベントの受信時にコンフィギュレーションの適用を延期できます。書き込み信号イベントは、更新されたコンフィギュレーションを NVRAM に保存しないようデバイスに通知します。デバイスは更新されたコンフィギュレーションを実行コンフィギュレーションとして使用します。これにより、デバイス コンフィギュレーションが他のネットワーク アクティビティと同期してから、コンフィギュレーションを次回のリブート時に使用するために NVRAM に保存できます。

Cisco IOS エージェントの設定

デバイスの Cisco IOS ソフトウェアには Cisco IOS エージェントが組み込まれており、これによってデバイスへの接続やデバイスの自動設定が実行されます。この設定は変更可能で、カスタム設定をインストールすることもできます。手順については、デバイスのタイプ(ルータまたはスイッチ)と各デバイス タイプでサポートされている Cisco IOS ソフトウェアに基づいて、適切なソフトウェア コンフィギュレーション ガイドを参照してください。

次の例は、Cisco 871 ルータでの Cisco IOS コマンドのサンプルを示します。

Cisco 871 ルータでの Cisco CNS コマンドの例


) myCE をご使用の CE ホスト名に、myCE_domain をご使用の CE fdqn に、IP アドレス 1.1.1.1 を正しい IP アドレスにそれぞれ置き換えてください。


平文の例:

ip host 1.1.1.1
ip host myCE_domain 1.1.1.1
cns trusted-server all-agents myCE
cns trusted-server all-agents myCE_domain
cns id mac-address
cns id mac-address event
 
cns id mac-address image

cns event myCE keepalive 60 3
cns config partial myCE 80
cns image server http://myCE:80/cns/HttpMsgDispatcher status http://myCE:80/cns/HttpMsgDispatcher
cns exec

 

暗号 SSL 接続の例(ポート 11012 を使用していると想定):

ip host myCE 1.1.1.1
ip host myCE_domain 1.1.1.1
cns trusted-server all-agents myCE
cns trusted-server all-agents myCE_domain

cns id mac-address
 
cns id mac-address event
cns id mac-address image
cns event myCE encrypt keepalive 60 3
cns config partial myCE encrypt 443
cns image server http://myCE:443/cns/HttpMsgDispatcher status http://myCE:443/cns/HttpMsgDispatcher
cns exec encrypt 443


ここでは、CNS コマンドの使用上のガイドラインについて説明します。

cns trusted-server :cns trusted-server コマンドを使用すると、個々の CNS エージェントまたはすべての CNS エージェントの信頼されるサーバを指定できます。このリストにないサーバに接続しようとすると、メッセージ AUTHENTICATION FAILURE が表示されます。

cns id :このコマンドは、CNS コンフィギュレーション エージェントに一意の ID を設定する場合、または CNS サービスによって使用される ID Cisco IOS デバイス識別子を設定する場合に使用します。

cns event :このコマンドは、Cisco IOS クライアントに CNS イベント サービスを提供する場合に使用します。このコマンドを使用すると、デバイスと Cisco Configuration Engine 間の接続を確立できます。たとえば、このコマンドをオフにすると、GUI 上のエージェント対応デバイスが緑から赤に変わります。

cns config partial :このコマンドは、CNS 部分設定エージェントを起動する場合に使用します。たとえば、このコマンドを使用すると、Cisco Configuration Engine の設定機能を更新できます。

cns image :このコマンドは、CNS イメージ エージェント プロセスを起動し、CNS イベント バスでイメージ関連イベントをリッスンする場合に使用します。

cns exec:CNS exec エージェントを使用すると、コマンドを含むイベント メッセージを送信することで、リモート アプリケーションから Cisco IOS デバイス上の EXEC モード コマンドライン インターフェイス(CLI)コマンドを実行できます。たとえばこのコマンドは、Config Engine のデバイス検出機能やデバイス インベントリの照会機能に必要となります。