システムの根幹である「ネッ
トワーク」を支える、縁の下
の力持ち。
システムの根幹である「ネットワーク」を支える、
縁の下の力持ち。
中川 稜(なかがわ りょう)2020年入社
LINEに新卒入社後、ネットワークエンジニアとしてサービスネットワークの企画・設計・構築・運用を担う。
※本記事は2023年7月に取材したものです。サービス名称や所属は取材当時の内容です。
2020年に新卒で、LINEにネットワークエンジニアとして入社した中川稜です。学生時代には、学生がサーバー・ネットワークインフラのトラブルシューティング技術を競う「ICTトラブルシューティングコンテスト」の運営委員を務めていました。そのコンテストのスポンサーにLINEがついていて、イベントにLINEのエンジニアも参加して学生にアドバイスをしてくれていたのが最初の接点でした。
ほかにも、日本のネットワーク運用者の集いであるイベント「JANOG」で、LINEのネットワークエンジニアの登壇を目にする機会がありました。そのエンジニアのプログラムを聞いて、LINEは大規模なインフラを扱っており、ネットワーク関連の積極的なチャレンジをしていることを知り、興味が湧きました。
就職活動の時点で、自分自身のネットワークのスキルには自信があり、この領域を仕事にしたいと思っていましたが、ネットワークだけにしか携われない会社は選択肢から外していたんです。私が携わっていたICTトラブルシューティングコンテストでは、ネットワークに強い人もいれば、サーバーに強い人、Webに強い人など多種多様な学生が集まっていました。そういった、さまざまな専門分野の人たちと、技術について会話ができる空間がすごく楽しかったんです。
私はネットワークを主戦場にしていますが、ほかの技術も好きですし知りたい気持ちが強いです。だからこそ、多種多様なスキルを持ったエンジニアたちと一緒に働ける会社が良いと思いました。そういった環境は私のマインドにぴったりだと感じ、入社を決めました。
私の所属するチームは、コミュニケーションアプリ「LINE」を軸とした LINEのメッセージサービスなどの商用サービス向けネットワーク企画・設計・構築・運用を担っています。具体的な私の担当領域としては、AS38631の運用やIP Clos Networkの構築・運用、Data Center Interconnectの設計・構築・運用、パブリッククラウドの設計・運用、運用・検証に必要なシステムの開発などです。プロジェクトの具体的な流れについて、事例を4つお話しします。
1つ目はAS運用業務におけるトラフィックコントロールです。現在LINEではインターネットトラフィックの日次のピークが約800Gbpsになります。(取材時点)通常時は十分な容量を確保しているので問題ありませんが、障害発生時やイベントトラフィックが重なると夜間のピーク時に輻輳が発生する恐れがあり、トラフィックコントロールが必要な場合があります。
このようなケースで、トラフィックコントロールに必要な情報を分析するために活用するのが、私がつくったモニタリングツールです。モニタリングツールでトラフィックの詳細を分析して迂回候補先の容量も確認したうえで、ルータで広報する経路を変えたりBGPのアトリビュートの変更をしたりしてトラフィックコントロールを行います。
また、トラフィック増加の原因が特定のサービスのリリースに起因し、かつトラフィックコントロールが難しい場合は、サービス担当者とコミュニケーションをとってトラフィック量の調整について交渉します。また、場合によっては社外のISP(Internet Service Provider)との調整を行うケースもあります。ISPの担当者に連絡をして、どの程度のトラフィック量であれば許容可能かなどを確認します。そのうえで、トラフィックコントロールのための手順書をつくり、チーム内でレビューを行い、設定作業を行って、全工程が完了します。
2つ目の事例は、ネットワークの設計です。LINE社内のサービス開発者には基本的にLINEのプライベートクラウドである「Verda」を利用してもらいますが、(取材時点)特殊な要件がありVerdaを利用できない場合は、特別な設計の新しいインフラをつくることがあります。そのようなケースでは、まずサービス開発者とコミュニケーションをして、通信要件や帯域などの各種の要件を確認します。そのうえで、最適なネットワーク設計の構成図をつくり発注に必要な設計をしていくんです。そして、ベンダーからネットワーク機器の見積もりを取り、社内稟議を通して発注します。
ネットワーク機器が納品されるまでの間に、各種ネットワークの詳細設計を行います。そして、機器納品後に配線やマウントなどの工事をして、設定構築作業を行い、試験を行ったうえで運用を担うチームに引き継ぎます。こうしたネットワーク新規構築のタスクにおいては、複数のステークホルダーと連携をとりつつプロジェクトを進めていくため、エンジニアリングだけではなくプロジェクトマネジメントのスキルも非常に重要です。
3つ目の事例は各種ツールの開発です。私たちはネットワークエンジニアとしての業務を円滑に進めるためのツールを内製しています。さきほどお話ししたような、ネットワークのトラフィック情報を分析できるツールなどはその好例です。このツールの場合は、NetFlowを使ってネットワーク流量を取得する構造になっており、VerdaにあるマネージドのKubernetesやElasticsearchのうえでツールを動かしています。また、別のツール開発業務として、コンテナを利用して本番環境と同等の検証環境のネットワークを仮想でつくる取り組みもしています。各チームから依頼を受けてツール開発を専門に行うチームもあり、ネットワークエンジニアの部署ながら開発にも力を入れています。
4つ目の事例として、ヤフーが所有するデータセンターをLINE側でも活用するため取り組みを進めており、私はそのプロジェクトマネージャーを務めています。
LINEとヤフーの統合にともない、両社の社内ネットワークの接続を行うプロジェクトを進行しています。具体的には専用線を引いて、BGPで接続・経路広報をするといった内容です。これらは一見簡単そうに見えますが、Private IPアドレスでお互いが被っているアドレスがあったりするので、これらの課題をどう整理しながら繋げるかといったことを実施しています。
また、このLINEとヤフーのネットワークの接続を実施する前に、バックボーンネットワークの技術的負債の解消も求められており、私ともう1名のエンジニアが主担当となって、バックボーンネットワークのルーティングの最適化を行っています。
出張でデータセンターへ行き、現地での構築作業を行う機会もたまにあります。スケジュールはヤフーのデータセンターへ出張した際の一例になります。
私たちが作成したネットワークインフラを使うのは、社内の開発者たちです。「開発者たちにとって、最も望ましい形のインフラは何か」を、私たちは常に考えておく必要があります。とはいえ、開発者のすべての要望を取り入れることはできません。ありとあらゆるアーキテクチャ設計にはトレードオフがあります。ネットワーク構築にかけられる金銭的なコストや人的リソース、データセンターの物理的な容量などには限りがあるからです。そうした各種の制約があるなかで、コストや品質、スケーラビリティなど各種の条件を鑑みつつ、最適な方法を選択しなければなりません。プロジェクトの状況を俯瞰して、意思決定を行うことが求められます。
私たちは社内の開発者たちにサービスを提供しているからこそ、「開発者たちにとってわかりやすいコミュニケーションをとること」を大切にしています。もしもサービス担当者から抽象的な言い回しの問い合わせを受けたならば、具体的なIPアドレスやサーバー名を確認するなどして、状況を詳細に把握するように努めます。また、必要があれば説明のためのドキュメントを用意することもあります。どのような立場の人たちにも伝わるような、明快なコミュニケーションをとることが業務を円滑に進めることにつながっています。
私たちが触っている部分にはすべてのサービスのトラフィックが流れているので、入社当初はコマンド1つ叩くだけでも緊張しました。今でも緊張感と責任、それにともなうやりがいをしっかり感じながら働いています。ネットワークは何か問題が起きるとすべてに影響が起きるので、本当に絶対止めてはいけません。1つの失敗や障害が大規模な影響に直結する環境で日々の業務を行うことで、作業への準備の仕方や障害に強い設計の考え方などが学びになっています。
自分の考えたネットワーク構成や手順書を用いて、自分が構想した設定を入れて、トラフィックが想定どおりに動いたときが一番楽しいです。さらにそれが、ありとあらゆるサービスのネットワークを支えているわけですから、本当に大きな規模です。思った通りに構築できて思った通りの動きになったときは、本当に大きな達成感を感じますね。そして、何らかの障害が発生した場合などに、トラブルシューティングをして問題を解決できたときも非常にやりがいを覚えます。
その反面、チームとして難しさを感じているのは、将来の見通しを立てにくい状況下でネットワークの設計を行う必要があることです。具体的には、たとえば現在世界中で半導体などの素材が不足しているため、ネットワーク機器をベンダーに発注してから納品されるまでに、長いときには1年ほどかかってしまうケースがあります。各種の機器が納品されるまでにかなりのタイムスパンがある状態で方針を策定しなければならない点は、非常に難易度の高い業務ですし改善したい課題だと思っています。
ほかに難しいこととしては、さきほど述べた「プロジェクトマネージャーを務めている」ことが関連しています。エンジニアとして必要なスキルと、プロジェクトマネージャーとして必要なスキルは異なります。プロジェクトマネージャーの業務においては、各メンバーの作業の進捗状況をどのような手段で確認するか。そして、どの段階でフォローを入れるべきかなどを検討する必要があります。こうしたスキルをどのように習得していくのか、今まさに試行錯誤しているところです。
尊敬できるメンバーが集まっていることです。私は入社が決まってから、内定者アルバイトに取り組んでいました。当時はリモートワークではなくオフィスに足を運んで働いていて、ランチタイムには部署の方々と一緒にご飯を食べたり、チームの雰囲気をちゃんと把握できるように意識して会話をしたりしていました。
チームメンバーと話すなかで、みなさんが技術的に尖ったスキルを持つエンジニアであることや家庭を大事にしていること、そしてメンバー同士の仲がとても良いことがわかりました。メンバーの平均年齢は比較的高めなのですが、若手のメンバーとも気さくに話してくれます。年齢や国籍などでの壁を感じることはなくて、その印象は今でも変わりません。
また、入社したことで自分のキャリアにもかなりプラスの影響がありました。まず技術的な面としては、ネットワークエンジニアが幅広い業務領域を担当するため、身につけられるスキルが多岐にわたることです。たとえば、さきほども触れたネットワークを落とさないためのプロトコルの設計やネットワークの設計の仕方、運用オペレーションの仕方、さまざまなベンダー製品の知識などは着実に成長を感じられています。
あとは、コミュニケーション能力です。ネットワークやインターネットはいろいろなものがつなぎ合わさってできているので、ほかの領域と交わらないことには成立しません。 それと同じで、何かを成し遂げるには多くの部署の方々と会話をする必要があります。その過程でコミュニケーション能力が非常に上がりました。もともと人と話すことは嫌いではありませんでしたが、いろいろな立場や役割、考え方の人と意思疎通を正しく成立させていくスキルは、慣れたことでより伸びたという手応えがありますね。
また、エンジニアのコミュニティ的な要素でも、私たちの強みと言える部分があります。社内にDeveloper Relations(以下、DevRel)という組織があって、自前でイベントやコンテンツを企画したり、各種のカンファレンスにエンジニアの登壇をアレンジしたり、イベントのスポンサーになったりという活動を積極的に行っています。
過去の事例としては、かつてJANOGが開催された際に、私はそのイベントに帯同してくれたDevRelのメンバーに「JANOGのホスト企業をLINEで担いませんか」とかなり大きな案件の相談をしたことがあります。
実行するには企画や準備工数、費用面でも大きなコストがかかりますが、やりたい意志と企業としてのメリットを私がいくつか話しただけで賛同してくれて、DevRelチームが主体となって必要な情報収集や相談を済ませて、1週間後にはCTOの承認を得てくれました。要望を前向きに受け入れてくれることや、合意形成するまでのスピードや実行力など、良い意味での驚きがありましたね。
これは、ほかの案件などでもひしひしと感じます。そういった業務を専門的に担う組織があって、そのチームのみなさんが能動的に動くのは、会社としてエンジニアや技術コミュニティを大切にしようとしている意志の表れだと感じます。私もここ最近不定期でJANOGの活動に携わるようになりましたが、上長を含めて周りはそのことを好意的に受け入れてくれて、さまざまな挑戦がしやすい環境です。こういった点も、入社してよかったことの一つですし、合併後も大切にしていったほしいなと強く思っています。
まず組織として期待しているのは、LINEとヤフーを中心とした統合が実施されることで、日本一大規模なオンプレミスのサーバーを持つ企業になることです。もともと、ヤフーは自社でデータセンターをつくっています。LINEはデータセンターこそつくっていないものの、尋常ではない規模のサーバーを管理しています。
これらが統合されるのですから、とてつもなく大きなインフラになります。そして、これにともなって課題もたくさん生じてくるはずです。それをどのような手段で改善していくか、エンジニアとしての力量が問われており、面白いフェーズだと思います。個々の会社で働いてきたエンジニア同士で連携し合って、課題を解決していきたいですね。
今後における自分のキャリアのなかで「マネージャーとプレイヤーのどちらに特化してスキルを伸ばしていくか」について、ちょうど考えているところです。LINEとヤフーを中心とした統合にともなって、組織の規模が大きくなり社内体制もどんどん変化しています。その環境下でさまざまな人やシステムに触れて、徐々になじんでいく過程で、少しずつ自分のキャリアの方向性も見えてくるのかなと思っています。
私のチームのエンジニアは、幅広いレイヤーの技術の設計・構築に携われますし、ツールの開発も自分自身で行います。かつ他部署や他社の方々とのコミュニケーションやプロジェクトマネジメントなども実施するため、アプリケーション開発以外のほぼすべてのことを経験できます。すべてが必要なスキルになりますし、それらを実行できるのが私はすごく楽しいです。
それに、何かに挑戦したい意欲のあるエンジニアがいて、タスクを担えるだけのスキルがあるならば、たとえ入社直後であろうと積極的に仕事を任せてもらえます。ネットワーク関連で何か取り組みたいことがあるとか、自分の腕を試してみたい方には、その思いを実現できる環境として、ぜひLINEヤフーを就職の選択肢に入れてほしいです。
LINEヤフーには「今しか経験できない仕事」がたくさんあります。なぜなら、この規模の企業合併は、そうそう行われるものではないからです。インフラ環境を統合する作業も、おそらく数年がかりのプロジェクトになります。そのプロジェクトでさまざまな経験をするなかで、ネットワークエンジニアとして確実にスキルアップできるはずです。