VMware NSX API (1) ~NSX & vCenter Object ID の調べ方~

VMware NSX API (1) ~NSX & vCenter Object ID の調べ方~

Software Defined Datacenter (SDDC) で知られる、VMwareですが、各種VMwareプロダクトや3rd-Party製品と効率的にソフトウェア連携させるために、各種APIが用いられています。その中でも、VMware NSX のソフトウェア制御を実現する、NSX API を今回から連載紹介して行きたいと思います。まずは第一弾として、 【VMware NSX API (1) ~Object ID の調べ方~】 をお届けします!

NSX API

NSX API は、URL や URI に命令を記述し、NSX Manager に転送することで、NSX の操作や、情報の抽出を可能にする API です。

そもそも、APIとは Application Programming Interface のこと で、ソフトウェア間でやり取りをする為のインターフェースで、ソフトウェア間で連携させる際に、外部のプログラムから別プログラムを呼び出したり、実行したりする場合に利用します。NSX API は、外部ソフトウェアやプログラムから NSX を操作したり、情報を抽出したりする際に利用することが可能です。 さらに、NSX API は プログラムの呼び出しの際に、Web (URLやURI) を用いることが可能なため、Networkに接続された環境であればほぼ使用することができます。こういった、Web を用いた API のことを、RESTful API と呼びます。NSX API の詳細は、以下ドキュメント(英語)に記載されています。

NSX API ドキュメント : http://pubs.vmware.com/NSX-62/topic/com.vmware.ICbase/PDF/nsx_62_api.pdf

RESTful API Tools

基本的には、ブラウザのURLの欄に、NSX API のドキュメントに記載されているように、書き込めばプログラマブルに NSX を操作することができるのですが、Web(RESTful) API 用のツールを使うことで、さらに効率的に NSX API を使用することができます。

個人的におすすめなのが、Chrome のプラグインとして動作する、「Postman」です。保存機能があるため、一度保存した API を繰り返し利用 することができます。また、Googleのアカウントとの紐づけが可能 なため、デバイスが変わったとしても、使用できるので便利です。今回は、ツールの紹介がメインではないので、操作方法はGoogle先生に聞いてくださいね!

“Chromeウエブストア”で「Postman」と検索すればインストールできます。

 

NSX Object ID

NSX環境を、NSX API で操作するためには、操作対象の Object ID を知る必要があります。NSX の各種オブジェクトには、管理者が管理しやすいようにするための、「名前」と、システムがオブジェクトを管理する際に用いる「Object ID」 が存在します。NSX API は、Object ID を定義することで、特定オブジェクトを操作することが可能 です。代表的なObject ID を参照できるコマンドをご紹介します。

NSX Controller の Object ID 参照例

 

vCenter Object ID

NSX API を用いて、NSX環境を操作するため には、「vCenter Object ID」 を知ることが必要 です。NSX API だけでは、vCenter Object ID を調べることができないため、別の方法で調べる必要があります。いくつかの調べ方があり、NSX API ドキュメントでは、vCenter Server Managed Object Browser(MOB)を用いて、vCenter Object ID を調べる方法を紹介しています。

今回は、CLI で vSphere環境を管理する「PowerCLI」を用いた、vCenter Object ID の調べ方をご紹介したいと思います。(PowerCLI のインストール方法や、vCenter への接続方法はここでは割愛します。)

PowerCLI では、「Get」コマンドを用いることで、各種オブジェクトの情報を表示することができます。例えば、仮想マシンの情報を得たければ、「Get-VM」、ESXi-Host の情報を得たければ、「Get-VMHost」といった具合です。非常にシンプルなコマンド形態ですが、表示される情報量が多いと、目的の情報を探すのに時間がとられてしまうため、「ft -Property XXX」を用いることで、特定のパラメータだけを表示する方法がおすすめです。「,」で区切ることで、複数パラメータ指定も可能 です。また、「-AutoSize」のオプションをつけることで、見やすい形に整形してくれます。代表的なObject ID の参照コマンドをご紹介します。

ESXi Host の Object ID 参照例

 

まとめ

今回は、NSX API 特集の第一弾として、NSX API と、RESTful API Tool、NSX & vCenter Object IDの調べ方をご紹介させて頂きました。今回ご紹介した、Object ID をもとに、各種オブジェクトに対して、NSX API を介した、プログラマブルなオペレーションやソフトウェア連携が可能になります。次回以降のNSX API 特集では、もう少し具体的な状況下での NSX API 利用のご紹介をしていきたいと思います。

記事は、予告なく変更または削除される場合があります。
記載された情報は、執筆・公開された時点のものであり、予告なく変更されている場合があります。
また、社名、製品名、サービス名などは、各社の商標または登録商標の場合があります。