クラウド基盤本部 Network&DCチームの尾崎です。Network&DCチームは、cybozu.com が稼働するデータセンターの契約や、データセンターネットワークの設計・構築・運用を行っています。
前2回の記事では、Neco の Kubernetes 基盤について解説しました。今回は、cybozu.com のネットワークとデータセンターについて紹介します。
【連載】Cybozu.comクラウド基盤の全貌 第2回 サイボウズのKubernetes基盤「Neco」の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ
【連載】Cybozu.comクラウド基盤の全貌 第3回 Neco のネットワーク - Cybozu Inside Out | サイボウズエンジニアのブログ
Cybozu.com が稼働するデータセンター
サイボウズは国内にある複数のデータセンターにラックを借り、そこにサーバーやネットワーク機器をオンプレミスで設置・運用しています。Kubernetes 基盤もオンプレミスの機材で稼働しています。Neco の Kubernetes クラスターは複数存在し、各クラスターは複数のデータセンターをまたいで利用しています。災害などへの耐性を高めるため、Kubernetes クラスターは東日本と西日本のデータセンターに分散されています。また、データセンター間は専用線で接続され、通信は全て暗号化されています。
データセンターネットワーク
はじめに Kubernetes クラスターのネットワークに触れておきます。Kubernetes のノードは、Leaf-Spine アーキテクチャで構成されるネットワークに接続しています。各ラックには2台のToR(Leaf)スイッチがあり、これらの Leaf スイッチは冗長化されたすべての Spine スイッチに接続されています。ラックごとにプライベート AS を割り当て、すべての Leaf-Spine スイッチは eBGP で経路交換を行っています。ルートリフレクタとして動作させている Leaf スイッチとノードは iBGP で経路交換を行っています。細かい実装に関しては、こちらをご覧ください。
Necoのネットワーク - アーキテクチャと設計編 - Cybozu Inside Out | サイボウズエンジニアのブログ
Neco のネットワーク - 実装編 - Cybozu Inside Out | サイボウズエンジニアのブログ
また、Neco 基盤に限らず、cybozu.com が稼働しているデータセンターネットワークの経路制御は、基本的に BGP で行っています。cybozu.com では、コンテナベースの Neco 基盤と、それ以前から利用してきた仮想マシンベースの Forest と呼ばれる基盤が稼働しています。Neco 基盤と Forest 基盤それぞれに、開発やバックアップなど、目的に応じた複数のクラスターが存在しています。各クラスターのゲートウェイとなるルータ同士は、後述する VXLAN により提供される仮想的なL2ネットワークで Point-to-Point 接続を行い、eBGP で経路交換を行っています。
データセンター間接続(Data Center Interconnection : DCI)
東日本と西日本において、ハブとなるデータセンターを中心に、複数のデータセンターが専用線によってスター型に接続されています。データセンター間を柔軟に接続するために、サイボウズでは EVPN-VXLAN を採用しています。冗長化された100Gの専用線は、VTEP となる L3 スイッチに接続されます。ルーティングデバイスは、VXLAN によって提供される仮想 L2 ネットワークを介して eBGP のピアを確立しています。仮想 L2 ネットワークにリンクパススルー(LPT)機能は実装していないため、ルーティングデバイス間で BFD を利用してリンク障害に備えています。
VXLAN を採用することにより、間接的に接続されたデータセンターに設置された機材同士でも、直結しているように見せることができるため、ネットワークの設計がシンプルになります。また、専用線のメンテナンス時に、迂回のオペレーションが VTEP ルーターのみで完結するというメリットがあります。
複数のデータセンターを使用している Kubernetes クラスターのネットワークは、データセンター間で Spine 同士が仮想的に直結する Back-to-Back トポロジーを採用しています。また、各データセンターごとに Spine の AS を分けています。Kubernetes の LB サービスの IP が複数のデータセンターのノードから広報されることがあります。データーセンターごとに Spine の AS を分けることで、別のデータセンターから広報される経路の AS パス長が長くなり、必ず同一データセンター内のノードにルーティングされるようになっています。
上の図では、Kubernetes がクラスター外部のネットワークに、Datacenter East1 に設置された dc-east1-ext-rtr を介して接続されています。また、10.255.100.1/32 が Datacenter East1 と Datacenter East2 の各ノードから広報されています。dc-east1-spine が持つ BGP の経路情報は以下のようになるため、Datacenter East1 から入ってきた 10.255.100.1 宛のパケットは必ず同一データセンター内のノードへルーティングされます。
Network | Next Hop | AS Path | Best Path |
---|---|---|---|
10.255.100.1/32 | dc-east1-leaf-1 | 65101 | ✓ |
10.255.100.1/32 | dc-east1-leaf-2 | 65101 | ✓ |
10.255.100.1/32 | dc-east2-spine-1 | 65200 65201 |
AS131912
これまではデータセンター内のネットワークについて記載しました。続いて、データセンターからインターネットへの接続について紹介します。サイボウズでは、安全で快適なアクセス環境をお客様に提供するため、グローバル AS131912 を取得し、自社で AS の運用を行っています。前述したデータセンターネットワークの解説で触れた AS はすべてプライベート AS を指していますが、本節で述べる AS はグローバル AS を指しています。
AS とは Autonomous System の略で、個別の組織が独自に運用しているネットワークの単位を表しています。「インターネット」は、AS が世界規模で相互に接続しているネットワークを意味します。
自社で AS を運用するメリットの一つとして、ネットワークの安定性の向上が挙げられます。インターネットに接続するためには、必ず AS のネットワークに参加する必要があります。読者の皆様がインターネットにアクセスする際に AS について意識することはないかもしれません。しかし、実際には特定の AS のネットワークに参加し、そこからインターネットにアクセスしています。例えば、SIM を購入してスマートフォンでインターネットにアクセスしている場合、その SIM を介してアクセス出来るインターネットサービスプロバイダー(ISP)の AS のネットワークに接続し、そこから別の AS のネットワークに接続していることになります。
インターネットからアクセスしてもらうサービスを提供する場合も同様に、いずれかの AS のネットワークに参加する必要があります。このとき、必ずしも AS を自社で運用する必要はありません。ISP 内のネットワークにサービスを構築すれば、インターネットからアクセスしてもらうことが可能です。しかし、ISP 内のネットワークにサービスを構築した場合、その ISP 1社にインターネットへの接続が依存することになります。自社でASを運用する場合でも、インターネットに接続するためには ISP の AS と接続する必要がありますが、複数のISPを介してインターネットに接続することが可能です。こうすることで、特定のISPへの依存度を下げることができ、ネットワークの安定性を向上させることができます。
データセンターの選定
Cybozu.comがサービスを提供開始した2011年当初から、サイボウズではオンプレミスの機材を運用してきました。サービスの成長に伴い、データセンターから借りるラック数を増やしたり、使用するデータセンターを追加で契約してきました。Neco が稼働し始めた後も何度か使用するデータセンターを増やしています。
データセンターの選定について SaaS 事業者として重視している点を抜粋して紹介します。
ラックの拡張余力
2025年4月時点で、cybozu.com のために数千台規模のサーバーが稼働しています。現在も安定稼働を最優先に、十分な余裕を持たせた機材を確保しています。今後もサービスの成長に対応できる安定した基盤を維持するためには、ラックの拡張余力を確保しておくことが非常に重要です。
その一方で、首都圏のデータセンター需要は年々増加しており、データセンターのラックを確保することが難しくなってきています。サイボウズでは、複数のデータセンター事業者と交渉し、さまざまな条件を総合的に勘案して、中長期で安定的にラックを確保できるデータセンターを契約しています。最近では、2024年に新しく契約したデータセンターの利用を開始しました。このデータセンターでは、5年以上先を見据えた十分なラックの拡張余力を確保しています。
ネットワーク品質
サイボウズでは複数のデータセンターに設置した機材で cybozu.com を提供しています。また、グローバル AS を取得・運用しています。このため、ネットワークの品質は特に重要な要素となります。データセンターにおけるネットワーク品質を測る指標は非常に多岐にわたりますが、今回は読者の皆様が直感的に理解しやすい指標として、「回線引込経路」の冗長性について紹介します。
回線引込経路とは、通信ケーブルを建物内に引き込むための経路を指します。一軒家にインターネット回線を引き込む例を考えると、電柱から引っ張られた光ファイバーは以下の経路を通ります。
- 電柱から建物外壁
- 建物外壁から屋内配線を通って光コンセント
- 光コンセントから回線終端装置
これが回線引込経路です。データセンターにおける回線引込経路も同様に考えることができます。回線引込経路は「1. 通信ケーブルがデータセンター建屋に入線するまでの経路」と「2. 建屋内での配線経路」に大別することができます。データセンターでは、回線引込経路が2経路以上提供されることが一般的ですが、使用する回線やラックによっては、1.と2.の両方で異なる経路を取れない場合があります。サイボウズでは、複数の専用線を用意して通信経路の冗長性を確保しています。また、ネットワークの信頼性を高めるために、柔軟に専用線の回線引込経路を選択できるデータセンターを使用しています。
まとめ
本記事では、cybozu.com のネットワークとデータセンターについて紹介しました。データセンターに関しては公開できる情報が限られていますが、ここで紹介した要素以外にも、基盤の安定稼働を確保するために様々な要素を考慮しながら、データセンターの選定や物理機材の運用を行っています。
今回の内容は、オンプレミス環境を利用していない方には馴染みがないかもしれませんが、cybozu.com を支えている物理的な基盤についてイメージしていただければ幸いです。
次回は Neco のストレージについて紹介する予定です。