Blogs > Corporate

知られざるゼットスケーラーの秘密、お教えします

Published on:

Authored by:

菅原 博史

知られざるゼットスケーラーの秘密、お教えします

先日のブログで、ゼットスケーラーのクラウドセキュリティプラットフォームが1日当たりに処理するトランザクション数が1000億件を突破したことをご紹介しました。これは、グーグルの検索数やYouTubeの再生数といった主要なサービスの数字と比べても大きなトランザクション数です。

では、このクラウドセキュリティプラットフォームは、具体的にどんな処理を行っているのでしょうか。日本ではあまり紹介されてこなかった基盤の特徴をお話ししたいと思います。

 

「並列処理」による高速処理をスケーラブルに実現

 

ゼットスケーラーのクラウドセキュリティプラットフォームは、全世界に構築されたデータセンターで構成されています。データセンターはトラフィックの増加にともなって拡張を続けており、2020年5月時点では約200カ所構築されています。

これらデータセンター内の構成、インフラはグローバルで共通です。最大の特徴は「並列処理」にあります。帯域や処理能力が足りなくなったら箱(アプライアンス)を追加して補う、という従来のアプローチでは解消しきれないボトルネックをなくし、高い拡張性を実現する鍵が、この並列処理です。

順を追って説明しましょう。一般に、Webアクセスも含めたインターネット上の通信は、OSI参照モデルに基づいて7つの階層(レイヤ)に分かれ、各レイヤごとに異なるプロトコルで処理されます。ユーザーが意識するのは「Webにアクセスしている」という操作ですが、その裏側ではプロキシサーバがヘッダーを確認してソケットを処理し、TCP/IPを処理し、さらにイーサネットを処理して適切に振り分ける……という具合に、順番に多段の処理が実行されているのです。

 

zscaler

 

問題は、避けられないオーバーヘッドです。前の処理が終わらないと次の処理に取りかかることができないため、遅延がどんどん積み重なってしまいます。処理を実施する場所がオンプレミスであろうとクラウドであろうと、前のパケットの処理が終わるまで待たされる以上、遅延が避けられないのです。

ゼットスケーラーではこれに対し、クラウドネイティブの新しいアーキテクチャを一から開発し、複数のプロトコルヘッダを並列で処理する仕組みを実現しました。不要な待ち時間がなくなるため、100倍以上の速度でパケットを処理できるようになっています。

 

Zscaler

 

 

セキュリティロジックも並列化、将来にわたって拡張性を確保

 

並列処理されるのは、ネットワーク処理だけではありません。ゼットスケーラーのアーキテクチャでは、複数のセキュリティ機能もパラレルに処理しています。

これまで、企業ネットワークを守る典型的なセキュリティ対策では、ファイアウォールで不要なポートをブロックし、それを通り抜けてくるトラフィックにアンチウイルスやURLフィルタリングを適用し、さらに疑わしいコンテンツがあればサンドボックスや機械学習による解析をかけ……という具合に多段の網をはりめぐらせるものでした。順番に複数のセキュリティロジックを適用することで、怪しいものが入り込まないよう防御すると言うアプローチですが、先ほどのネットワーク処理同様、順繰りにセキュリティ上の処理を行うため、多層防御にすればするほどオーバヘッドが増大する問題は避けられませんでした。

 

zscaler

 

最近では、オンプレミスで運用してきたセキュリティロジックをパブリッククラウドサービス上に仮想マシン・仮想アプライアンスの形で実装するサービスも登場しています。しかし、パケットを紐解いて、複数のセキュリティロジックを順に走らせるというアーキテクチャ自体に変化はないため、根本的な問題解決にはなりませんでした。

ゼットスケーラーではこれに対し、「Single Scan Multi Analysis」(SSMA)というアーキテクチャを実装しています。複数のセキュリティ処理をパラレルで進め、必要なロジックを一度の処理で終わらせることで、セキュリティを担保しながらユーザー体験、レスポンスを維持する仕組みです。

 

zscaler

 

SSMAにはもう1つ利点があります。日進月歩のこの世界ですから、いずれこの先、サンドボックスや機械学習技術に続く新しいセキュリティロジックが登場してくるでしょう。そんな新しいセキュリティ技術を追加しても、パラレルに処理されることは変わりなく、遅延がまったく生じないことを担保できるのです。これは、今後の拡張性を考えると大きな利点となります。

ゼットスケーラーではユーザーに近いエッジ側でこうした並列処理を実施すると同時に、主要なクラウドサービス事業者とダイレクトに接続する「ピアリング」を提供し、遅延を最小限に抑える工夫を凝らしています。こうしたさまざまな技術の積み重ねによって、クラウド内部でのパケット処理という他の事業者では類を見ないSLAを設定し、守っているのです。

 

3つのレベルで冗長性を確保し、類を見ないSLAを実現

 

ゼットスケーラーのクラウドセキュリティプラットフォームとしてのもう1つのポイントは、冗長性の確保です。

世の中に100%の稼働率はあり得ません。主要なインターネットサービスを見ても、年に1回程度は何らかの障害が起き、Twitterのトレンドになったりしています。ゼットスケーラーでも、様々なレベルでの不具合は起こりうることを前提に、それぞれに冗長化し、サービスが途切れないようにしています。

まず、グローバルで複数のクラウドを「面」として存在させることにより、クラウドベースの冗長化を実施しています。次に、各データセンター内で動作するログやストレージといったコンポーネントごとに、n+1、もしくはn+2で冗長化を行い、何か問題が起きても切り替えて動作するようにしています。さらに、コンポーネントを構成する電源などの各モジュールも、当然ですが冗長化しています。

 

zscaler

 

こうして3つのレベルで冗長化することによって高いSLAを実現しているのです。また、SaaSにつきもののサービスのメンテナンスやアップグレードについても、アクセスの少ない時間帯を選んでモジュールやコンポーネント単位で更新をかけることで、利用者に影響を感じさせない形で実施しています。

実は日本でも、まだ具体的な計画は明らかにできませんが、もう一カ所データセンターを設置して冗長性や拡張性を高める計画があります。この数年で数百倍という規模で増大し続ける日本のトラフィックを高速に処理し、またセキュリティを担保するため、ゼットスケーラーでは今後も投資を続けていきます。

ゼットスケーラーのユニークなアーキテクチャについての詳細は、こちらからご確認いただけます。

 

関連記事

 

デモのリクエスト、ご質問などはフォームの方へお寄せください。



Suggested Blogs