クラウドと可用性(1) – クラウド環境の可用性を信じていいのか?

    responsible-area-for-ensuring-availability.

     今や多くの企業にとって一般的な選択肢となったクラウド環境ですが、はたして明確な活用方針を持って使いこなしていると言える企業はどれだけあるでしょうか。

     高度かつミッションクリティカルであるシステムを移行するためには、どのような点に気を付けるべきなのか?

     クラウドならではのシステム構築の注意点や考慮ポイントとは?

     これら代表的な疑問に答えるため、これから4回に分けて、クラウド環境におけるHA機能、Windows Server標準のフェイルオーバー・クラスタリング機能(WSFC)の利用、クラウド上の障害発生と復旧、Single Point of Failure(SFOF)の考え方についてなど、クラウド環境ならではの可用性担保のポイントについて考えてみたいと思います。

     第1回のテーマは、クラウド環境の高可用性機能についてです。

     多くのクラウドが、HA(High Availability:高可用性)機能のメニューを提供しています。ただし、特に高度なミッションクリティカル性が要求される基幹システムでは、これだけでは十分とは言えません。クラウドのHA機能は、ゲストOSの応答を確認して死活状態を監視してくれるものの、アプリケーション側に起因する障害までは検知できないからです。そこでクラウド環境においてもHAクラスタの導入を検討する必要があります。

    基幹システムのクラウド移行が本格化

     「クラウドファースト」というキーワードが叫ばれるようになってからすでに久しく、企業にとってクラウド活用は当たり前のことになりました。グループウェアやSFA(Sales Force Automation:営業支援システム)などの情報系システム、開発・テスト環境はもちろん、近年ではミッションクリティカルな基幹システムのクラウド移行に踏み切る企業も増えてきました。

     背景として大きいのは、クラウドのセキュリティに対する懸念の低下です。

     例えば総務省の「クラウドサービス提供における情報セキュリティ対策ガイドライン」、経済産業省の「クラウドサービス利用のための情報セキュリティマネジメントガイドライン」など、中央省庁からもクラウドにおけるセキュリティ対策のガイドラインが示されるようになりました。実際、「おもてなしクラウド事業」や「霞が関クラウド」など、国のさまざまなシステムもクラウドを前提として構築されています。

     こうした動向を受け、「国が示す基準をクリアしたクラウドを利用する限り、不正侵入や情報漏えいのリスクをそれほど不安視する必要はない」というように、企業の意識も大きく変わってきているようです。

    クラウド事業者と企業側の「守備範囲の違い」

     しかし、不正侵入や情報漏えいのリスクさえ回避できれば、本当に基幹システムをクラウドに移行しても問題はないのでしょうか。そもそも情報セキュリティとは、いわゆる「C.I.A(Confidentiality:機密性、Integrity:保全性、Availability:可用性)」の3つの基本要件がバランスよく満たされて、はじめて成り立つものです。これはクラウドであっても変わりはありません。

     ところが機密性や保全性に関しては石橋を叩いて渡るような慎重な構えを見せる一方で、可用性については、多くの企業がクラウドに対して“実態”を上回るような期待を勝手に寄せ、安心しきっているように思えてなりません。「クラウドに移行すれば、運用は事業者側のプロフェッショナルに任せられる」「99.xxx%のサービスレベルが保証されているので安心できる」といったイメージ(幻想)が先行しているようです。

     もちろん、クラウド事業者が嘘をついているわけではありません。実際、IaaSやPaaSなどのサービスを提供している多くのクラウド事業者が、仮想化基盤ならではのVM(仮想マシン)の優れた可搬性を活かしたHA(High Availability:高可用性)機能のメニューを提供し、企業と交わしたSLAを厳重に守っています。

     ただし、SLAは確かに存在していても、それは個々のVMの可用性まで担保しているのか、それとももっと大きな単位(Availability Zoneなど)をまたいだ運用を前提としているのかなど、中身をしっかり確認する必要があります。単純に99.xxx%という数字だけを鵜呑みにはできないのです。

    responsible-area-for-ensuring-availability.
    OS、ミドルウェア、アプリケーションに対しては、ユーザーが必要に応じ、HAクラスタ等で可用性を担保する必要がある

     加えて考慮しなければならないのは、クラウド事業者と企業側のそれぞれが責任を負うべき「守備範囲の違い」です。クラウド事業者が責任を持ってくれるのは、ホストサーバーやネットワーク、ゲストOSのレイヤーで起こる障害までです。クラウドが提供するHA機能は、ゲストOSの応答を確認して死活状態を監視しますが、アプリケーションの障害までは検知することはできません。ホストサーバーやゲストOSはまったく問題なく正常に動作していても、その上に実装されたアプリケーションが何らかの原因によってフリーズしたり、異常な動きをしたりするケースはいくらでもあります。

     アプリケーションの不具合から操作ミスに至るまで、アプリケーション側に起因する多岐にわたる障害については企業側で責任を持ち、復旧を図る必要があります。

    HAクラスタ構成ならではのメリット

     では、こうしたアプリケーション側に起因する障害も想定した可用性を、どうすればクラウド環境で担保することができるでしょうか。

     オンプレミスで運用しているミッションクリティカルな基幹システムについては、ほとんどの場合、HAクラスタ構成を組んでいるでしょう。本番系のシステムに何らかの障害が発生した際に、待機系のシステムがフェイルオーバーしてアプリケーションの稼働を継続するというものです。

     このHAクラスタ構成をクラウド環境に持ち込んで重要なシステムに適用することが、最も現実的なソリューションになると考えられます。これまでオンプレミスで培ってきた運用ノウハウを、そのままクラウド環境でも活かせるからです。

     さらにクラウド環境にHAクラスタ構成を導入することで、標準またはオプションで提供されているHA機能を利用するよりも、はるかに大きなメリットを得ることができます。

     先にも述べたようにクラウド事業者が提供している多くのHA機能は、VMの可搬性を活かすことで可用性を実現しています。したがって、いざフェイルオーバーを行う際には移動先のホストサーバー上でゲストOSを再起動しなければならず、復旧までに数分を要する場合があります。

     これに対して「アクティブ―アクティブ」もしくは、それに準ずる待機系でも常時OSが立ち上がった状態である構成でHAクラスタ構成を組んでおけば、より短時間でフェイルオーバーを完了することができます。システムのダウンタイムが長引くほどビジネスの損失が膨らんでいくだけに、これは非常に重要なポイントとなります。

      古くからミッションクリティカルな基幹システムの可用性を支えてきたHAクラスタ構成ならでは、他の仕組みでは得られない実績と信頼をクラウド環境でもフルに活かし、堅牢なシステムを実現できるのです。

     次回は、Windows Server標準のフェイルオーバークラスタリング機能(WSFC)を使って可用性を担保しているシステムをクラウドに移行する場合について考察します。

    >> クラウドと可用性(2) – WSFCはクラウドに移行できない?を読む