ライフワーク

Amazon Web Serviceから見るAWS障害

複数のゲームアプリがメンテナンス中だった時この言葉にたどり着く人が多いのがこの

AWS障害という言葉、そもそもAWSはAmazonのクラウドサービスです。

Amazonというとネット通販のイメージですが、実は世界最大のクラウドサービスの企業で

もあるわけです。

そのため世界中のあらゆる企業がAmazonのAWSを使って業務を行っているわけですが、

AWSに障害が発生したため、それを使ってた企業のサービスが軒並みダウンする事がある

のです。

日本のクラウドサービスで5割近いシェアを持つAWS

8月23日に起きた東京リージョンでの障害は、国内のさまざまなサービスに影響を及ぼした

AWSが同日午後8時ごろに復旧するまで、モバイル決済サービス「PayPay」や、仮想通貨取引所「Zaif」、オンラインゲーム「アズールレーン」などで利用できない、もしくは利用しづらい状況が続いた。

PCショップの「ドスパラ」はECサイトの不具合が長引き、翌日の24日には実店舗を臨時休業して対応に当たっていた。

AWSという1つのサービス障害が起きただけで、多くの企業やサービスに影響を及ぼしたため、「クラウドサービスはもろい」という論調も散見された。

こういった中で考えるのは必要なのは「どのサービスは落ちてはいけないのか」の判断だ。

機器の故障にしろ設定のトラブルにしろ、障害を全くゼロにするのは無理なわけで、大切なのはそれにどう対処するのかということ。

AWSのように特定のクラウド事業者に頼るのは問題がある、という論調もわかる。

しかし、単純に「クラウドに頼らない」「複数のクラウド事業者を使うようにシステムを構成する」形でいいのだろうか。

今回のAWS障害についてAWS社の説明では、制御系の異常で冷却システムがうまく動作せず、サーバが過熱し、障害に陥ったのが理由だという。

AWS社は、これによりEC2インスタンスとEBSボリューム、RDSに影響が出たと公表しているが、エンジニアの方々に聞くと他のAWSサービスでもエラーが出ていたことから、過熱したサーバに割り当てられていた複数のサービスに影響があったと考えられる。

そもそも、クラウド事業者に頼らずオンプレミスなシステムにしたからといって、クラウド事業者以上の安定性を維持できるとは限らない。

今回のような大規模障害は年に1度もないからだ。そして、ほんの半日程度で回復している。

設備の入った建物のメンテナンスがあろうが、周辺の通信設備や電力設備にメンテナンスがあろうが、その影響も受けずにサービスを提供するには、それなりの備え必ずあるからだ。

Amazonの小売り関係のサイトは、すべてAWS上で動いている

AWSサービスは全世界で18の地域に提供され、クラウドサービスのジャンルで世界シェアは30%以上で世界第1位(2018年時点)。2位のMicrosoft Azureを大きく引き離す。

AWSは優秀でコスパもよく、多くのWebサービスやゲームがAWSで動いている。

AWSのサイトを見ると、クラウドストレージや仮想サーバー、データベース、監視システム、IoTや人工知能・機械学習など、サービスは多岐にわたる。

AWSは2011年に日本でデータセンターを開設して以降、国内での顧客を増やし、現在、数十万件の契約がある。

「サービス事業者を分散して」といっても、これだけのシェア率を誇るAWSシステム構築と運営には追加のコストが発生する。

単一の事業者で構築するのにくらべ、システムの複雑化は避けられないだろう。

大切なのは「どのサービスは落ちてはいけないのか」の判断だと思う

世の中には、絶対に落ちては困るサービスがある。消えては困るデータもある。

8月23日の例からすると、空調設備の管理システムに障害が発生し、一定数のサーバーがオーバーヒートで停止した。

冷却装置は15時21分に復旧。18時30分には大部分のサーバーが復旧したが、一部、回復に時間がかかったものもあった。

すべてが復旧したのは22時過ぎ、障害は約9時間半にわたった。

一方で、費用対効果を考えると、数年に一度あるかないかの大規模障害に備える必然性はない、というサービスもあるはずだ。

決済サービスとゲームで同じレベルで考えるのはナンセンス、一般論でいって過剰だ。

また同じサービスの中でも、課金やデータの保持に関わる部分と、告知に関わる部分、クーポンなどの提供に関わる部分とでは、必要な稼働率も異なるはずだ。

AWSだけでなく、多くのクラウドサービスは常に「絶対に落ちないサービス」を目指している。

しかし、世界シェア1位のAWSでさえ、過去に何度も大規模な障害を起こしている。

トップレベルのサービスを提供する企業であっても、「絶対落ちない」という保証は出来ないのである。

そもそも機械なので当たり前

機器には、温度・湿度を始めとした「稼働を保証する環境」があります。

それが損なわれたら止まるのは当たり前。

クラウドサービスだって手の届かない場所にデータがあるわけじゃなく機器で動いてるんですから、稼働保証環境が損なわれれば止まるのは当然のことです。

問題はその「当たり前」を認識していないクラウドサービスユーザーが多数いたことです。

個人的には「クラウド」と言う用語がいけないんじゃないかと思っています。

何かもやもやとして、叩いても壊れないようなイメージが生じてしまうんではないかと(笑)

「クラウドは壊れない」「クラウドは止まらない」と勝手に思い込んでる人が大勢いるような印象があります。

「クラウド」は簡単に言ってしまえば【サーバ室の業務委託】みたいなものです。

人員が自社に来るのではなく、どこか一か所に纏めているだけで。その感覚でクラウド利用のインフラを設計しないと、今回のようなトラブルに巻き込まれることになります。

クラウドを使うか使わないか、クラウドを使うとしてマルチリージョンやマルチAZなどの対策をどう使うかは、まさにシステム構築のポリシーとビジネス設計に関わる部分だ。

そこを均質に語るのは現実的ではないし、そうすべきでもないと思う。

むしろ今回の件で注目すべきは、「落ちるべきではないサービスも障害で落ちている」点である。

決済系や認証系サービスは、そうしたものの中に含まれるのではないか。

落ちるとしても、「なぜ落ちているかをユーザーが理解できる」「重要性の低い部分は落ちているがコアな認証や支払いなどは落ちづらい」という認識が必要になる。

個人サイトやゲームサイトなど、少しくらいシステムが停止しても、<お詫び>や<アイテムの補償>で済んでしまうサイトであれば別にそれでも構わないでしょう。

サービスが止まるリスクとコストを天秤にかけて、止まったとしても何とかなるとの経営判断をしてもおかしくありません。

このように注目して欲しいのは、止まったサービスもあれば止まらなかったサービスもある、ということです。

今回のような事態も想定して、複数アベイラビリティゾーン、或いは複数リージョンにちゃんと対応していたサービスもあったことです。