気になったので触ってみることにした。
幸い、docker-compose があるのでサクッと構築。
https://github.com/netbox-community/netbox-docker/wiki/Getting-Started を参照。
docker-compose pull をお忘れなく。(ここで引っかかってつながらねーなんてありえないですよねー。ええ。(自戒))
ここから何ができるのかが全然わからなかったし、構築の記事ばっかりで解説サイトもなかったので、ドキュメント(https://netbox.readthedocs.io/en/stable/)を読み始める。
まず最初に書いてあるところ。
DigitalOcean のネットワークエンジニアリングチームが作った管理ソフトだそう。
- IP address management (IPAM) – IP networks and addresses, VRFs, and VLANs
- Equipment racks – Organized by group and site
- Devices – Types of devices and where they are installed
- Connections – Network, console, and power connections among devices
- Virtualization – Virtual machines and clusters
- Data circuits – Long-haul communications circuits and providers
- Secrets – Encrypted storage of sensitive credentials
ざっくり言うと IP アドレスや VLAN, VRF の管理機能である IPAM と物理的なデバイス、ラック配置、および接続の管理の管理ができる。
アーキテクチャはこんな感じらしい。
機能の説明ばっかりで使い方が何にも書いてない…
仕方なく youtube の動画をあさり始める。
まったくわからん。使い方がわからないのに API の話ばっかり。。。。
一応それっぽく使ってるのは次の動画
あとこの記事がめちゃくちゃ参考になりました。
以下、私の理解、、、
DCIM 機能
DCIM は Data Center Infrastructure Management の略で、データセンターの設備を管理する機能です。機器の物理的な配置や接続、電源容量の管理などの機能があります。
さっそく使い方の説明から。(日本語だとおかしくなるとの情報アリ!)
- 物理的な場所について
- Regions を作成する。(省略可能っぽい)
上のメニューより Organization -> Regions -> [+] を選ぶ。
Name を入力し、Create をクリックする。
Region は国や都市といった大規模な地域を指定します。クラウドの Region の概念とほぼ一緒のはず…
Parent が作成可能なので、JP -> Japan East, Japan West のように階層構造が作成できます。
- DataCenter を作成する。
Organizations -> Sites -> [+] を選ぶ。
Name や Status, 地域や ASN、住所などの項目を入力して Create をクリックします。(太字が必須項目、Slug は自動で入力されます。REST API を利用する際に便利らしい)
右上の Stats はまだ 0 のままです。必要な分だけ Site を作成しておきましょう。
- Rack Roles を作成する。
建物はできたので、次はラックを登録します。ラックを作る前に Rack Group と Rack Roles も作成します。
Rack Roles はラックの役割ですね。
メニューより Racks -> Rack Roles -> [+] を選択します。
Name と Color を決めましょう。(ネットワークラック、緑、ストレージ、青など。) - Rack Groups を作成する。
Rack Groups は部屋やフロアのような DC 内のロケーションでグループを作るようです。
Racks -> Rack Groups -> [+] を選択します。
Site や Name を指定して作成します。 - Racks を作成する。
ようやくラックの作成です。
Racks -> Racks -> [+] から作成します。
これまで作成した Site や Group、Role を選択し、Height(U) を選択します。
ここまででこんな感じです。次にデバイスを登録していきます。
- Manufacturers の登録
まずメーカーを登録します。Device -> Manufacturers -> [+] から作成します。
ここは基本的に名前を入れるだけなので、ベンダー名をどんどん追加していきましょう。 - Device Type の登録
Device の種類を登録します。Devices -> Device Type -> [+] で作成します。
ここでは機器の型番や高さ(U)、フロントとリアの画像を登録できます。 - Device Roles の登録
Devices -> Device Roles -> [+] から作成します。
コアスイッチ、アクセススイッチや Leaf, Spine などの役割を持たせることができます。 - Device の登録
ようやくデバイスの登録です。これを
Devices -> Device -> [+] から作成します。
Name とここまで作成してきた Device role, Device Type, Site. Rack, Position(下から何Uの位置か)などを入力します。ここで、先ほどのラックの画面を見に行くと、作成したデバイスが表示されます。
だいぶ長々とやってきましたが、まだ完成じゃありません
- Regions を作成する。(省略可能っぽい)
- ケーブル接続について
機器同士の接続についても管理が可能です。対向機器や接続先ポート、ケーブルの色、長さなどを登録します。- Interface の作成
接続情報を管理するため機器にインターフェイスの情報を登録します。
Devices のページより機器のチェックボックスをいれ、[+]Add Components -> Interfaces を選択します。
インターフェイス名やタイプ(RJ-45, SFP など)を入力します。
スイッチなどたくさんある場合は、サンプルのように正規表現で入れると自動で作成してくれます。 - 接続
Devices からマシンを選択し、下のほうにスクロールすると先ほど作成したインターフェイスが表示されます。
リストより矢印マーク -> Interface を選択すると次の画面になります。
接続先の Device やポートとケーブルを選択し Connect で接続します。
先ほどの機器のページで接続に変化します。また、メニューの Devices -> Cables から一覧を確認できます。(Configure からカラーと長さも表示できます。)
- Interface の作成
- 電源管理
電源の接続先と電源容量の管理ができます。- Power Panels の作成
メニューの Power から Power Panels を作成します。
パワーパネルはあまり聞きなれなかったのですが、ブレーカーに相当するようです。DC など複数の電源系統があると思うので、必要数作成します。 - Power Feeds の作成
メニューの Power から Power Feeds を作成します。
Power Feeds は分電盤からラックに伸びてきた電源ケーブルです。1つの Power Feeds は1口しか給電口を登録できないので、ここに PDU や UPS を接続します。公式ドキュメントのサンプルでは以下のように説明されています。
Power ports が受電口、 Power Outlets が給電口だと思います。+---------------+ | Power panel 1 | +---------------+ | | | | +--------------+ +--------------+ | Power feed 1 | | Power feed 2 | +--------------+ +--------------+ | | | | | | <-- Power ports +---------+ +---------+ | PDU 1 | | PDU 2 | +---------+ +---------+ | \ / | <-- Power outlets | \ / | | \ / | | X | | / \ | | / \ | | / \ | <-- Power ports +--------+ +--------+ | Server | | Router | +--------+ +--------+
- 機器の電源の登録
機器側の電源ポートを登録します。
インターフェイスと同様に Devices のページから機器を選択し、Add Componetns -> Power Ports を選択します。
Name や Type を選択、消費電力を入力し Create をクリックします。 - 接続先の選択
機器のページに Console / Power のところに作成した電源が表示されるので、矢印から接続先を選択します。
接続先とケーブルを選択して、 Connect をクリックします。
これで機器のページのステータスが接続状態になり、Power Feeds のページに割り当てられた消費電力が表示されます。
- Power Panels の作成
IPAM 機能
IP アドレスを登録する。VLAN とか Prefix とか。IPAM の部分です。
- VRF の作成
メニューの IPAM -> VRF -> [+] より作成します。 - RIRs の作成
Regional Internet Registries の略です。APNIC や RIPE などのグローバル IP アドレス管理団体のことですが、ここでは好きな名前で作成できます。
IPAM -> RIRs -> [+] から作成します。ローカルアドレスの管理に使う場合 Private にチェックを入れておきます。
- Aggregates の作成
IPAM -> Aggregates -> [+] から作成します。
Aggregates は管理したいアドレスのスコープです。プライベートアドレスの場合、10.0.0.0/8 や 172.16.0.0/12, 192.168.0.0/16 などを定義します。 - Prefix/VLAN Roles の登録
IPAM -> Prefix/VLAN -> [+] から登録します。 - Prefix を登録します。
IPAM -> Prefixes -> [+] で作成します。
VRF や Site, まだ作ってませんが、 VLAN 情報などを登録できます。 - インターフェイスの関連付け
最後に Device のインターフェイスに IP アドレスを割り当てます。
各デバイスのページの下のほうにある Interfaces リストの [+] を選択します。
作成するとデバイスページのインターフェイスに IP アドレスが表示されます。メニューの IPAM -> IP address より、IP アドレスのリストが表示できます。また、 IPAM -> Prefixes から定義してある Prefix のリストが表示できます。
使用済みアドレスの管理などで便利そうですね。
まとめ
Netbox の DCIM と IPAM の使い方についての説明でした。
Circuits (外部接続回線) や Virtualization, Secrets などまだまだ説明していない機能もたくさんあるので、触りながら見ていきたいと思います。
API もあり、Ansible のインベントリとしての活用などがあるようです。上のほうであげた紹介ページに API についても書いてあるので読んでみてください。
定義するものが多くて作成がかなり大変ですが、操作は簡単だと思うので一度触ってみるのがいいと思います~
よき自動化ライフを~(/・ω・)/
コメント