eBPF Summit、Verizon-Mediaが利用するKatranのセッションを紹介

eBPF Summit 2021からVerizon-MediaによるL4ロードバランサーのセッションを紹介する。

松下 康之 - Yasuyuki Matsushita

2021年12月24日 10:13

eBPF Summit 2021から、日本以外でYahoo!ブランドのサービスを展開するVerizon-Mediaのセッションを紹介する。これはFacebookが開発し、オープンソースソフトウェアとして公開するeBPFをベースにしたL4ロードバランサーであるKatranに関するユースケースだ。

以下の動画の53分46秒から開始するセッションとなる。セッションを担当したのはKarthikeyan Thangaraji氏だ。

動画:eBPF Summit 2021 - Day 2

Yahoo!で使われているL4 Load Balancerを解説

Yahoo!で使われているL4 Load Balancerを解説

Katranそのものについては、開発したFacebookが公開しているブログ記事を参照されたい。

参考:Open-sourcing Katran, a scalable network load balancer

FacebookがL4ロードバランサーを作った背景

FacebookがL4ロードバランサーを作った背景

FacebookはKatranの前にもソフトウェアベースのロードバランサーを開発、利用していた。しかしパケット処理のCPU負担が高く、そのためにロードバランサーをバックエンドサーバーと共存させることが難しかった。その結果として急なアクセスピークに対応できなかったという。このことが、新しくXDP(eXpress Data Path)とeBPFを使ったロードバランサーをゼロから開発した理由だ。

またKatranが高速に処理が行えるという点に関しても、Facebookのブログでは以下の図を使って解説を行っている。

バックエンドのプロセスと通信する時以外はユーザースペースにパケットが出ない設計

バックエンドのプロセスと通信する時以外はユーザースペースにパケットが出ない設計

ここではロードバランサーとバックエンドのプロセスが並存するサーバーにおいて、そのサーバーローカルに実行されているプロセスと通信する時のみ、カーネルスペースからユーザースペースにパケットが渡される形になる。他のサーバーにルートさせる場合は、カーネルで実行されるeBPFのプログラムだけで処理が完了することになり、高速であるという。

ここからVerizon-Mediaのセッションに戻ろう。

ハードウェアベースのロードバランサーを使っていた時のマイナス点

ハードウェアベースのロードバランサーを使っていた時のマイナス点

ハードウェアベースのロードバランサーではダイナミックな構成変更ができず、バックエンドサーバーの構成も固定されており、オートスケールするできなかったという点を挙げて、ハードウェアベースのロードバランサーではYahoo!の求める運用ができなかったことを説明した。

Kubernetesのバックエンドに使われるKube-Proxyのマイナス点

Kubernetesのバックエンドに使われるKube-Proxyのマイナス点

またYahoo!のバックエンドはKubernetesベースであるため、デフォルトのロードバランサーKube-Proxyも検討された。しかしKube-Proxyは台数が少ない場合には問題ないが、iptablesベースであるためにサーバー台数が増えた場合の性能劣化が激しかったことを解説した。

CiliumをKubernetesのロードバランサーに採用

CiliumをKubernetesのロードバランサーに採用

CiliumがL4ロードバランサーとして選ばれた理由は、主にFacebookが挙げた内容と同じで、コモディティハードウェアにロードバランサーとアプリケーションを共存させることができたこと、XDPによってハードウェアベースのロードバランサーと性能面で劣らなかったこと、Kubernetesとの共存がスムーズだったことなどを挙げた。

Yahoo!のネットワーク構成

Yahoo!のネットワーク構成

ここではVerizon-Mediaが利用するYahoo!のためのネットワーク構成を解説。スパイン、リーフ、トップオブラックのスイッチ、そしてサーバーで構成されている。

Ciliumのロードバランサーとしての性能を比較

Ciliumのロードバランサーとしての性能を比較

このスライドではPodに直接パケットを送信した場合とCiliumを利用した場合のオーバーヘッドについて解説している。Ciliumを使った場合でもオーバーヘッドは非常に小さかったという。

最後に今後の予定を紹介。

Verizon-Mediaの今後の予定を紹介

Verizon-Mediaの今後の予定を紹介

現在はまだ2つのデータセンターでのみ実装され、アプリケーションとしてもまだ1つでしか本番稼働していないが、FY2020の第3四半期、第4四半期にはすべてのワークロードをCiliumベースのロードバランサーで処理するようになるだろうと語った。

日本のYahoo! Japanとは名称以外何も共通するものがないと思われるシステムを運用するVerizon-Mediaだが、Facebookの経験を自社に上手く展開したユースケースと言えるだろう。

基本的なテクノロジーであるeBPFを普及するための非営利団体であるeBPF FoudationにはFacebook、Google、Microsoft、Isovalentがプラチナムメンバー、Netflixがゴールドメンバーとなっている。今後、利用が拡がるに従って、メンバーシップやエコシステムも拡がっていくと思われる。2021年9月9日にAWSがEKSをオンプレミスでも実装するEKS Anywhereにおいて、Ciliumを標準のネットワークスタックとして採用することをIsovalentがブログで発表した。3大パブリッククラウドベンダーがCiliumをサポートしていることは大きな意味がある。

参考:AWS picks Cilium for Networking&Security on EKS Anywhere

eBPFとは何か?については以下の公式サイトを参照されたい。

参考:What is eBPF

ロードバランサーのKatranの公式GitHubは以下の通り。

Katranの公式GitHub:https://github.com/facebookincubator/katran

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30