AWSでは4月に東京近郊にあるデータセンターで障害が発生し、広範なサービスに影響した
クラウドがまた落ちた。6月10日、米IBMのクラウドサービス「IBM Cloud」で障害が発生。この影響で、みずほ銀行や住信SBIネット銀行が提供する一部サービスが利用しづらい状況に陥った。
日本IBMによれば、障害の原因は「誤ったルート広告」の発生。データの固まりである「IPパケット」をどのような経路で送るかを決める経路情報に誤りがあり、それを伝播した結果としてネットワークの輻輳(ふくそう)が生じ、IBM Cloudを利用するインターネットのネットワークに障害を引き起こしたという。
クラウドのパワーの源泉は、そのリソースの膨大さにある。大量のサーバーやストレージを世界各地のデータセンターに配し、それらをネットワークでつないで従量制でユーザーに貸し出す。リソースの共有により、低価格を実現しながらスケールアウト(増強)やフェールオーバー(自動切り替え)といった機能を提供している。
一方でリソースの共有には、リソース不足や障害範囲の拡大といった懸念が潜在している。IBM Cloudの障害は、クラウドで得られるメリットが一定のリスクと背中合わせになっているのを改めて思い出させてくれる。
クラウドは今や、システム構築を考えるうえで欠かせない選択肢だ。新型コロナウイルスの影響でテレワークが浸透し、クラウド活用の推進にはさらに拍車がかかる。障害による停止や遅延といったリスクをはらむクラウドとどう付き合っていけばよいのだろう。
■「落ちることを前提に使ってほしい」
IBM Cloudに限らず、クラウドでは一定の割合で障害が発生する。最大手の米アマゾン・ウェブ・サービス(AWS)では、東京近郊にあるデータセンター「東京リージョン」で今年4月に障害が発生。広範なサービスに影響した。
クラウドの障害は大小を含めて枚挙にいとまがない。あるシステム開発会社では、クラウドを使いたいというユーザーの要望に対して「クラウドは落ちることを前提に使ってほしい」と必ず説明するという。クラウドの信頼性や可用性に対して過度の期待を持つユーザーもあるからだ。
クラウドはどれぐらい落ちるのだろう。これを知らずに利用に踏み切るわけにはいかない。手掛かりになるのがクラウドの「サービス品質保証(SLA)」である。
多くのクラウド事業者は提供するサービスについて、稼働率でSLAを示している。SLAといっても稼働率を保証するものではなく、努力目標とでもいうべき数字であり、未達の場合はサービスクレジットなどで返金する場合もある。
例えば、AWSの仮想マシンサービス「Amazon EC2」単体のSLAとして設定された稼働率は90%である。ただし、複数のアベイラビリティーゾーン(独立性の高いデータセンター群、AZ)にまたがってクラスター構成で用いるのが常識であり、その場合の稼働率は99.99%である。
稼働率99.99%とは、月間(30.5日)の停止時間で4分24秒、年間の停止時間で52分に相当する。しかも、この停止時間は連続するとは限らず、必ず発生するわけでもない。このレベルの稼働率が望めるなら、かなりのシステムをクラウドに移行できるように思える。
クラウドの利用が企業システムに広がるなか、オンプレミス(自社所有)環境にある既存システムをクラウドに移行するユーザーも増えている。移行に当たって考えたいのが、「既存システムに適切なサービスレベルを設定しているかどうか」である。
■「稼働率100%」は過剰投資に
システムが止まる原因は様々ある。ハードウエア障害、更改したアプリのバグ、ネットワーク障害、リソース逼迫、運用ミスなど脅威は尽きない。オンプレミス環境でシステムを預かるIT(情報技術)部門は日々安定稼働に努めている。
この場合のSLAはユーザー部門や業務部門と、IT部門のサービスレベルの取り決めだ。本来は、両者で許容停止時間を合意し「顧客向けサイトは99.99%が譲れない」「社内ツールは代替手段があるので99%程度で十分」というようにシステムやサービスごとに定める。
ところが、こうしたプロセスを省略した結果、特にユーザーや業務部門の力が強い場合は「全システムで稼働率100%」が暗黙の目標になってしまいがちだ。これをSLAと呼ぶわけにはいかない。
では、実際の運用はどうなるのか。一般にIT部門は「システム運用報告書」を作成し、1カ月に1回といった割合で、関係部門に説明する。報告書には当該期間に発生した障害や原因、業務への影響なども記載してある。当然、障害によって停止した時間も示される。ところがSLAがない状況ではその数字を評価できず、「少しでも稼働率100%に近づけるように頑張りましょう」と締めるのが関の山だ。
稼働率を上げるための頑張りの中身にも注意が必要である。不足を恐れてネットワーク帯域をやたらに広げたり、やみくもにバックアップ用サーバーの数を増やしたりと、コスト度外視に陥る危険があるからだ。サービスレベルの取り決めがなければ、稼働率100%を目指すための投資は押しなべて善となる。オーバースペックは避けがたい。
クラウドはまた落ちる。でも知恵を絞れば、業務やサービスに影響を与えづらいシステムを組んで備えられる。クラウドは稼働率とコストをユーザーがバランスさせやすい新タイプのインフラといえる。オンプレミス環境との比較も大切とはいえ、インフラの新常態ととらえて活用を探る方が果実は得やすいと思うが、どうだろう。