パブリッククラウドとうまく付き合う方法
前述のとおり、システム冗長化やネットワーク設計の観点からみると、現在私たちが利用しているパブリッククラウドには、ちょっとした癖や理解すべき事項があります。この業界に長く身を置く立場としては、時流により機能や使い方は変化していくものですが、一気にすべてが変化するものではないことを理解しています。
図9はパブリッククラウドのネットワーク設計における現在と将来の可能性を示したものです。私も解説で少し悩ましく感じてはいますが、古くからネットワークやシステムの仮想化に携わったシステムエンジニアの方であれば、「もうできてるよね? その機能」というものも含んでいます。「クラウド・コンピューティング」という言葉もなく、まだ「仮想化基盤」と言われていた時代からネットワークやシステムの仮想化は、ほぼ完成系に近い成熟度を持っていました。図中に書かれているFull Overly L2(Layer 2) Networksなどは、昔でいえばL2TPやMPLSなど通信事業者では、かなり古くから使われている機能で実現可能なのです。またプライベートクラウドにおいてVMware NSXを使えば、現在でもこの機能は実現可能です。
「パブリッククラウドの将来の可能性」として皆様に情報共有したかったのは、各クラウド事業者から「何十万から何百万単位のユーザに制限のないネットワーク機能をほぼ無限にかつ安価に提供される」可能性があるというところです(VMware NSX機能を用いたクラウド事業者という単一ソリューションであれば、すでに提供されていますが……)。
筆者も15年以上も古くからネットワークやシステムの仮想化に携わってきていますので、「それの機能は実現可能です(お金をかければ)」という事例や案件を多々見てきています。つまるところ、現在私たちの環境においてコストを意識しなければどのようなシステムでも構築可能というところまで技術は成熟してきているのです。
少し話題を脱線しますが、いまから遡ること6年前。ネットワークI/OやストレージI/Oを自由に遠隔管理しネットワークブートで仮想マシンを自在に運用する仕組みを筆者も構築したことがあります。ただ、その機能をクラウド事業者がパブリッククラウドとして従量課金で数円から数銭単位で利用できるレベルには機器の値段が現在も低廉化されていません。
最近再びNFV(Network Functions Virtualization ネットワーク仮想化)という言葉で、仮想アプライアンスによりネットワーク機能(VPNやIDS/IPS、Firewallなど)をクラウド上に展開して、機能増強とコスト削減効果を狙った動きが再燃しています。これらの進展や各種クラウド事業者の努力によってかなり近い将来、図9の中に書かれているトラフィック制限がないFull Overly L2(Layer 2) Networksのようなものが出てきてくれるのではと期待しています。
とはいえ、私たちは現在から未来まで中長期的にいまあるコンピュータ資源を活用していかなければなりません。
図10はパブリッククラウドを利用する観点から中長期的にシステムエンジニアが慣れておくべきシステム設計手法について整理したものです。
現在から将来にかけて、どのようなパブリッククラウドであってもUnicast通信によるネットワーク提供は行われ続けると期待できますので、それを基本としたシステム冗長化の設計手法を考えておけば良いでしょう。
では、どのようなシステム冗長化の設計手法が考えられるか、続いてみていきましょう。
図11は、Unicast通信のみ許可されたパブリッククラウドにおけるシステム冗長化の設計手法です。前述の「図7. 独自のデザインパターンによるシステム冗長化と単一障害点」で解説した方式で十分納得感が得られるSIerのシステムエンジニアの方も多数いらっしゃるとは思いますが、あえてベンダ・ロックインされないユーザ目線の設計手法として解説を続けます。また、すでにこの手法をお使いのSIerのシステムエンジニアの方は軽く読み飛ばしください。
この方式では、パブリッククラウド側に仮想ルータとVPN接続しつつ仮想サーバと仮想NASを二台一組としたHA構成を複数用意し、外部にある自社設備のSLB(Server Load Balancer:負荷分散装置)により、仮想サーバの死活監視と負荷分散・障害時切替を行っています。
自社設備のSLBを企業が独自管理することで、システム耐障害性やダウンタイム、定期メンテナンスのサイクルなどをクラウド事業者の都合に合わせることなく運用できます。これら自社設備も中長期的にはデータセンター事業者に預託・運用される場合もありますが、この例では自社設備としてあります。
この方式は海外でいくつかの大規模Webサービス事業者で取り入れられており、昨年には「○○社のクラウド離れ!」と話題にもなりました。私も彼らがシステム設計に関する講演を直接カンファレンスで聞いていましたが、その理由としても「サービス品質におけるダウンタイムやメンテナンス時間を自分たちで管理したかった」という強い熱意が語られていました。
この世の中に永遠にメンテナンスを必要とせず完全無停止で単一で動き続けるコンピュータ資源はまだ存在していません。私たちシステムエンジニアは、いまある技術を適材適所で活用して永続的にコンピュータ資源を運用管理していく必要があるのです。
次回予告
さて次回は、クラウド時代のIPv4アドレス枯渇を考えると題して、仮想ルータを使ったちょっと未来の設計手法について解説していきます。ご期待ください。

