NetBox とは…

ネットワーク
この記事は1年以上前に書かれたものです。 情報が古い可能性があります。

気になったので触ってみることにした。

幸い、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 と物理的なデバイス、ラック配置、および接続の管理の管理ができる。

アーキテクチャはこんな感じらしい。

(引用元:https://netbox.readthedocs.io/en/stable/installation/)

機能の説明ばっかりで使い方が何にも書いてない…

仕方なく youtube の動画をあさり始める。

まったくわからん。使い方がわからないのに API の話ばっかり。。。。

一応それっぽく使ってるのは次の動画

あとこの記事がめちゃくちゃ参考になりました。

DC. Part 9. Documenting your network infrastructure in NetBox, integrating with Ansible over REST API and automating provisioning of Cumulus Linux, Arista EOS, Nokia SR OS and Cisco IOS XR
Hello my friend, Today we’ll switch a bit from the Service Provider Fabric to the Data Centre track back. The only reaso...

以下、私の理解、、、

DCIM 機能

DCIM は Data Center Infrastructure Management の略で、データセンターの設備を管理する機能です。機器の物理的な配置や接続、電源容量の管理などの機能があります。

さっそく使い方の説明から。(日本語だとおかしくなるとの情報アリ!)

  1. 物理的な場所について
    1. Regions を作成する。(省略可能っぽい)
      上のメニューより Organization -> Regions -> [+] を選ぶ。
      Name を入力し、Create をクリックする。
      Region は国や都市といった大規模な地域を指定します。クラウドの Region の概念とほぼ一緒のはず…
      Parent が作成可能なので、JP -> Japan East, Japan West のように階層構造が作成できます。

    1. DataCenter を作成する。
      Organizations -> Sites -> [+] を選ぶ。
      Name や Status, 地域や ASN、住所などの項目を入力して Create をクリックします。(太字が必須項目、Slug は自動で入力されます。REST API を利用する際に便利らしい)


      右上の Stats はまだ 0 のままです。必要な分だけ Site を作成しておきましょう。

    2. Rack Roles を作成する。
      建物はできたので、次はラックを登録します。ラックを作る前に Rack Group と Rack Roles も作成します。
      Rack Roles はラックの役割ですね。
      メニューより Racks -> Rack Roles -> [+] を選択します。
      Name と Color を決めましょう。(ネットワークラック、緑、ストレージ、青など。)

    3. Rack Groups を作成する。
      Rack Groups は部屋やフロアのような DC 内のロケーションでグループを作るようです。
      Racks -> Rack Groups -> [+]  を選択します。
      Site や Name を指定して作成します。
    4. Racks を作成する。
      ようやくラックの作成です。
      Racks -> Racks -> [+] から作成します。
      これまで作成した Site や Group、Role を選択し、Height(U) を選択します。
      ここまででこんな感じです。

       

      次にデバイスを登録していきます。

    5. Manufacturers の登録
      まずメーカーを登録します。Device -> Manufacturers -> [+] から作成します。
      ここは基本的に名前を入れるだけなので、ベンダー名をどんどん追加していきましょう。
    6. Device Type の登録
      Device の種類を登録します。Devices -> Device Type -> [+] で作成します。
      ここでは機器の型番や高さ(U)、フロントとリアの画像を登録できます。
    7. Device Roles の登録
      Devices -> Device Roles -> [+] から作成します。
      コアスイッチ、アクセススイッチや Leaf, Spine などの役割を持たせることができます。
    8. Device の登録
      ようやくデバイスの登録です。これを
      Devices -> Device -> [+] から作成します。
      Name とここまで作成してきた Device role, Device Type, Site. Rack, Position(下から何Uの位置か)などを入力します。ここで、先ほどのラックの画面を見に行くと、作成したデバイスが表示されます。

       

      だいぶ長々とやってきましたが、まだ完成じゃありません

  2. ケーブル接続について
    機器同士の接続についても管理が可能です。対向機器や接続先ポート、ケーブルの色、長さなどを登録します。

     

    1. Interface の作成
      接続情報を管理するため機器にインターフェイスの情報を登録します。
      Devices のページより機器のチェックボックスをいれ、[+]Add Components -> Interfaces を選択します。
      インターフェイス名やタイプ(RJ-45, SFP など)を入力します。
      スイッチなどたくさんある場合は、サンプルのように正規表現で入れると自動で作成してくれます。
    2. 接続
      Devices からマシンを選択し、下のほうにスクロールすると先ほど作成したインターフェイスが表示されます。

       

      リストより矢印マーク -> Interface を選択すると次の画面になります。

      接続先の Device やポートとケーブルを選択し Connect で接続します。
      先ほどの機器のページで接続に変化します。また、メニューの Devices -> Cables から一覧を確認できます。(Configure からカラーと長さも表示できます。)

  3. 電源管理
    電源の接続先と電源容量の管理ができます。

     

    1.  Power Panels の作成
      メニューの Power から Power Panels を作成します。
      パワーパネルはあまり聞きなれなかったのですが、ブレーカーに相当するようです。DC など複数の電源系統があると思うので、必要数作成します。
    2. 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 |       +--------+     +--------+
    3. 機器の電源の登録
      機器側の電源ポートを登録します。
      インターフェイスと同様に Devices のページから機器を選択し、Add Componetns -> Power Ports を選択します。
      Name や Type を選択、消費電力を入力し Create をクリックします。
    4. 接続先の選択
      機器のページに Console / Power のところに作成した電源が表示されるので、矢印から接続先を選択します。

       

      接続先とケーブルを選択して、 Connect をクリックします。

      これで機器のページのステータスが接続状態になり、Power Feeds のページに割り当てられた消費電力が表示されます。

IPAM 機能

IP アドレスを登録する。VLAN とか Prefix とか。IPAM の部分です。

  1. VRF の作成
    メニューの IPAM -> VRF -> [+] より作成します。
  2. RIRs の作成

    Regional Internet Registries の略です。APNIC や RIPE などのグローバル IP アドレス管理団体のことですが、ここでは好きな名前で作成できます。
    IPAM -> RIRs -> [+] から作成します。

    ローカルアドレスの管理に使う場合 Private にチェックを入れておきます。

  3. Aggregates の作成
    IPAM -> Aggregates -> [+] から作成します。
    Aggregates は管理したいアドレスのスコープです。プライベートアドレスの場合、10.0.0.0/8 や 172.16.0.0/12,  192.168.0.0/16 などを定義します。
  4. Prefix/VLAN Roles の登録
    IPAM -> Prefix/VLAN -> [+] から登録します。
  5. Prefix を登録します。
    IPAM -> Prefixes -> [+] で作成します。
    VRF や Site, まだ作ってませんが、 VLAN 情報などを登録できます。
  6. インターフェイスの関連付け
    最後に Device のインターフェイスに IP アドレスを割り当てます。
    各デバイスのページの下のほうにある Interfaces リストの [+] を選択します。
    作成するとデバイスページのインターフェイスに IP アドレスが表示されます。

     

    メニューの IPAM -> IP address より、IP アドレスのリストが表示できます。また、 IPAM -> Prefixes から定義してある Prefix のリストが表示できます。

    使用済みアドレスの管理などで便利そうですね。

まとめ

Netbox の DCIM と IPAM の使い方についての説明でした。

Circuits (外部接続回線) や Virtualization, Secrets などまだまだ説明していない機能もたくさんあるので、触りながら見ていきたいと思います。

API もあり、Ansible のインベントリとしての活用などがあるようです。上のほうであげた紹介ページに API についても書いてあるので読んでみてください。

定義するものが多くて作成がかなり大変ですが、操作は簡単だと思うので一度触ってみるのがいいと思います~

よき自動化ライフを~(/・ω・)/

コメント

タイトルとURLをコピーしました