マルチクラウド時代に検討すべきロードバランサー/ADCの課題
クラウド活用への動きが急速に進む中で、既存のロードバランサー/アプリケーションデリバリーコントローラー(ADC)では、キャパシティ管理、分散された管理ポイント、適用不可環境などの観点からのハードルが存在します。今後、オンプレミスなどのシステムをパブリッククラウドに移行させるにあたり、複数のクラウドを使いこなすマルチクラウドが現実解になってきます。マルチクラウドにおける、既存のロードバランサー/ADCの課題を整理します。
アプリケーションごとの負荷分散では限界
パブリッククラウドやマルチクラウド環境を使いこなすために押さえておくべきロードバランサー/ADCの課題について整理します。
負荷分散の実施という視点で考えてみます。多くの既存システムはアプリケーションごとの負荷分散を想定しています。下図のように、1人の管理者がアプリケーションごとに負荷分散などのメンテナンスを実施することになり、実質的に困難であることが分かります。さらに、マルチクラウドではそれぞれ異なるさまざまな環境に実装されたアプリケーションを対象にすることになります。
パブリッククラウドは、大手だけでもAmazon Web Services(AWS)、Microsoft Azure、Google Cloud Platform(GCP)などが存在します。また、こうしたパブリッククラウドに加え、VMwareやOpenStackなどの仮想環境、KubernetesやOpenShiftなどで構成されるコンテナ環境、Linux Serverなどが稼働するオンプレミス環境があり、それらを含めて集中管理するのは既存のロードバランサー/ADCでは不可能と言っていい状況です。
パブリッククラウドにおけるロードバランサーの課題
ここで、パブリッククラウドにおける、ロードバランサー/ADCの課題をまとめてみましょう。AWS、Azureなどのパブリッククラウドを利用する場合、通常はそれぞれの専用運用ツールを利用することになります。複数のパブリッククラウドを運用するマルチクラウドの場合は、複数の運用ツールを使いこなさなくてはなりません。
そのためマルチクラウド環境を統一的に運用することは難しく、管理スピードの向上にも限界があり、システム全体を俯瞰した自動化も難しくなります。結果として、オンプレミスのシステムをパブリッククラウドに移管する際に遅延が発生し、中止に追い込まれる事態も考えられるのです。
これからのロードバランサー/ADCに期待される要件とは?
では、今後のロードバランサー/ADCにはどんな要件が期待されるのでしょうか。主なものをまとめてみます。
パブリッククラウド、コンテナ、仮想環境、オンプレミスを集中管理する
マルチクラウド環境やコンテナによって開発されたアプリケーション環境において、適切に負荷分散し、セキュリティを確保する必要があります。
自動化
インスタンスの展開を自社データセンターやパブリッククラウド環境、認証サービスなどとAPI連携などの機能を使ってGUI管理画面からコントローラソフトウェアを使って自動的に実施できるようにします。
可視化、アプリケーション解析
仮想環境、コンテナ環境、パブリッククラウド、物理環境全体のアプリケーションのトラフィックを観察し、パフォーマンスや稼働状況をログ解析します。またネットワークセキュリティの分析を通じてDDoS対策などを実施できるようにし、リアルタイムにクライアント情報を取得し、素早いトラブルシューティングを実施できるようにします。
オートスケール機能
オンプレミスのデータセンターやマルチクラウド環境といったさまざまな環境に対応し、アプリケーションごとにリソースをオートスケールする機能が求められます。サービスエンジンを自動追加するスケールアウト、CPUを自動追加するスケールアップの両方に対応していることが望ましいでしょう。
エンタープライズ機能の搭載
オートスケールを含めて、大規模なシステムを運用する際にはエンタープライズを意識した機能が求められます。その1つが、広域でサイト間の負荷分散を実施するGlobal Load Balancingです。例えば、東京と大阪のデータセンターがある場合、通常は東京にトラフィックを転送するようにしておき、東京に障害が発生した場合は大阪にトラフィックを転送するようにします。いわゆるディザスタリカバリの実装が可能になります。もう1つはWeb Application Firewall(WAF)です。以下のセキュリティ機能で紹介します。
基本機能として求められるセキュリティ機能
今後のロードバランサー/ADCに、特に基本として求められるのが以下のようなセキュリティ機能です。
Web Application Firewall(WAF)
従来のファイアウォールやIDS/IPSでは防ぎ切れない不正な攻撃からWebアプリケーションを守るファイアウォールのことです。Webサーバーが利用するポート 80番、443番のトラフィックを双方向で監視して、悪意のあるユーザーからWebアプリケーションと関連するデータを保護します。ポートスキャンなどの攻撃から守るファイアウォール、ミドルウェアの脆弱性を狙った攻撃を検知するIPS、SQLやクロスサイトスクリプティングなどから守るWAFの3つは、一般的なネットワークセキュリティにおいて不可欠と言われています。
SSLターミネーション(終端)
SSLサーバー証明書をWebサーバーに格納し、Webサーバーで通信の暗号化や復号化することです。しかしWebサーバーの数が増えると証明書の取得のコストがかかり、管理も複雑になるため、WebサイトのフロントエンドにADCを設置し、SSL終端処理を実施するようになってきています。
DDoS からの保護
DDoSとは、大量のトラフィックを送ることによって攻撃先のサービスをダウンさせることで、送信元を偽装するなど巧妙化しているため、対策が必要です。
L3-4 ACLs
レイヤ3であるネットワーク、レイヤ4におけるアクセスコントロールリスト(ACL)を設定することで、パケットヘッダに基づいてトラフィックをコントロールしセキュリティを確保します。
L7 ルール / ポリシー
URLやHTTPヘッダーなどレイヤ7(アプリケーション層)で負荷分散する際のルールやポリシーを設定します。
「VMware NSX Advanced Load Balancer」の登場
ここまで見てきたように、複数のパブリッククラウドを使いこなすマルチクラウド時代には、従来とは異なるロードバランサー/ADC機能が求められてきます。それを実現する製品として、VMware社ではVMware NSXシリーズとして100%ソフトウェア型のADC「NSX Advanced Load Balancer」を提供しています。