Guest
sol_dc_05_main

プログラマビリティの活用

データセンター

概要

従来、ネットワーク機器はコマンド ライン インターフェイス(CLI)や Web GUI で各機器にログインして設定の変更を行ってきました。しかし、これらの機能では機器のバージョンや設定によって、設定可能な項目や出力されるメッセージが異なります。そのため、プログラムを利用した自動化の際には、出力されるメッセージなどから状況をきちんと把握し、設定を投入するなど複雑なプログラムが必要になっていました。

シスコの SDN コントローラやデータセンター向けネットワーク機器では、REST-API などの API を公開しています。それらを活用してプログラムを作成し、外部から制御することが可能です。また、備えている API を簡単に利用するために Chef や Puppet、Ansible といったサーバ自動化ツールと連携するモジュールを公開しています。

ポイント

  • プログラマが利用しやすい API を提供
  • プログラマブルなインターフェイスを利用することで、他のソフトウェアとの連携が容易
  • さまざまな自動化ツールとの連携プラグインを提供
  • API の利用をサポートする各種ツールを公開

[ Cisco ACI デモンストレーション ]
プログラマビリティの活用
REST API を利用した仮想ネットワーク作成

[+] 各コントローラや機器が持つさまざまな API

シスコのデータセンター向け SDN コントローラ製品には、標準で REST-API が備わっています。また、Cisco Nexus シリーズ スイッチも標準で REST-API や NETCONF に対応しています。これらを利用することで、構造化された形式で出力されるため、容易にプログラムから制御することが可能になっています。

[+] API を利用する外部のツールから機器の制御

シスコではコントローラやネットワーク機器の API を公開するだけではなく、他のツールから利用するためのツールを公開しています。サーバ構築自動化ツールの Chef / Puppet / Ansible から、Cisco Nexus シリーズ スイッチを制御することが可能です。
また、シスコのオーケストレータ ツールである Cisco UCS Director では、Cisco Application Centric Infrastructure(ACI)、Cisco Data Center Network Manager(DCNM)、Cisco Nexus シリーズ スイッチを制御するためのワークフローを提供しています。これを利用することで、ポータルの画面から各ネットワーク機器を制御できるようになります。

[+] API を利用する際のサポート機能

各ソリューションには、API 利用時のサポート機能が豊富に備わっています。
Cisco ACI のコントローラに用意されている API Inspector を利用すると、Web GUI で操作した際に利用している REST-API のリクエストが表示されます。そのため、実際に行った操作を容易に理解することができ、プログラムに組み込むことができます。


また、Python 向けに Cisco ACI の操作をするためのライブラリ群として Cobra を公開しています。これを利用するとPythonから容易に制御することが可能です。
Cisco Nexus シリーズ スイッチには NX-API Developer Sandbox があり、NX-OS のAPI を利用するときに役立ちます。従来の CLI のコマンドから Python のプログラムを生成することや、API の実行結果を見ることができます。


また、開発者向けに、これらの機能を体験するための Web サービスを提供しています。Cisco ACI のシミュレータや、NX-API の制御を試すことができます。