BIG-IPのAPIを叩いてみる(入門編)

BIG-IPAPIを叩いて、SelfIPVLAN一覧を取得したり設定を追加したりすることが可能です。F5の用語でいうとiControlという名称です。商用のロードバランサーといえばBIG-IPが有名どころなのでAPI使えるのは非常にうれしいですね。

 

最終的にはPythonでサーバ構築と同時にLB側の設定追加なんてのも良いですね、夢が広がります。ということで、いきなりPythonでというのは後々のお楽しみに取っておくことにして、まずは例のPostmanでアクセスしてみましょう。入門編ですね。

 

 

まず、Postmanですが今回はBasic Authを使用します。Base64で変換されてやりとりします。curl使う場合は-H "Authorization: Basic ***********"を付けて下さい。

URLには以下を記入してください。

https://BIG-IPIPアドレス/mgmt/tm/net/

そうすると公開されているAPIのURL一覧が確認できます。

 

f:id:komeiy:20140527203151p:plain

 

次にテストサーバのコマンドで実行してみます。以下の形式で返答があります。

※気分を変えてテストサーバから実行してみましたが、Postmanでも一緒です。

$curl -sk -u user:password https://X.X.X.X/mgmt/tm/net/self/

"items": [
{
"kind": "tm:net:self:selfstate",
"name": "SelfIP名",
"generation": 0,
"lastUpdatedMicros": 0,

"selfLink": "https://localhost/mgmt/tm/net/self/X.X.X.X",
"address": "IPアドレス/サブネット",
"floating": "enabled",
"inheritedTrafficGroup": "false",
"trafficGroup": "traffic-group-1",
"unit": 1,
"vlan": "VLAN名"

},

 

次に設定ですが、以下のコマンドを打ってみてください。

Y.Y.Y.Yには設定したいSelfIPのアドレスを、VLANは適宜変更してください。

 

$curl -sk -u user:password https://X.X.X.X/mgmt/tm/net/self/ -H 'Content-Type: application/json' -X POST -d '{"name":"test-api","address":"Y.Y.Y.Y/24","vlan":"VLAN100"}'

 

test-apiという名前でSelfIPが出来たかと思います。プライベートアドレスですがGUIの表示は一部伏せました。ユーザ名/パスワードの入力には-uオプションを使用してますが、-H "Authorization: Basic XXXXXXXXXXX "でBase64変換後のものを入力した方がスマートかと思います。

 

f:id:komeiy:20140527205037p:plain

 

今回は入門編ということで単純な設定確認と追加のみとしてますが、時間を見てPythonを使ったVSの作成などもやってみたいと思います。

 

HTML5 Web標準API バイブル

HTML5 Web標準API バイブル

 

 

 

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

 

 

シェアして頂けると嬉しいです。 もし参考になったよという方がいれば是非お願いします。モチベーション維持の観点で非常に励みになります。

このエントリーをはてなブックマークに追加