IPアドレス管理指定事業者における業務自動化の取り組みと活用例

この記事は、2022年1月27日(木)に行われたJANOG49における発表を編集部にて記事化したものです。

自己紹介

JANOG49にて発表中の筆者(写真提供:Home NOC Operators’ Group)

はじめまして。米田悠人と申します。さくらインターネットで学生アルバイトをしておりまして、さらにHome NOC Operators’ Groupというところで理事をやっております。現在、大学4年生で、ちょっと卒論が危うい状態になっているので、皆さん応援していただけたらなと思っている次第でございます。

IPアドレス管理指定事業者の業務とは?

さて本題に入ります。まず、IPアドレス管理指定事業者(LIR)における業務とは何かっていう話をします。

新規でIPアドレス管理指定事業者契約をする場合に、まず最初にIANA→APNIC→JPNIC→LIRの順番に割り振りを受ける形になります。その中からエンドユーザの皆様や我々LIRが使うアドレスの、割当・変更・返却といった各種申請の手続きをJPNICから委託されているような形になっております。何かがあったときの連絡手段にもなりますので、割り当てたユーザさんやLIR自身の住所・電話番号・メールアドレスといった重要な情報を常に最新の状態にしておかないといけないっていうのを、皆さんも覚えていただけたらと思います。

背景

それでは、今回の取り組みに至る背景についてお話しします。

先ほどお話ししたような各種手続きをWeb申請システムというところからやるんですけども、手作業で申請する必要がありまして、正直に言って時間がかかります。会場にIPアドレス管理指定事業者の方々がいるかわからないんですけども、申請時にセッションエラーで悩まれた方も結構多いんちゃうかなと思います。

それから、JPNICの場合は証明書の認証がAS番号ごとになりますので、さくらインターネットのようにASを複数持っている事業者はログインとかログアウトの処理に手間がかかったり、証明書の管理がちょっと大変だったりします。

他にも、JPNICから提供されているAPIが、ちょっと言いにくいんですけど正直なところ機能が足りない、例えば返却とか検索の機能がなかったりとか、そういった状態があったりします。

抱えている課題

そこで、我々の業務を自動化するためにいろんなことやってみました。

まずは抱えている課題を挙げてみます。さくらインターネットとHome NOC Operators’ Group、両者は同じような課題を持っているのでまとめて紹介します。さくらインターネットは膨大なアドレスを持っているので把握するのに非常に時間がかかります。Home NOC Operators’ Groupでも、最新の情報が把握しきれていないという問題が起きています。それから、これは両者に言えることですが、申請業務を手作業で行う必要があります。

ライブラリの開発

この問題を解決するために、我々はまずライブラリの開発をいたしました。我々1社だけじゃなくて多くの組織で使えるようにするために、こういうことをやっています。

開発しているライブラリはOSSで公開していますが、jpnic-pythonというものとjpnic-goというものを作っています。jpnic-pythonはPython製のライブラリ、jpnic-goはGo製のライブラリで、現在の対応状況は上に掲載したスライドの通りです。

ipv4-usage-reportの開発

それから、これはさくらインターネットの話になるんですけども、毎月1回、アドレス使用率の確認作業っていうものがありまして、これを楽にしたいというご要望がありましたので、ipv4-usage-reportの開発をいたしました。こちらは先ほど紹介したjpnic-goというライブラリを使ってGoで開発されておりまして、毎月1日にcronで実行されています。HTMLファイルとかExcelファイルを生成する形になっていて、上図のようなものができ上がります。

これを開発する前はだいたい30分から60分ぐらいかかってたであろう作業が2,3分ぐらいに短縮できたというのが、このアプリケーションの成果になります。

jpnic_guiの開発

次に、一括検索や、申請・変更・返却などの各種手続きを楽にしたいなっていう気持ちが元からあって、それもいろんな団体で使えるようにしたいと考えていたので、jpnic_guiの開発を進めています。これもOSSで作っています。画面は上図のようになっていて、住所から検索できるようになっています。検索にかかる時間も表に示していますが、所要時間が圧倒的に短縮されています。

最後に

というわけで、当初の目的だった業務の効率化は達成できたかなと思います。未完成の機能も多々あるんですけども、これから機能を追加していったりとか、そういうのもやっていきたいなと思っております。こういった取り組みやツールに興味のある方は yoneda@homenoc.ad.jp までお問い合わせください。