Internet Week 2024 会場ネットワークを支えた技術
はじめに
こんにちは。IWNOC24サーバーチームの西村望久です。
本記事では、Internet Week 2024のカンファレンスWeekで提供していた会場ネットワークの紹介を各チームごとにまとめてご紹介します。
IWNOCについて
2019年以前のIWNOCはJPNIC技術部署員と数名の有志で行われていましたが、コロナ禍に突入し、Internet Weekがオンライン開催になったことにより、NOC活動は一時的に中断していました。2024年のIWNOCではJPNIC職員、プログラム委員、公募で集まったメンバの約20人がネットワークの構築・運用にあたりました。
チーム構成は、取りまとめであるCore、ケーブルの作成や配線をするL1、ネットワークの構築をするL2/L3、Wi-FIアクセスポイントの構築をするAP、サーバインフラを構築するServerの計5チームとなっています。
また、クラウド環境をさくらインターネット株式会社様、機材一式をアリスタネットワークスジャパン合同会社様にご提供いただき、会場ネットワークの設営をしました。
L1
L1チームは主に、スイッチやAP間を接続するためのケーブルの配線の設計・作成など、ネットワークの土台を物理的に支える役割を担いました。
準備段階では、会場の図面をもとに、APチームやL2/L3チームの機材配置をもとにLANケーブルの配置ルートを設計し、LANケーブルをすべて手作りしました。
今回は全部でおよそ60本のLANケーブルを作成しており、完成したケーブルは下の写真のようにすべてテスタで動作確認を行い、タグをつけることで接続先がわかりやすいようにしました。
センタードライテープという中央部分が非粘着加工になっているテープとトラテープの組み合わせが非常によく、人通りの多いところでも養生が取れたりすることなく無事に終えることができました。
L2/L3
L2/L3チームは、バックボーンと会場内のネットワークの両方を担当しました。L2/L3チームは今回一番大変だったと思います。
今回、会場ネットワークではROVの実施とInvalid経路のRejectを行ったり、さくらのクラウド版 vRXを導入したりと様々な取り組みをしました。さくらのクラウド版 vRXは10月17日に発表され、10月24日より提供が開始されています。本番が11月25日からなので、かなりのスピード感での導入でした。
今回のバックボーンネットワークの構成はこんな感じになっています。
インターネット接続性はAS2515(JPNIC)からトランジットしており、会場の機材はArista NetworksのAWE5310やCCS-710P-16Pをお借りして構築しました。また、ネットワークの可視化にはAristaが提供するCloudVisionを使用しました。このツールを使うと、設定管理や自動アップグレードを含めたネットワーク全体の構成管理や設定変更の自動化が可能となっています。
RPKI
今回のイベントNOCでは、NOCとしての取り組みとしては珍しい、RPKI技術を導入しました。
Internet Week 2023(IW23)で実施されたStay-rtr構築ハンズオンや、IW24で実施されたRoutinator構築ハンズオンの資料をもとに、さくらのクラウド上に、それぞれ自前のROAキャッシュサーバを構築しました。
また、今回はイベント専用のIPアドレスを取得しているので、構築したネットワークでのIPアドレス利用計画に応じたROAを作成しています。なお、自前のROAキャッシュサーバと会場側ルータは、vRXを用いて構築した会場とのVPNを経由して接続しました。
ルータにおけるRPKIの設定については、11月13日にJPNICより発表された「RPKIのROAを使ったインターネットにおける不正経路への対策ガイドライン」の別紙に記載の設定例をベースに行いました。
vRX
さくらのクラウド版 vRXはさくらのクラウド上で動作するソフトウェアルーターで、今回さくらのクラウドと会場の間をVPNで接続するのに使用しました。
vRXは下の画像のように仮想サーバとしてvRXを設置してNIC#0に共有セグメント、NIC#1にLANに接続する形で構築し、IPsecを使用して接続しました1。詳しい構築方法などはYAMAHAが公開しているユーザーガイドなどを見てもらうのがよいと思います。
vRXはヤマハハードウェアルーターの機能をクラウド・仮想環境上でも使えるようにしたものであるため、接続先がヤマハルーターであればコマンドも基本的には同じで、VPN部分のコンフィグは基本的にひっくり返せばよいので、ターミナルを並べての作業が非常にやりやすかったです。
- もともとはL2TPv3を利用してVPN接続しようと考えていたのですが、さくらのクラウド版vRXではL2ブリッジが使用できないと考えていたため、IPsecへ切り替えました。
ルータ(会場) <- L2TPv3 -> vRX(さくらのクラウド) <- L2TPv3で延伸したのとは別のセグメント -> 端末(さくらのクラウド)
のような構成であれば構築できるかもしれませんが、今回は時間の関係上検証ができませんでした。(編集部注:実際にはさくらのクラウド版vRXでもL2ブリッジ機能は使用できます。ただし注意事項があります。詳しくはヤマハから提供されているドキュメントをご覧ください) ↩︎
AP
APチームは主に、イベント会場全体に安定した無線通信を提供するため、APの配置設計、設置、運用をしました。
今回、APはWi-Fi 6E対応のArista C-360やArista C-250など複数種類をArista Networksさんよりお借りし、会場には計21台のAPを設置しました。
APは天井につけられれば良いのですが、イベントの数日間のためにそれはなかなか厳しく、短時間で手軽にデプロイできる譜面台を利用するなど、イベントNOCならではの工夫も行いました。
APのコントローラはArista CloudVision Cognitive Unified Edge (CV-CUE)を使用しており、これがとにかく優秀でした。さまざまな情報を表示できるダッシュボードはもちろん、同一セグメントであれば異なるAPに接続したクライアント同士のアイソレーションもボタン1つでできたり、会場のAPは毎朝チャネルが自動で再設定されたりと、運用負荷がかなり軽減されました。また、階層構造でAPの設定が管理できるので、フロアごと、部屋ごとに分けることによって、Wi-FiのON/OFFや設定の更新による影響範囲が把握しやすいのも便利な点でした。
ちなみに、3日間のクライアント数は以下のような感じでした。
Server
サーバチームではさくらのクラウドを使わせていただき、いくつかのサービスを提供しました。イベントNOCではオンプレでサーバを用意することも多いかと思いますが、今回はクラウドを利用するということで、会場への運搬の必要もなく、また、準備期間から同じ環境を使えることもあり、非常にありがたかったです。
IaC
まず、今回はリソースの管理やセットアップをTerraformとAnsibleを用いて行いました。TerraformはTerraform for さくらのクラウドという公式のTerraform用プラグインが用意されているのでそちらを利用して、VMやスイッチなどのリソースの管理をしました。また、Netboxへのリソースの登録もTerraformで構築時に行うことによって、後述する権威DNSへの登録の自動化なども行いました。
Ansibleはパッケージのインストールやコンフィグの投入などに利用しており、同じ環境を2つ以上用意したい場合やVMを建て直したときなどに非常に有用でした。当初はGitHub ActionsでTerraformでVMを建ててAnsibleでセットアップする流れを作ろうと思っていたのですが、sshで入って修正してしまうことも多く、完全にIaCだけで管理するところまではいけませんでしたが、構築にかかる負荷が非常に削減されました。
キャッシュDNS
キャッシュDNSは、当初はLVSとkeepalivedで冗長化したロードバランサを作って以下のような構成にする予定でした。ただ、なかなかうまく行かず(パケットに関する知識が乏しすぎました…)本番前日に構成を変更することになりました。
最終的には、dnsdistを1台立てて、2つのDNSサーバに振り分ける構成になりました。dnsdistは非常に簡単に建てることができて非常に助かりました。
権威DNS
権威DNSはIIJ Engineers Blogを参考に構築しており、ゾーンファイルの作成 + 未署名のままゾーン転送をするhidden primary、未署名のゾーンファイルを受け取り、DNSSEC署名をし、署名済みのゾーンを転送する署名サーバ兼権威サーバ、署名済みゾーンを受け取る権威サーバの構成で構築しました。
また、NetboxのAPIを利用し、VMのIPアドレス、DNS nameを取得することによって、AレコードやPTRレコードなどを自動で生成するような仕組みになっています。ゾーンファイルの生成には、PythonとJinja2テンプレートを使用しました。
dnscheckを使ってDNSSECの設定に問題ないことを確認してから、上位ゾーンで委任情報を書き換えることによって、委任情報を変更する前に予め問題ないかを確認できるため、安心して委任を向けることができました。
おわりに
私自身はNOCとしてネットワークを構築するのは今回が初めてで不安や緊張などもありましたが、無事に参加者に会場Wi-Fiを提供できて嬉しく思います。また、NOCチームの皆さんを含め、会場でお会いした方々など、さまざまな方とのつながりも増え、非常に楽しい時間を過ごすことができました。もし、この記事を読んでNOCやってみたいなって思った人が一人でもいてくれれば、それはそれはとても嬉しいですし、またどこかでお会いしましょう。
最後に、この場を借りて支えてくださった全ての方々に感謝を申し上げます。本当にありがとうございました。