サイバーエージェント 2days ネットワークインターンシップに参加しました

概要

2024/06/15 - 2024/06/16 で開催された 株式会社CyberAgent さんの 2days インフラエンジニア向け クラウド技術体験型インターンシップ ~ネットワーク編~ に参加させて頂いたので、そこで得た知識やイベントの雰囲気をまとめておこうと思います。

会場

オフラインで開催され、会場は Abema Towers でした!ビルに入る前からアベマくんがお出迎えしてくれます。
building

ビル丸ごとオフィスで、階ごとに会議室とかラウンジとかが分かれている形になっています。
2019年に移転したとのことで、すごくキレイなオフィスでした!

1日目: GNS3 を用いた実践型ネットワークハンズオン

初日は会社紹介と、ネットワーク技術に関するハンズオンが行われました。

個人的に衝撃だったのが GNS3 というソフトウェアです。

GNS3 を用いると、ブラウザ上でルーター同士を繋いで直観的にネットワークを構築したり、ターミナルを開いたりすることができます。環境構築や物理作業に時間を取られることがなかったり、ネットワークの設定ミスで締め出されたりすることがなかったりと、効率的にネットワークの構築と学習が行えました。

ハンズオンでは主に VLAN, VRRP, OSPF, BGP について学びました。
例えば下の画像は VRRP を設定した時のものです。

vrrp-network-graph

vJunos ルーターや vJunos スイッチでは設定を全てコマンドで行うため慣れるのに時間がかかりそうでしたが、VyOS を使っていた経験からある程度手に馴染む形で進めることが出来ました。

$ configure
# set interface ge-0/0/0 unit 0 family inet address 10.2.0.1/24

VyOS でもこうして configure してから操作するのですが、ベースのソフトウェアが同じとかあるんでしょうかね...?
もしくは扱いやすいので似た設計にどちらかが寄せたのでしょうか

VLANについて

実際に VLAN を触ったのは今回が初めてでした。
自宅サーバーだとイーサネットのポート数が少なく、VLANを設定できる環境を用意するのが難しいのです。

実際に VLAN を触ってみると、ソフトウェアで LAN を分けることが出来る便利さと安全性に惹かれます
また、いまいち理解できていなかったVLANタグの適用方法についても、実際の構築を経て理解することができました。

OSPF

動的ルーティング、特にOSPFとBGPに関しては本当に名前と役割だけ知っていて技術的なことは何も分からないような状態で挑んだため、なかなか難しかったです。

それでもハンズオンのスライドに記載されているヒントが優秀で、調べながら理解しつつ進めることができました。最終的には OSPF を用いて経路のコストなどを設定しつつ、適切な経路選択を行えるネットワークを構築することができました!

その過程で、"ループバックアドレス" が何なのかを正しく理解できました。これまでは 127.0.0.1 など、そのデバイスで完結する自身を指すアドレスであると思っていました。
しかしこれは誤りで、OSPF では経路に依存しない形でデバイスを指定できるアドレスとしてループバックアドレスを用います。これにより、あるルーターを常に指すアドレスを指定できます。

「インターフェースごとに対象のアドレスが変わるので面倒」といった煩わしさから解放され、冗長化していてもデバイスを直で指せるのは便利ですよね!

BGP

BGP はこのインターンで扱ったプロトコルの中で最も難しいものでした。
普段趣味で触れるサイズのネットワークの域を超えているというか、イメージがつきづらいんですよね...

どのチームも BGP に入ってから勢いが落ちたように思います。私のチームではメンターに質問しまくってなんとか解決した形になりました。

最終的には他ASへの経路広告と受信を行うことができましたが、その過程で 0.0.0.0/0 を外部に流すという大罪を犯しました。仮想環境だったので他チームのネットワークを破壊するに留まりましたが、インターネットに向けてやっていれば文字通り "インターネットが壊れた" を実現する行為です。

業務だと本番環境を触るので末恐ろしいですが、今回仮想環境で失敗を経験したので本番環境を触る時には気を付けて挑むことができそうです。

このような形で、1日目はハンズオンで知識をできるだけ詰め込むことができました!

2日目: 気分転換に実機見学とオフィスツアー

2日目にオフィスツアーがありました。オフィスの雰囲気も、オフィスからの眺めも素晴らしかったことが印象に残っています!

office
office-view

また、今回使用している仮想環境を動かしているサーバー本体を見せていただきました。
LANケーブルが多くて、これぞサーバーって感じで見ているだけでも楽しいですよね!

hardware

2日目: 自分で考えてネットワークを組む

実機見学とオフィスツアーが終わったらネットワーク構築を再開しました。1日目で得た知識を使って、チームでネットワークを組んでみようという取り組みです。

私たちのチームでは「冗長化」をテーマにしてネットワークを構築しました。具体的には VRRP, OSPF, BGP の3つ全てを使って、ノードが1つダウンしても経路的に影響がないようなネットワーク構成を構築するよう取り組みました。

final-network-graph

最終的には画像のようなネットワーク構成を組むことができました。
ASの入口を3つのルーターで構成し、デフォルトゲートウェイを担当するルーターを VRRP で冗長化して2台としています。
AS内の経路は OSPF により決定され、外部への経路は BGP によって広告されます。

時間の都合で解消できなかった問題として、vJunos Switch が単一障害点となっていることです。そこも2台に増やして冗長化すれば、1台が落ちても完全に問題のないネットワークが構築できると思います。

残念ながら表彰は逃してしまいましたが、構築を通してネットワークの知識が強く深まった2日間でした!

余談: ご飯とかお土産とか

会場では Abema Water と書かれた水が配布されました!ブランド力がすごい...

abema-water

お昼ご飯は両日共に大きめの美味しい弁当が配布されました!
また、写真を撮り忘れてしまったのですが最終日には懇親会で寿司とピザ、お酒とソフトドリンクが振舞われました!

lunch

加えて、参加賞として希望者に CIU オリジナルの SFP モジュールが配布されました。
お土産があまりにもネットワークインターンを体現しすぎていて面白いですよね!

sfp-module-as-souvenir

総括

メンターの方々の手厚いサポートのおかげで、ネットワークの勉強に集中できた2日間でした!

GNS3 は無料のソフトウェアなので、手元のデバイスでセットアップして続きをすることも可能です。
ネットワークの理解をさらに深めたいとか、適用前に設定をテストしたいとか、そういった目的で今後手元の環境で構築してみたいと思います。

改めてメンターの方々、手厚いサポートをありがとうございました!