JANOG57へOCXを提供しました

おつかれさまです、BBSakuraの川畑です。

このたび、2026年2月11日~13日まで開催された JANOG57 の会場ネットワークとして、 OCX を全面提供しました。

振り返り

自身の原籍組織であるさくらインターネットがホストを務めたこともあり、会場ネットワーク構築にあたっては社内でも特に技術力の高いメンバーがそれぞれのパートに着任して設計・構築・運用を行うなど傍から見ててもすごい勢いのNOCであったとしみじみ感じています。 ボランティアで集まったメンバーも学生とは思えないほどの技術力を持ったメンバーも居ましたし、それぞれのパートを楽しみつつ取り組めていたように思います。

私はコントリビュータとしての参加でしたので、行動は共にしつつもNOCの活動は各パートでお手伝いレベルでしか動いていないのですが、いい意味でやりすぎだったNOCの活動は終幕後に振り返ればJANOG史上最高とも言える完成度と安定度でした。

今回のNOCでの活動や技術的な構成情報は事後公開することを前提に設計されており、その情報は こちらにまとまっています ので、気になる方は是非ご覧ください。続々と情報が増えています。

提供のいきさつ

OCXがバックボーンとして採用されるにあたってのエピソードです。 昨年(2025年)にさくらインターネットがJANOG57ホストとしてのスポンサー募集を出しはじめたくらいに、さくらインターネットの執行役員で当社取締役で同期でもある江草と「さくらがホストやるならOCXをバックボーンにして、品質と安定性をコントロールできる範囲が広い状態で会場ネットワーク作りたいよね」と話したのがきっかけです。

「オプテージ様もスポンサーになっていただいているようですし、コングレならOCXのノードがある拠点から近いんで会場からは贅沢にダークファイバで直収とかどうです?先方に打診してみませんか?」といらんこと(?)を吹き込んだ(?)こともあり、ホストとしてオプテージ様へ会場へのダークファイバ敷設が打診され、結果的に今回のイベントに向けて敷設の手配を頂くことになりました。

そんな話からOCXを会場バックボーンにする方針になったのですが、この選択は大きくNOCの構築業務を助けることになります。

今までの課題

JANOG NOCの会場ネットワークの課題として、毎度「会期4~5日前にインターネット回線が敷設される」という時間的ハンデと「違う会場・違う回線事業者で構成される」という構成的ハンデを背負って構築をしています。 ここらへんは特に会場が借り物であるということ、予算の都合上何週間も前から抑えることができないこと、他の催事との兼ね合いなどいくつもの制約条件の下で運用されることになります。

私がNOCを務めたJANOG55(京都)も会期4日前のホットステージ初日に会場インターネットが開通し、当日はライフセグメント(現地の生活用インターネット回線)を立ち上げるために1日使っていたことを覚えています。 本当にホットステージからヨーイドンで機器の物理的な配置・配線やconfigの投入をやらなければならず、何かの制約や考慮漏れでconfigが変更になると設計の整合性が崩れるため、事前に設計を完璧に固めきれないことは綱渡りと同じ状況です。 「毎度違う」内容でいけば、コントリビュートされる機器も異なりますのでNOCの知見がうまく後学で活かしきれない事情もあると感じています。

そんな中、ホストである地の利を活かして「大阪本社にコントリビュータの皆様からの機器を集めて事前検証をする」ことができ、特にバックボーンはOCXを使ったことでこの恩恵を大きく享受できました。本社には施錠可能なサーバーラックが4架建っており、そのうち1つを利用して検証機器および本番に利用する回線などを敷設し、フル活用しました。

本社ラックに検証中機器がぎっしり(ホットステージ期間中の一枚)

OCXの利活用

会場が3つに分かれた特殊構成で、それぞれ下記の構成になっています。

  • コングレコンベンションセンター (プログラム会場 / オプテージ様のダークファイバーでデータセンターまで10GbEを2回線OCXノードに直収)
  • JAM BASE 3F (NETCON会場 / OCX光プライベート 10G[光クロス]回線を敷設し、OCXに収容)
  • JAM BASE 4F~6F (プログラム,BoF会場 / OCX光プライベート 1G[光ネクスト]回線を敷設し、OCXに収容)

JAM BASE用のOCX光プライベート回線は2本ともホットステージ前までには敷設が完了し、ホットステージ中には全て構築が完了した状態になっていました(素晴らしい)。

また、唯一物理接続があるコングレを模擬した環境として、私が東京のデータセンターに設置した設備から「必要なVLANをEtherIPで大阪本社に飛ばして使う」ことで本番と同じVLAN・同じNWをリモートで作り、「本番は繋ぎ替えるだけで接続できる構成」を作り上げることができました。

EtherIPを使った本番同等構成の検証スキーム

アクセスノードがあるデータセンター(オプテージ心斎橋データセンター)までの接続は物理ですが、それ以外のネットワークリソースは全てOCXのマネージドサービスを利用しており、会場入りする前に全て事前に設計・構築しておける環境があり、非常に恵まれました。

具体的には

  • Internet Connection (IPv4/IPv6付きのiDC向けインターネット接続サービス)
  • Internet Gateway (IPv4のみのNAPTサービス)
  • Cloud Connection (さくらのクラウド向けの相互接続サービス)
  • Tunnel Gateway (NTT東西のフレッツからOCX閉域網への接続を終端するマネージド4over6ルータ)

の4種類です。

特にTunnel Gatewayがあることで、物理的に離れたメンバー宅のフレッツ回線をOCXへ直収して「会場からバックボーンへのアクセスを模擬した環境」を作れたのもデバッグに大きく貢献しています。

JANOG ネットワーク構成図

いよいよ開通

会期2日前の2/9夜、通建会社の方に工事いただきコングレコンベンションセンターに無事オプテージ様のダークファイバが4芯敷設されました。 私もIDFでの工事を見守っていました。引き渡しまでひやひやでしたが光レベル及びOCXとのリンクアップを確認して安堵です。 会期まで2日しか無い都合上、ここで上がらなければもうそれはそれは...大変なことです。

IDF前に巻き溜められたファイバ(4芯2条)
OCX側からの光レベルを測定して養生テープでタグ付け

ホットステージ最終日翌日はAPの設置と立ち上げ、物理的な会場内ケーブルの配線、フロアスイッチの配置など各所が慌ただしく動き回る1日でした。 バックボーンチームにお願いをして配線処理を担当させてもらいました。ありがとうございます!

全ての機器が搭載されたコングレ会場のラック

事例として

振り返りでも書いた通り、全体的な設計が良かったこともあり会場ネットワークは非常に快適でした。OCXでのトラブルも無く3日を終えられた事に感謝ですが、高い可用性で毎日動くことが求められる商用サービスですので当たり前といえば当たり前かもしれません...

普段OCXは接続拠点間のDCIやクラウド接続などに利用されており、カンファレンスネットワークでの利用事例は初となりました。3日間のピーク端末2071台、トラフィックは下り1.07Gbps/上り770Mbps、NATセッション数はコングレで約17,000/JAM BASEで約15,000でした。トラフィックだけ見ると用意した10Gbpsx2(コングレ)+10Gbps(JAM3F)+1Gbps(JAM4~6F)としては余裕だったかなと思います。

構成・見せ方として工夫したポイントがあります。それぞれ会場のキャパシティによって捌けるユーザの数も異なるので、オフィス規模に見立てたときにそれぞれの会場を「高品質な回線が必要な大規模拠点/Headquarters」「大容量な回線が必要なブランチオフィス」「スモールビジネスなリモート拠点」として考え、回線を調達しています。言わずもがな先頭からコングレ(OCX直収 10GbEx2)/JAM 3F(OCX光プライベート 光クロス)/JAM4~6F(OCX光プライベート フレッツネクスト)です。

OCXには地場に根付いた回線ビジネスを生業としているパートナー様が豊富にいらっしゃる事に加えて、彼らがOCXへの接続拠点として自社のDCで運用し、更にお客様へ提供されています。特に電力系やケーブルテレビなどは顕著で、地域地域で自社の光ファイバを持っていますし、今回のようにデータセンターに居ない場合でもラストワンマイルをOCXのパートナー回線やフレッツを手配することで直接利用することができる良い事例になりました。

そんなオプテージ様とは今年1月に先方のサービスメニューを正式にOCXと接続することで関西エリアの広い範囲でOCXにリーチしやすくなりました。 optage.co.jp 今回のJANOGへの提供こそこのスキームでは無いものの、OPTAGE Connectionのコンセプトモデルとして意義のある取り組みであったと感じます。

終わりに

たかが無償WiFi、されど無償WiFi、眼前で繰り広げられるミッションクリティカルなNW構築と運用は大変良い刺激になりました。普段から24/365のサービスを開発している身でも、実際に現地で動くとまた感じ方も異なるものです。

ホストであるさくらインターネットのみなさま、NOCで集まっていただいたみなさま、お疲れ様でした!

【参加レポート】JANOG57へ行ってきました

はじめに

こんにちは、BBSakura Networksの外山です。

2月11日〜13日の3日間にわたって、JANOG57 Meeting in Osakaが開催されました!

www.janog.gr.jp

実は今回のJANOGでは、会場ネットワークにOCXが採用されました!詳しくは別の記事で紹介予定です!

JANOGとはJApan Network Operators' Groupを意味し、インターネットに於ける技術的事項、および、それにまつわるオペレーションに関する事項を議論、検討、紹介することにより日本のインターネット技術者、および、利用者に貢献することを目的としたグループです。(JANOG | Informationより)

過去のJANOG関連ブログも是非ご覧ください。

レポート

弊社のエンジニアも一般参加者として現地に行ってきたので、会場の様子やセッションの内容をレポートします!

会場までの道中

今回は大阪駅直結のグランフロントで開催されました。 駅から会場に向かうスカイウォークにはJANOGのフラッグがずらりと並んでおり、会場に入る前から気持ちが高まりました! (外山)

会場までのJANOGフラッグ会場入口のディスプレイ

イベントネットワークの最前線を語ろう ― JANOG57会場ネットワークの知見とこれから

JANOG会場のネットワークを担当されていた方々(JANOG NOC)が、ネットワーク構成やネットワークで使われているサービス、技術について説明し、最後にはイベントネットワークのあり方についてディスカッションする講演でした。

JANOG57は会場が3つに分かれており、これらのネットワークには以下の3要件がありました。

  • 各会場間の接続ができること
  • インターネット接続ができること
  • さくらのクラウドへの接続(監視用)ができること

これらの要件を網羅するサービスとして、OCXが選ばれたということです。 具体的な構成は、以下の通りです。

  • 本会場
    • オプテージDF → 曽根崎DC Physical Port接続
    • Internet Connectionでインターネット提供(v4,v6 デュアルスタック)
  • サブ会場(2拠点)
    • OCX光プライベート(10G / 1G)
    • v4:Internet Gateway
    • v6:さくら契約フレッツ回線
  • ルーティング
    • OCX-Router(v1)
    • BGP / Static は網内設定

接続先として拠点間接続、インターネット接続、クラウド接続を利用いただき、アクセスラインとして、OCX拠点、光プライベート、モバイルアクセス(SSH用)を利用いただいたため、OCXの各種機能を活用して大きなイベントのネットワークを支えたという、大きな実績になりました。

また、今回のJANOGではJANOG NOCがブースを出しており、上記の構成を紹介していたため、我々もNOCブースに立ち寄って、実際にOCXポータルを使って今回のネットワークの設定を行った方とお話ができました。触ってみた感想やサービスに対する感想、わかりにくかった点、OCXと他の技術を組み合わせて作ったことなど、作業者からの生の声を聞くことができ、とても有意義な時間を過ごせました。(青木)

ケーブル作成会

内容は、LANケーブルのもととなるケーブルを渡され、外被を剥き、ツイストペアをほぐし、規定の配列に並べ替え、長さを揃えてコネクタに差し込み、圧着するというものでした。

実際にやってみると、ケーブル内の導線の並び替えが想像以上に難しかったです。 8本の導線はツイストされているため、並び替える過程で何度もクロスし、指でしっかり押さえていないとすぐに順番が崩れてしまいます。きれいに揃えたつもりでも、差し込む直前に微妙にズレていたりして、物理層の繊細さを体感しました。

また、同行した人が、自分がようやく片側を終えたタイミングで両側を完了させていたのも印象的でした。ケーブル作成は意外と“センス”や慣れが問われる分野なのだと実感しました。

圧着後はテスターで導通確認をしました。 実際にケーブルで疎通が確認できた瞬間は、思わず嬉しくなりました。普段は意識することの少ないL1(物理層)ですが、ネットワークの土台を自分の手で作り、その動作を確認できたことは非常に良い経験でした。(松下)

ケーブル作成の様子

【実践】IPv6版ポート解放 〜家庭内ネットワークにおけるIPv6通信パターンの変化の波を乗りこなそう〜

私の印象に残った講演はIPv6ポート解放という、ゲーム業界でのIPv6利用を解説する講演でした。

ポート解放とは外部からの接続を許可することで、一般的な自宅環境だとセキュリティのため外部から内部への接続は一切禁止しているとのこと。オンラインゲームで、各ユーザがこのポート解放をすることでお互い直接通信(P2P)ができるようになるわけですが、IPv6を用いたい場合はこのポート解放が上手くできなくてP2P通信ができない場合が多いらしいです。ゲーム自体がIPv6を十分支援しなかったり、自宅のルータがIPv6を支援しなかったり、相手側のユーザがIPv6がダメだったり、原因は様々です。

その場合も一応ゲーム会社のサーバ経由で通信はできるので複数のユーザが一緒にプレイすることはできますが、やはり通信の経由先が増えるため、どうしても遅延は増えることになります。

上記のような事情もあり、一般的なインターネット環境よりもゲーム業界ではIPv6の導入は遅れているようです。それでも少しずつゲームもIPv6対応が増えてきています。そこで、IoT業界はIPv6が前提のプロトコル「Matter」が普及してきており、IPv6対応のゲームはこのMatterを利用してIoT機器と直接通信することが可能になるので、例えばAIスピーカーやAI家電などをゲーム側から操作できるようになります。直接操作だけでなく、ゲーム内での重要なシーンや暗い場所に入ることに合わせて部屋の照明を自動で暗くするように連動するなど、ユーザ体験自体を向上させることもできそうです。

今後IoTがより普及しゲームもIPv6対応になると、数年後には画面の外にもゲームが広がる時代が来るかもしれませんね。(チョ)

ネットワークエンジニア育成、みんなどこで悩んでる?BoF / エンジニアリングする「組織」の育て方

昨今ネットワークエンジニアが不足してると感じることはどの会社でも多いと思ってますが、興味を持って関わる若手がいないかと言われると今のところ自分の場合はそういうわけでもないので、若手をどうフォローしてあげるかの意見交換がしたいなと思い、ネットワークを取り巻く、人や組織まわりの話に関するプログラムに参加しました。 プログラムの性質上オフレコなので細かくは書きませんが、以下のようなことを議論しました。

  • 資格とどう向き合っていくか
  • みんな余裕がない中で、学びたい側、教えられる経験を持ってる側、それぞれがどう時間を作っていくか
  • 技術向上の優先度、何からやればいいのか
  • 内製化とどう向き合っていくか
  • モチベーション(飽き)とどう向き合っていくか
  • 人の採用、どこまで妥協しないか

などなど。 この手の話は話し手の環境で前提条件が異なるため、話が散らかりやすいのですが、プログラムを主催してる方々の進行が上手いこともあり、整理された形で議論することができとてもよかったです。 替え玉エリアでも話は尽きず、それぞれの苦労を意見交換できたのは大変貴重でした。 (JANOGを通じて長く交流してる方々も、自分と同じように最近管理職側を担う立場の人が多く、その中での苦労や意識してることを会話することができたのはとても有り難かったです。)(丸野)

非ボリューム型DDoSはどこまでネットワークで守れるか? / その他BoF

セッション

非ボリューム型DDoS、特にアプリ層攻撃に対してネットワーク側がどこまで対策できるのか、という講演でした。これまでアプリ層の攻撃はサーバーチーム側で対応することが多く、ネットワーク側ではあまり踏み込んでいなかったそうです。L7WAFや専用の対策装置を導入する方法もありますが、ホスティング事業者としてはコストや運用負荷の面でなかなか現実的ではない、という悩みもあるとのこと。

そこで「完璧に防ぐ」のではなく、「ほどほどに抑える」ことを目標に、悪性の疑いがあるIPを動的に制御する仕組みを構築。外部のIPリストを集約し、BGP Flowspecを使って境界ルータで帯域制限やブロックを行う構成です。

しかし課題として、 - 外部のIPリストが、実際の攻撃の50%程度のカバー率 - Flowspecのルール数上限 - 誤検知のリスク

があり、NetFlowとの連携やAIを使った判定の最適化も検討しているそうです。

1Gbps未満とインパクトはそこまで大きくない攻撃でも、年に数回とはいえアラート対応は発生するため、コストとのバランスを取りながらできる範囲で対応したいという難しい問題ではありつつ、まずはPoCとして最低限動作することを確認し、課題を1つ1つ軽減するための対策を考えていくという進め方が勉強になりました。

BoF

ケーブリングBoFおよび海底ケーブル建設保守工事のBoFに参加しました。

ラボ構築のために私自身がケーブリングを行う機会があり、「美しいケーブリングとは何か」「正解とは何か」がわからないと思っていたこともあって、今回参加してみました。

セッションでは、実際の現場での困りごと(タグ管理をどのように行っているか、パッチパネルの管理はどこまで徹底できているか、など)や、最近ではケーブルを自作する機会が減っている(光ケーブルの融着はすることがあるが)、といった話題について議論が交わされました。

また、海底ケーブル建設保守工事のBoFでは、ケーブル敷設のための経路設計、鋤式埋設機やROVの解説、さらに故障発生時の対応について話を聞くことができました。気の遠くなるような時間軸とスケールでこれらの作業が行われていることを知り、普段何気なく利用している通信インフラのありがたみを改めて実感しました。

どちらのセッションも、普段あまり意識することのない物理層の世界の奥深さや醍醐味を感じられる、大変興味深い内容でした!(外山)

おわりに

今回は大阪での開催ということもあり、大変多くの参加者で賑わっていました。

会場ネットワークにOCXが採用されたことも含め、技術がどのように現場で使われ、どのように支えられているのかを間近で感じられたことは、私たちにとっても大きな刺激となりました。

今回得られた学びや気づきを、今後の業務にも活かしていきたいと思います。

次回のJANOGも非常に楽しみです!

最後に、会場で配っていたシュークリームを載せておきます。

会場で配っていたシュークリーム

OCX52拠点爆速展開の軌跡とこれから

この記事は、BBSakura Networks アドベントカレンダー 2025の25日目のトリ記事です。

代表挨拶(就任のご挨拶/振り返り)

このたびBBSakura Networksは新体制となり、OCXを次の成長フェーズへ推し進めます。 これまでOCXを支えてくださったパートナー各社、そして日々ご利用いただいているお客さまに心より御礼申し上げます。

OCXは「必要なときに / 必要な場所へ / 必要な接続をオンデマンドに」という思想のもと、拠点の拡大と機能の拡張を両輪として歩みを続けてきました。

これからは、拠点数の拡大だけでなく、パートナー各社間でのビジネスを発展させる取り組みや、OCX本体の運用のしやすさ・接続の確実性・セキュリティ・可視化といった使い勝手も含めて「つながることが当たり前」になる体験をより高い水準で提供していきます。

OCXのこれまでとこれから — 52拠点までの軌跡

BBSakura Networks代表の川畑です。2025年、BBSakuraは代表を佐々木から川畑へ交代し、新体制でスタートしました。 この節目にあわせて、改めてOCX(Open Connectivity eXchange)の歩みを振り返ろうと思います。

OCXは2022年の正式サービス開始からデータセンター接続拠点を着実に拡大し、機能も当初は「クラウド・データセンター間の閉域接続」だったものから 「仮想ルータ・インターネット接続・モバイル接続」へと広げてきました。そして2025年12月時点では海外も含めて52もの拠点数になりました。

年次サマリ:拠点拡大と機能拡張

※拠点増加数は、各年の「接続拠点を開設/追加」と明示された発表を中心に集計した目安です。

増加数 累計拠点数 その年のキーワード(増えたもの)
2022 +約4 約8 提供開始(東京4拠点)/ 首都圏拡張 / LOA自動発行 / 仮想ルータ
2023 +約15 約23 大阪ロケーション / アクセスメニュー拡張(OCX光・Internet Connection)/ クラウド接続先の拡充
2024 +約16 約39 全国展開が加速 / Internet Gateway / SaaS Connection / SmartVPN Connection / 運用機能(2FA・請求DL・DOM情報表示)
2025 (継続拡大) 52 OCX Mobile Access / 海外拠点(タイ・シンガポール)の追加

2022:サービス開始 — 「東京4拠点」からの第一歩

拠点

  • OCXの正式提供を開始し、まず都内のBBIX4拠点でスタート
  • 以降、パートナー様の首都圏にある接続拠点を追加し、基盤を厚くするフェーズへ

機能

  • LOA自動発行:接続手続きの手間を低減し、導入をスムーズに
  • 仮想ルータ:オンプレ機器に依存せず、閉域内でのルーティングやBGP接続を実現

この年は「まずは確実に使える土台を作る」ことがテーマで、パートナー様にはOCXの魅力をお伝えして拠点加盟のご案内を進めつつ、機能的にはOCXの「通信」の基本機能を揃えることに注力していました。

2023:全国展開が加速 — “面で増える”フェーズへ

拠点

  • 地域ケーブルテレビ事業者や電力系通信事業者との協業が増え、各地で接続拠点の追加が進む
  • 大阪への拠点展開など、東京だけで完結しない利用形態が現実になり全国への広がりが見えるように

機能

スピード優先で立ち上げていたソフトウェア技術の負債が徐々に顔を覗かせてきた年でもありました。いやぁ大変でした... 新機能開発はほどほどに、継続的なソフトウェア開発が行えることを念頭に取り組んでいました。

  • アクセスライン:導入の入口が広がり、MDAダークファイバを活用してオフィスビルから直接OCXへ接続ができるようになるなど周辺の選択肢が増える
  • Internet Connection:インターネットへの接続に対応し、構成の自由度が向上

この年は「拠点を増やす=地域DXの入口を増やす」をテーマに、OCXがパートナーのみなさまの選択肢として根付き始めた年でした。

2024:機能拡張の年 — NAPT / SmartVPN / SaaS で“使い方”が広がる

拠点

  • 全国拡大を継続し東西の拠点バランスが良くなり、拠点数の伸びに加えてハブとしての厚みが増した一年

機能

  • Internet Gateway:待望のNAPTでインターネットに出られる機能を追加
  • SaaS Connection:インターネットを経由せずSaaSへアクセスできるようになり、用途が増える
  • SmartVPN Connection / DOM表示機能 / Traffic Report / 2要素認証 / 請求DL:運用面の機能が整い、継続利用しやすく

この年は「つなぐ」から「使いこなす」へ。 OCXがネットワークの部品ではなく、業務の基盤として育ってきた実感が強まった一年でした。

2025:アクセス多様化と海外展開 — 次の成長曲線へ

拠点

  • 国内の拡大を継続しながら、海外(シンガポール/タイ)へ
  • 2025年12月時点で52拠点に到達

機能

  • OCX Mobile Access:固定回線だけでなく、モバイルを入口に閉域へ
  • 海外拠点:クラウド接続拠点/OCX接続拠点として、国を越えたユースケースへ

2025年は「入口(アクセス)とフィールド(提供範囲)の両方が広がった」年で、OCXが国内の閉域接続から国を超えた接続サービスへ進化しました。

これから:次の焦点は「使い勝手のさらなる向上」

様々な機能追加をしてきたものの、まだまだパートナー様が要望されている機能を実装し切れていないのが懺悔のポイントです。 そのため、拠点数の拡大そのもの以上に、次のような領域を今後の重点として取り組んでいきたいと考えています。

  • L2接続において、OCX側で冗長構成を取れる機能の整備
  • IAMによる細かな権限管理を通じて、多数のリソースを扱う環境でも運用ミスを減らし、管理しやすくするための仕組み
  • 1Gや10Gを超える高速インタフェースの提供に向けた検討

通信事業者にとって使いやすく、OCXをより多くの現場で"迷わず選べる存在"にするため、新体制としてスピード感をもって取り組んでいきます。

参考(プレスページ)

BBSakura Networks お知らせ
https://bbsakura.net/ja/information

BBIX お知らせ
https://www.bbix.net/information/

OCXを基盤としたモバイル回線通信サービス "OCX Mobile Access" の構成例の紹介

BBSakura Networks Advent Calendar 2025 21日目の投稿です。

はじめに

こんにちは、BBSakura Networks株式会社でモバイルコアの開発・運用をしている桐山です。
今回は、Open Connectivity eXchange(以下、OCX)で提供しているOCX Mobile Accessについて紹介します。

OCX Mobile Accessとは

OCX Mobile Accessは、モバイルネットワークからOCXのネットワークへの接続を提供する、OCXのアクセスラインサービスです。OCXの既存リソースと組み合わせることで拠点やクラウド、インターネットなどご利用の環境にモバイル回線で接続可能です。

2025年3月31日にサービス提供が開始され、小規模プランや通信量計測といったSIMオプション機能を含め、順次機能を拡充しています。

www.bbsakura.net

www.bbsakura.net

Interop Tokyo 2025ではモバイルコンピューティング(5G/6G)部門にてグランプリを受賞しております。

www.bbsakura.net

本記事では、OCX Mobile Accessを活用した閉域接続とインターネット接続の構成例について紹介します。

構成例

基本要素

OCX Mobile Access のリソースとしては以下の4つがあります。各リソースの詳細はドキュメントサイトを御覧ください。

  • Virtual Mobile Gateway(以下、VMG) : モバイル回線とOCXのネットワークの接続を提供するゲートウェイ
  • SIM:OCX Mobile Accessで利用するSIMカード
  • SIM Pack:OCXポータル上でSIMを購入する際の1単位
  • Data Pack:OCXポータル上でデータ通信容量を購入するときの1単位

OCX上でOCX Mobile Accessを含むネットワークを構築する場合、VMGおよびSIMに割り当てるネットワークのアドレス設計が必要です。

インターネット接続

OCX Mobile Accessを利用してインターネット接続を行う構成例です。

インターネット接続の構成例

インターネット接続の際にはInternet Gatewayを利用します。
アドレス設計として考慮が必要な項目は以下の通りです。

  • SIMのIPアドレスの範囲
  • VMGインスタンス#1とPrimaryルータのpeerアドレス
  • VMGインスタンス#2とSecondaryルータのpeerアドレス
  • OCX-Router(v1)のPrimary/Secondary間のpeerアドレス
  • OCX-Router(v1)とInternet Gatewayのpeerアドレス

クラウド接続

OCX Mobile Accessを利用してクラウド接続(AWS)を行う構成例です。

クラウド接続(AWS)の例

クラウド接続の際にはCloud Connectionを利用します。 アドレス設計として考慮が必要な項目は以下の通りです。

  • SIMのIPアドレスの範囲
  • VMGインスタンス#1とPrimaryルータのpeerアドレス
  • VMGインスタンス#2とSecondaryルータのpeerアドレス
  • OCX-Router(v1)のPrimary/Secondary間のpeerアドレス
  • PrimaryルータとCloud Connectionのpeerアドレス
  • SecondaryルータとCloud Connectionのpeerアドレス

ハイブリッド接続

OCX Mobile Accessを利用してインターネットとクラウド(AWS)へのハイブリッド接続を行う構成例です。

ハイブリッド接続

インターネット接続の際にはInternet Gatewayを、クラウド接続の際にはCloud Connectionを利用します。 OCX-Router(v1)を使用することでハイブリッド環境への接続が可能となります。

アドレス設計として考慮が必要な項目は以下の通りです。

  • SIMのIPアドレスの範囲
  • VMGインスタンス#1とPrimaryルータのpeerアドレス
  • VMGインスタンス#2とSecondaryルータのpeerアドレス
  • OCX-Router(v1)のPrimary/Secondary間のpeerアドレス
  • OCX-Router(v1)とInternet Gatewayのpeerアドレス
  • PrimaryルータとCloud Connectionのpeerアドレス
  • SecondaryルータとCloud Connectionのpeerアドレス

おわりに

今回は、OCX Mobile Accessを活用したインターネットとクラウドへの接続の構成例を紹介しました。 OCX Mobile Accessでは、OCXを活用いただくお客様に利便性の高いモバイル回線を提供できるように機能追加・サービス改善を続けていきます。

本記事を通じて OCX のご利用に興味をお持ちいただけましたら、弊社までお問い合わせください。また、ご不明な点等がありましたら、お気軽にご連絡ください。

docs.ocx-cloud.net

BGP Role を RFC とパケットキャプチャで勉強してみた

はじめに

この記事は BBSakura Networks Advent Calendar 2025 の 20 日目の記事です。

こんにちは! BBSakura で基盤となるネットワークを開発している酒井です。

一昨年昨年の BBSakura Advent Caleder でも BGP 関連技術について書いていました。今年はアドベントカレンダーとしては大遅刻してしまいましたが、懲りずに BGP ネタで書いていこうと思います。

今年の BGP ネタとしては、 BGP Role を選びました。 BGP Role は RFC 9234 で定義されており、私はこの APNIC のブログ記事 を読んで知りました。

本記事は、私が当該 RFC を読み、実際にパケットキャプチャをして中身を眺めて学習した内容をまとめたものになります。

BGP について

まず、 BGP の概要と BGP Role が必要な理由について簡単に説明します。

BGP は異なるネットワーク間を接続するために使用されるプロトコルであり、インターネットを構成する各組織間の接続にも用いられています。

インターネットがどのように BGP を用いて構成されているのかは、JPNIC のインターネット 10 分講座過去の JANOG のチュートリアル などが参考になります。

インターネットでは BGP によって各組織間の接続性を確保しているわけですが、過去には度々 BGP の設定ミスによるインターネットの通信障害が発生しています。

具体的な通信障害としては、2017年8月のインターネット接続障害2024年7月の1.1.1.1への到達性障害 などがあります。

これらの通信障害はいずれも BGP Route Leak と呼ばれる意図しない BGP 経路広報が原因です。BGP Route Leak 自体も RFC 7908 で定義されています。インターネットは各組織間の相互努力によって維持されており、どうしても BGP の設定ミスをゼロにはできず、ミスによる影響が発生してしまいます。

これらの設定ミスやそれによる影響を最小限にするため、インターネットを構成する各組織はルーティングセキュリティを実行することが推奨されています。具体例として MANRS と呼ばれる BGP におけるルーティングセキュリティを確保するための活動などがあります。 MANRS については JPNIC の解説 でも説明されています。

BGP Role はこのルーティングセキュリティに関する技術と言えます。一文で表すと、 BGP Role は組織間 (AS 間)の隣接関係を構成する BGP スピーカーに役割を与えることで、役割通りの経路交換を強制し、意図しない経路交換 (BGP Route Leak) を防ぐ技術 と言えるかと思います。

では、この BGP Role の具体的な内容を RFC から学習していきましょう。

RFC 9234

RFC 9234 は 2022 年に発行された比較的新しい RFC です。

導入部分であるセクション 1 では、 BGP Route Leak の防止手段としては BGP 経路フィルタが一般的ではあるものの、経路フィルタの適用を AS 間の eBGP セッションで互いに強制と確認ができないため不十分であると書かれています。これらを補うために、 BGP Role は BGP OPEN メッセージで AS 間の役割を eBGP セッション確立時に明確にし、その役割に基づいて eBGP セッションにルーティングセキュリティを実装する技術になります。

以降ではこの RFC の中心である BGP Role Capability と OTC Attribute に分けて説明します。

BGP Role Capability

BGP Role Capability は eBGP セッションを確立する時にお互いの役割を決定・確認するために用いられます。

セクション 3 では AS 間の直接的な eBGP セッションであるピアリングに基づいて役割について定義しています。そして、セクション 4 ではそれらの役割に対応させる形で BGP Role の BGP Capability の値が次の表のように定義されています。

Value Role name
0 Provider
1 RS (Route Server)
2 RS-Client
3 Customer
4 Peer
5~255 未割り当て

eBGP セッション確立時に、 BGP スピーカーはその eBGP セッションにおける自身の役割を OPEN メッセージ内の BGP Role Capability で相手に知らせます。

続けて、 1 つの eBGP セッションにおける 2 つの BGP スピーカーの役割の組み合わせ、つまり、 BGP スピーカーの関係が次のいずれかと一致する必要があると決められています。

Local AS Role Remote AS Role
Provider Customer
Customer Provider
RS RS-Client
RS-Client RS
Peer Peer

つまり、片方の BGP スピーカーが Provider であれば、もう片方は Customer でなければ関係が成立しません。両方が Provider、両方が Customer であることはありえません。 RS・RS-Client も同様です。 Peer は対等な関係ですので、お互いに Peer の役割である必要があります。もし、 2 つの BGP スピーカーの役割の組み合わせが上記の表のいずれにも一致しなかった場合は、 Role Mismatch Notification として eBGP セッションの接続は拒否されセッションが確立しません。

BGP Role Capabilityの組み合わせ例を3つ図示したもので、上から順にProvider - Customerで成功、Provider -ProviderでMismatch、Peer-Peerで成功。
BGP Role Capability 組み合わせ

なお、BGP Role Capability を自身は送信したものの相手から受信できなかった場合、つまり、相手方の BGP スピーカー (Remote AS) が BGP Role に対応していない場合は、そのまま eBGP セッションの確立を進めることを推奨しています。逆に、 BGP Role Capability の受信をお互いに必須とする strict mode というものもあります。

BGP Only to Customer (OTC) Attribute

OTC Attribute は eBGP セッションで経路を広報・受信する時に交換される経路が Route Leak されたものであるかどうかを判断するために用いられます。

この OTC Attribute は実際の経路交換時に送られる UPDATE メッセージへ付与される Path Attribute です。この Attribute 長は 4 オクテット (バイト) になり、 AS 番号が値として入ります。この Attribute は Optional Transitive なので、 BGP スピーカーはこの Arttribute は無視できますが他の BGP スピーカーにも Attribute をつけた状態で広報する必要がああります。

OTC Attribute が付与された経路 (Prefix) は、 Customer に対してのみ広報でき、それ以外の役割の BGP スピーカーへは広報できません。これにより、 BGP Route Leak を防ぎます。

具体的には BGP による経路受信時・広報時にそれぞれ次の手順によって OTC Attribute の処理が行われます。

[経路受信時]

  1. OTC Attribute が付与された経路を Customer または RS-Client から受信した場合に、その経路は Route Leak されたものであり不適切な経路として扱わなければならない

  2. OTC Attribute が付与された経路を Peer から受信し、かつ、 Attribute の値が Remote AS の AS 番号と一致しない場合は、その経路は Route Leak されたものであり不適切な経路として扱わなければならない

  3. Provider ・ Peer ・ RS から受信した経路に OTC Attribute が付与されていない場合に、その経路に Remote AS の AS 番号を OTC Attribute として付与しなければならない

[経路広報時]

  1. Customer・Peer・RS-Client へ経路を広報しようとしており、かつ、 OTC Attribute がその経路に付与されていない場合は、その経路の広報時に自身の AS (local AS) の AS 番号を OTC Attribute へ付与しなければならない

  2. 経路にすでに OTC Attribute が付与されている場合に、その経路を Provider・Peer・RS に広報してはならない

これらの手順によって、 BGP Route Leak な経路交換を送信側・受信側のどちらでも防止できます。

経路受信時の 3 の手順のように、 Remote AS が BGP Role に非対応であったとしても自 AS (Local AS) で OTC Attribute を付与できるため、インターネットの各 AS が一斉に BGP Role を導入しなくても良く、段階的な導入が可能です。

わかりやすいように AS A と B の役割によって AS B から A への経路広報がそれぞれどのように変化するかを図示しました。 RS・RS-Client の Role については割愛しています。

AS BがBGP Roleが異なるAS C・D・Eからの経路広報をAS Aへトランジットしており、AS BがAS AのCustomerである場合の図
AS B が AS A の Customer の場合

AS BがBGP Roleが異なるAS C・D・Eからの経路広報をAS Aへトランジットしており、AS BがAS AとPeerの場合の図
AS B が AS A と Peer の場合

AS BがBGP Roleが異なるAS C・D・Eからの経路広報をAS Aへトランジットしており、AS BがAS AのProviderである場合の図
AS B が AS A の Provider の場合

なお、 OTC Attrbute は IPv4 Unicast (AFI1・SAFI1) と IPv6 Unicast (AFI2・SAFI1) でのみ適用され、それ以外のアドレスファミリでは適用してはならないとされています。

また、セクション 6 の Additional Consideration では、複雑なピアリング関係の eBGP セッションでは BGP Role は使用してはならないと書かれています。この複雑なピアリング関係というのは Partial Transit などが該当するのではないかと私は考えていますが、詳しい方がいたら教えてください。

パケットキャプチャ

ここまで RFC 9234 の内容について説明してきました。ここからは実際の BGP Role の動作をパケットキャプチャしながら見ていきます。

今回は BGP スピーカーとして FRRouting (FRR) を使用します。 FRR は バージョン 8.4 から RFC 9234 をサポートしています。

Implement Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages rfc9234

BGP Role Capability を見てみる

まずは、 BGP OPEN メッセージの BGP Role Capability を見たいので下の図のようにシンプルな 1 対 1 の構成を作成します。 FRRouting の BGP Role の設定は 公式ドキュメント に記載されています。

2つのルータfrr-01とfrr-02が並んでおりeBGPセッションを張れる構成
1 対 1 環境構成図

ここでは eBGP セッションが確立する必要最低限の FRR の設定を用意します。

[frr-01]

router bgp 65001
 neighbor 192.168.100.2 remote-as 65002
 neighbor 192.168.100.2 local-role provider
exit

[frr-2]

router bgp 65002
 neighbor 192.168.100.1 remote-as 65001
 neighbor 192.168.100.1 local-role customer
exit

これで 2 台の FRR 間で eBGP セッションが確立します。ちゃんと BGP Role 設定も反映されていそうです。

frr-01:/# vtysh -c 'show bgp neighbor' | grep 'Role'
  Local Role: provider
  Remote Role: customer
    Role: advertised and received

frr-02:/# vtysh -c 'show bgp neighbor' | grep 'Role'
  Local Role: customer
  Remote Role: provider
    Role: advertised and received

BGP OPEN メッセージをキャプチャしたところ、 BGP Role の Capability が見えました。この OPEN メッセージは frr-01 から frr-02 へ送られているものなので、 Provider (0) が埋め込まれています。

BGP Role Capabilityが設定されたBGP UPDATEメッセージをWiresharkで表示しているスクリーンショット
BGP Role Capability

続けて、 frr-01 の BGP Role を Provider から Customer へ変更してみます。これにより両方の BGP Role が Customer となります。

[frr-01]

router bgp 65001
 neighbor 192.168.100.2 remote-as 65002
 neighbor 192.168.100.2 local-role customer
exit

そうすると、 OPEN メッセージのやり取り後に "Role Mismatch Notification" が送信されており、 eBGP セッションは確立しませんでした。

Role Mismatch NotificationのパケットをWiresharkで表示しているスクリーンショット
Role Mismatch Notification

RFC 通りの動作です!

OTC Attribute を見てみる

さて、最後に BGP Role に合わせて経路が広報されたりされなかったりするのかを確認します。

OTC Attribute と経路広報確認のための構成図であり、左からAS65001、AS65002、上下に並んだAS65003とAS65004があり、AS65002がPeer関係であるAS65003とProvider-Customer関係であるAS65004の経路を受信している。
OTC Attribute と経路広報確認のための構成図

上の構成図にある通り、 frr-03 (AS65003) と frr-04 (AS65004) から frr-02 (AS65002) へ経路を広報し、それらの経路が frr-02 から frr-01 (AS65001) へ広報 (Transit) されるかどうかを見てみましょう。

各 FRR の設定は次の通りです。

[frr-01]

router bgp 65001
 no bgp ebgp-requires-policy
 neighbor 192.168.100.2 remote-as 65002
 neighbor 192.168.100.2 local-role peer
exit

[frr-02]

router bgp 65002
 no bgp ebgp-requires-policy
 neighbor 192.168.100.1 remote-as 65001
 neighbor 192.168.100.1 local-role peer
 neighbor 192.168.110.2 remote-as 65003
 neighbor 192.168.110.2 local-role peer
 neighbor 192.168.120.2 remote-as 65004
 neighbor 192.168.120.2 local-role provider
exit

[frr-03]

interface lo
 ip address 192.0.2.3/32
exit
!
router bgp 65003
 no bgp ebgp-requires-policy
 neighbor 192.168.110.1 remote-as 65002
 neighbor 192.168.110.1 local-role peer
 !
 address-family ipv4 unicast
  network 192.0.2.3/32
 exit-address-family
exit

[frr-04]

interface lo
 ip address 192.0.2.4/32
exit
!
router bgp 65004
 no bgp ebgp-requires-policy
 neighbor 192.168.120.1 remote-as 65002
 neighbor 192.168.120.1 local-role customer
 !
 address-family ipv4 unicast
  network 192.0.2.4/32
 exit-address-family
exit

BGP UPDATE メッセージのキャプチャを確認します。まず、 frr-03 から frr-02 への経路広報です。

AS65003からAS65002へのBGP UPDATEをWiresharkで表示しているスクリーンショットで、OTC Attributeに65003の値が設定されている
BGP Role Peer での広報]

BGP Role は Peer の経路広報なので OTC Attribute として 65003 の値が入っています。

次に frr-04 から frr-2 への経路広報です。

AS65004からAS65002へのBGP UPDATEをWiresharkで表示しているスクリーンショットで、OTC Attributeが設定されていない
BGP Role Customer での広報

BGP Role が Customer から Provider への経路広報なので OTC Attribute は設定されません。

最後に frr-02 から frr-01 への経路広報です。

AS65002からAS65001へのBGP UPDATEをWiresharkで表示しているスクリーンショットで、OTC Attributeに65002の値が設定されている
BGP Role Peer へのトランジット広報

BGP Role が Peer の経路広報になるため、 Customer から受信した経路に自身の AS 番号である 65002 を値とした OTC Attribute を設定しています。

この状態で frr-02 から frr-01 への経路広報状況を確認したところ、 Customer である frr-04 (AS65004) から受信した 192.0.2.4/32 のみを広報しており、 Peer である frr-03 から受信した 192.0.2.4/32 は広報していませんでした。

frr-02# show ip bgp neighbors 192.168.100.1 advertised-routes
BGP table version is 6, local router ID is 192.168.120.1, vrf id 0
Default local pref 100, local AS 65002
Status codes:  s suppressed, d damped, h history, u unsorted, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  192.0.2.4/32     0.0.0.0                                0 65004 i

Total number of prefixes 1

つまり、 192.0.2.4/32 は Route Leak 扱いになっており、 RFC 通りの動作と言えそうです。

おわりに

今回の記事では BGP Role について書きました。 シンプルな設定でルーティングセキュリティを実装できるのがとても良いと思いました!インターネットで BGP Role を実装している AS が増えてくるかもしれませんね。

BBSakura Networks Advent Calendar 2025 の他のブログ記事もぜひお読みください。

バックエンド開発チームを紹介

この記事は BBSakura Networksアドベントカレンダー2025 の22日目の記事です。

はじめに

最近、バックエンド開発チームのリーダーになった okuno です。

─── BBSakura のソフトウェアエンジニアは、謎に包まれている。

社内外からそんな声をもらうことがありました。

そこで、今回は会社や提供サービスの概要、
またバックエンド開発チームの役割や技術スタックや働き方などを紹介します!


目次

1. 会社概要

1.1. 会社紹介

1.2. 提供サービス

  • OCX(Open Connectivity eXchange) という NaaS を提供しています。
    • OCX とは データセンター間接続 / ルーティング / クラウド事業者との接続 など、
      ネットワークの様々な機能をクラウド化し、それらを管理するコンソール画面を備えたプラットフォームサービスです。

1.3. ブログ記事(抜粋)

2. 開発チーム

OCX のソフトウェア開発には、
他にも フロントエンド開発チームモバイル開発チーム仮想基盤開発チーム など、
複数の専門チームが関わっています。

このページでは、その中でも バックエンド開発チーム にフォーカスして紹介します。

2.1. 開発方針

  • ユーザーに価値を届ける機能を作り、収益を伸ばす
  • 設計やコードの変更容易性を確保し、将来の保守・改修コストを抑える
  • 収益性と費用対効果の両面を意識し、持続的に利益を生み出せる開発を目指す

2.2. 役割と責任

  • OCX におけるバックエンドの設計・開発
    • API / ビジネスロジック / バックグラウンド処理 などが中心
    • 新サービスや新機能の開発、既存機能の保守・改善を中心に、技術的負債の解消など、ソフトウェア開発に関わる領域全般を担当
  • OCX の成長に伴い、技術的負債も少なくありません
    • 以下のような改善提案も大歓迎で、ステークホルダーと合意を取りながら進めています
      • 「この機能があったほうが便利」
      • 「この部分はリファクタしたい」
      • 「ここを改善すればパフォーマンスが上がりそう」
  • 運用は専任チームが担当していますが、運用に関わる開発タスクを担うこともあります
  • 担当領域はありますが、役割に強く縛られることはありません
    • 例:バックエンドエンジニアがフロントエンド開発に関わることも可能です(逆も歓迎)

2.3. 開発体制

  • 開発は、テーマや規模に応じてプロジェクト形式で進めることもあれば、機能追加や改善などをイシュー単位で進めることもあります
    • ビジネスサイドからの要望を起点にする場合もあれば、エンジニア自身の問題提起や改善提案から始まることもあります
  • 開発に関わる業務全般(要件定義・設計・実装・テスト・レビュー・リリースなど)をチームで分担しながら進めてます
    • 特定の担当者に責任が集中しすぎないよう、レビューや相談を前提とした進め方をしています
  • リリース予定日は、開発スコープや優先度、ステークホルダーとの相談を踏まえて現実的に決定しています
  • プロジェクトやイシューはすべて GitHub Projects で一元管理し、チーム内で常に状況を共有しています
    • エンジニア自身が興味のあるテーマに手を挙げて、主体的に開発を進めることもあります
  • 明確な正解がないテーマについても、試行錯誤しながら取り組んでます

2.4. 開発・レビューの進め方

  • GitHub のプルリクエストベースで開発を行っています
  • ブランチ戦略はシンプルな GitHub Flow です
  • 開発手法はアジャイルを基本としていますが、形式に拘りすぎず、チームや状況に応じて進め方を調整しています
    • 「どう進めるのが一番うまくいきそうか」をエンジニア同士で相談しながら決めています
  • レビューは品質の担保だけでなく、ナレッジ共有や設計のすり合わせも目的としています
  • レビューの優先度や意図を分かりやすくするため、プルリクエストのレビューコメントには以下の prefix を付けています
[must] - 必須修正。重大な問題がある場合
[imo]  - 任意提案。改善が望ましい場合
[nits] - 細かい指摘。コードスタイルなど
[ask]  - 質問。意図や実装内容の確認
[fyi]  - 参考情報。関連知識の共有
  • prefix の運用について
    • 人間のレビューだけでなく、AIによる自動レビューでも利用しています
    • prefix に応じて対応の進め方を分けています
      • [must] については、レビュワーと認識を揃えたうえで対応方針を決めています
      • [imo] 以下については、実装者の判断を尊重しつつ対応しています

3. 技術構成

3.1. 技術スタック

*最終更新:2025年12月

Category Technology Stack
AI ChatGPT / Gemini / Codex / Claude Code / GitHub Copilot
業務管理 GitHub Projects
ソース管理 GitHub Enterprise
言語・LIB・FW フロントエンド:TypeScript / React / Next.js
バックエンド:Go / GORM / gRPC
データベース PostgreSQL
インフラ さくらのクラウド / Google Cloud / Cloudflare / VMware / Docker
CI/CD GitHub Actions / Terraform / Ansible
コミュニケーション Slack (Business) / Google Meet / Google Workspace

3.2. アーキテクチャ

  • リポジトリ:モノレポ
  • アプリケーション:現在、明確なアーキテクチャパターンに統一されていません
    • OCX の成長に伴い、責務やレイヤが混在している部分もあり、改善の余地が多くあります
    • チームで議論しながら、より適したアーキテクチャを段階的に導入していく予定です

4. 働く環境

4.1. チームの特徴

  • 技術の流行に振り回されず、原理原則を重視します
    • 技術の流行に左右されない原理原則の思想がある
      • 課題の本質を定義する
      • 複雑な事象を抽象化/構造化し、シンプルなモデルに落とす
    • 技術好奇心が高いメンバーが多いです
    • HRT(謙虚/尊敬/信頼) を大切にしてます
  • 経営層を含め、エンジニアリングへの理解と関与が高い環境です
    • 雑談レベルで設計やコードの話が飛び交うこともあります
    • 代表もコードを書くことがあります

4.2. 働き方

  • リモート勤務
    • 基本はリモートワーク
    • 必要に応じて竹芝オフィスや WeWork に出社することもあります
  • フレックス勤務
    • スーパーフレックスタイム制を導入しています
  • コミュニケーション
    • 主に Slack でテキストコミュニケーション
    • 必要に応じて Slack ハドルや Google Meet を使用します
      • 会話が長くなりそうなときや、テキストでのやりとりに詰まったときは、気軽に声をかけて話すのを推奨してます
  • 業務効率化の工夫
    • 可能な限り本質的な業務に集中できるような環境を作っています
      • 例えば...
        • 勤怠連絡は Slack のみ
        • 生成AIをガンガン使う(セキュリティおよび社内規定を前提)
        • テーブル設計書の自動生成、Lint や AI による自動レビュー、デプロイの自動化
        • Slack ステータスで体調を共有(任意参加)
          slack-thread, width="350"

5. 採用情報

  • エンジニアを中心に中途採用を行っています
  • 興味を持っていただけた方は、以下リンク先よりご応募ください!

さいごに

バックエンド開発チームの雰囲気や考え方が少しでも伝わっていれば幸いです。

「良いサービスやチーム作りに挑戦したい」
「まだ整理されきっていない部分も含めて、一緒に作っていきたい」

そんな方がいれば、ぜひ私たちのチームに来てください!

・・・余談ですが、今後このように各チームの取り組みをまとめて、
Engineer Entrance Book として整理・公開していきたいと考えています。
また進展があれば改めて発信します。

チームで勉強会を始めてみたらプロジェクト改善につながりました

はじめに

この記事は BBSakura Networksアドベントカレンダー2025 の19日目の記事です。

BBSakura Networks の鐘ヶ江です。 普段は親会社のBBIX側に関わるお客様向けシステムの開発を担当しています。

我々のチーム内では今年の秋ごろから勉強会をはじめ、その結果プロジェクト改善につながるようになりました。

今回は何をきっかけに勉強会を始め、どうプロジェクト改善に繋がったのか。
勉強会を今後も継続していくために意識したいポイントについて書いてみたいと思います。

勉強会を始めたきっかけ

今年度から基幹システム開発のプロジェクトにジョインしました。まずは現状を知るためにと資料を漁ったものの、ふんわり作りたいもののイメージはあるものの、特に現状を知れるものについて形あるものが何もない状態でした。

そこで、元々参加したいた若手メンバーに直接聞いてみると、今の業務や課題について自分の言葉で説明してくれるんですよね。

つまり現状や課題感を咀嚼し理解できる能力はあるものの、アウトプットの仕方やそもそも必要性を知らないのだと考えました。

恥ずかしながら自分もこのとき、具体的な説明がうまくできませんでした。😅
改めて今までやってきたことを言語化して伝えられるようになりたいと思い、勉強会という形で相互に成長できる機会を作れるとイイナと考えました。

勉強会を開催してみた

最初の勉強会は、いきなり「要件定義とはなんたるか」「どんなアウトプットがあると良いか」を資料にまとめて、私が一方的に喋る形で研修ライクにやってみました。

振り返ると勉強会の内容は反省点しかありません。かなり教科書的な内容だし、具体例もない話だったので聞き手はあまりピンときていなかった印象でした。

ただ、ここで「勉強会という文化」をスタートするきっかけは作れたし、また初回からパートナー会社の新卒の方にも参加してもらい、横のつながりも作るきっかけができたのは良かったです。

パートナー会社の新卒の方からはベテランから出るような質問が飛んできて来てアワアワしました。💦
日頃から業務やエンジニアの仕事について俯瞰されていて素晴らしいですね。

その後は、具体例が足りなかった部分を補うために、今のプロジェクトを振り返る場を作りました。資料の話もそうだけど、「今のプロジェクトってぶっちゃけどう?」をみんなで話し合う時間です。

振り返りの中では、若手メンバーから「どんな資料があると良かったか」を気にしてくれるようになりました。

最初の勉強会はピンときてないと思いつつも、結果的に資料づくりの必要性について少しでも考えてもらうフックにはなっていたんだなと感じました。

合わせて、フォルダ管理のルールや課題管理のルールなど、なんとなく進んでいたけど本当は全員が見直したかったところも合わせて見直すことができ、勉強会きっかけではじめたところからプロジェクト改善にまでつながったのは良かったです。

このように1つのきっかけから掘り下げ、どんどん枝を広げていけると地道ながら成長していける実感を得られました。

勉強会を継続するために意識したいこと

まだ始めたばかりですが、継続していくために過去の経験も踏まえ必要だと感じたことが3つあります。

1. テーマの選び方、きっかけを腐らせず、テーマの枝を増やしていく

テーマ選びの1つのやり方として、実務を振り返り「いま我々に何が足りないのか」をみんなで分析して、そこを学びのテーマにすること。さらに1つのきっかけからどんどん枝を増やしていくように、学びを広げていくことが重要と感じました。

今回の例でいうと、資料作りの重要性について説明し、次に実務ではどんな資料があると良かったかをみんなで振り返ってみる。

その後資料1つ1つにフォーカスしてどういった目的でどんな内容で作ると良いかを学ぶ、作ってみる。といった感じで掘り下げていいくイメージです。

2. アウトプット中心の勉強会をメインにする

例えば初回に実施した研修ライクなものや輪読会のように座学だけのインプットは体系的な知識習得には有効です。ただし、一方向的な座学では、特に若手にとって「学んだ知識をどこで活かすのか」という実務との結びつきがつかみにくい傾向があります。その点、アウトプットメインの方が楽しんで参加してもらえ、実務での活かし方のイメージをつけてもらいやすい感触がありました。

例えば我々の開催してきた勉強会では、AIの使い方に関するTipsをLT形式で共有してみたり、コードを書いてみたり、進め方を振り返って「こうすれば良かったよね」を話し合ったり。実体験に沿った「楽しい勉強会」の方がイメージも湧くし、勉強会を継続したいモチベーションに直結すると感じています。

生成AI活用Tips共有のLT会の様子は澁谷さんが記事にしてくれました。 blog.bbsakura.net

3. 定着するまでは旗振りが必要

過去に別の組織で勉強会を主催していた経験では、持ち回りでテーマを決めたこともありましたが、モチベーションに差があって定着しなかった経験があります。今回は自分が始めたことなので、自分が引っ張ってモチベーションをマネジメントする時期だと思っています。参加者が勉強会に前向きに参加してくれる。「こんなことやりたい」を自発的に提案してくれる状態をまずは目指していきたいです。

おわりに

現在はパートナー会社さんと合同の勉強会とチームとしてのPJ振り返りと勉強会を月1ずつゆるく実施しています。

正直勉強会の維持は難しいです。自分も経験ありますし、自然消滅してしまった組織も多いと聞きます。

目標は、参加者が自発的に勉強会に参加してくれるようになること。チームの文化にしていくこと。組織を横断したつながりを勉強会きっかけで増やしていくこと。です。

またどこかでその後を書けるといいなと思ってます。