SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine(コードジン) ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

KubeCon + CloudNativeCon Japan 2026レポート

Airbnbが挑んだ150以上のKubernetesクラスタ大規模移行の舞台裏

【KubeCon + CloudNativeCon Japan 2026】The Road to Cilium: Migrating 150+ Kubernetes Clusters at Airbnb

 Airbnbのクラウドネットワーキングチームは、150以上のKubernetesクラスタ、1万3000を超えるワーカーノードを、AWS VPC CNIからCiliumへおよそ8カ月かけて移行した。共有VPC配下で全クラスタのCilium operatorが同じEC2 APIレート制限を奪い合うという制約の下、Prefix Delegation(AWS環境において、複数のIPアドレスを含むブロックをネットワークインターフェースにまとめて割り当てる仕組み)によるAPI呼び出しの大幅な削減、100以上のクラスタへの段階的ロールアウト、そして本番投入後に見つかったMTU(1回の通信に送信できるデータの最大サイズ)とネットワークポリシーの落とし穴まで、大規模移行の実践知を追う。

共有VPCという制約の中で、AirbnbがCiliumを選んだ理由

Airbnb Staff Software EngineerのYifei Sun氏
Airbnb Staff Software Engineer Yifei Sun氏

 Airbnb Staff Software EngineerのYifei Sun氏は、150以上のKubernetesクラスタをAWS VPC CNIからCiliumへ移行した道のりを語った。

 Ciliumを選んだ主な理由は、eBPF(Linuxカーネルに起源を持つ、サンドボックス化されたプログラムを実行できる技術)の上に構築されたKubernetesネイティブなネットワーキングプラットフォームである点、そして活発なオープンソースコミュニティと幅広い業界での採用実績を持ち、長期的なネットワーキング基盤として進化し続けると確信できた点にある。

 Airbnbにとって特に価値があった機能として、Yifei Sun氏は以下の5つを挙げる。1つ目は全クラスタにまたがるPodレベルのアクセス制御を可能にするクラスタ全体のネットワークポリシー、2つ目にトラブルシューティングを簡素化するネットワーク可観測性ツールのHubble、3つ目にクラウドプロバイダーのマネージドNATゲートウェイ(VPCなどからインターネットへ安全に通信するための管理型サービス)への依存を減らす、コスト効率の良いCilium egress gateway、4つ目に大規模環境でのボトルネックを避けるためiptables(Linuxパソコンやサーバーで通信を制限するためのファイアウォール機能を設定する仕組み)を取り除くkube-proxyの置き換え、そして最後がKubernetesネイティブなマルチクラスタネットワーキングを実現するマルチクラスタメッシュだ。

VPC CNIからCiliumへの移行は全体で約8カ月の大規模なものに
VPC CNIからCiliumへの移行は全体で約8カ月の大規模なものに

 Airbnbは150を超えるKubernetesクラスタ、1万3000を超えるワーカーノードを運用しており、VPC CNIからCiliumへの移行をフルフリート全体で約8カ月かけて完了させた。中規模企業としては相応の規模の環境だとYifei Sun氏は振り返る。

ボトルネックはCiliumなのか、Amazon EC2 APIなのか

 移行前、AirbnbはCilium operatorの性能テストを実施した。クラスタの大半が同じVPC上にあり、同一のAWSアカウントレベルのEC2 APIレート制限バケットを共有しているという制約の下、control planeの性能に焦点を当てた検証だ。

 テストで答えを出したかったのは3つの問いだった。Ciliumがノード起動時間・Pod起動時間・スケジューリングのレイテンシに、特にSparkのようなデータ変更率が非常に高い環境でどう影響するか。大規模なノードプロビジョニングの際、ボトルネックはCilium自体なのか、それともAWS EC2 APIのレート制限なのか。そして、prefix delegation・pre-allocation・minimum allocationを含むIPAM設定(IPアドレス管理)を、最良の性能と効率のためにどうチューニングすべきか、という3点である。

 検証では、大規模なノードプロビジョニング下でのノード起動時間を測るため300ノードを同時にプレスケールし、その後kube-burnerを使って10分間、毎秒100Podという持続的な負荷を生成してPod起動時間とスケジューリングのレイテンシを測定した。クラウドAPIの使用量も並行して計測している。

検証で得られた主な発見(Startup Time/Scale-Up Bottlenecks/IPAM Efficiency)
検証で得られた主な発見(Startup Time/Scale-Up Bottlenecks/IPAM Efficiency)

 主な発見は3つあった。まず、IPが事前割り当てされている限りPod起動時間は速いままだったが、ノードの起動時間は約50%遅くなった。Ciliumが複数のinitコンテナを含む追加の初期化ロジックをノードのブートストラップ時に実行するためで、「Ciliumは単純にやることが多く、それだけブートストラップすべきことも多い」とYifei Sun氏は説明する。次に、大規模なノードプロビジョニングの際の主なボトルネックは、Cilium自体ではなくAWS EC2 APIのレート制限であることが分かった。そして、Prefix elegationはEC2 APIコールを60%以上削減できることも確認された。

次のページ
Prefix DelegationによりAWS内のAPIコールは軒並み減少

この記事は参考になりましたか?

KubeCon + CloudNativeCon Japan 2026レポート連載記事一覧
この記事の著者

中野 佑輔(編集部)(ナカノ ユウスケ)

 金融系SIerでの勤務を経て2025年よりCodeZine編集部所属。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/29186 2026/08/04 09:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー