クラウドで起きた障害事例と今日からできる3つの対策

様々な企業でクラウドサービスが利用されるようになっています。自前でサーバーを構築してシステムを利用するよりも、クラウドサービスを利用したほうが安全で利便性が高いと考えている人が増えているのでしょう。

ただ、ここで気になることはクラウドサービスを利用すれば本当に完璧なシステムが手に入るのかということです。

今回はクラウドサービスで起きた障害の事例と、私たちができる3つの対策を紹介します。

クラウド化するとシステム運用完璧!?利用の落とし穴とは

クラウド化すると完璧なシステムが手に入るとイメージされている方が多くいる印象があります。クラウドは信頼性が高いという認識そのものは、決して間違ったものではありません。

しかし、クラウドを利用すると完璧というわけでもありません。クラウドを利用することで落とし穴にはまってしまうこともあります。

クラウドでも障害が発生する可能性はある

一見完璧だと思われがちなクラウドですが、実は度々障害が発生しています。

確かに自前でデータセンターなどを用意するのと比較すると、クラウドを利用した方がシステムの安定性は期待できます。高い可用性がクラウドを利用するメリットであることは間違いありません。ただし、それでもクラウドは完璧な可用性を誇るものではありません。完璧な環境は世の中には存在しないと考えた方が良いでしょう。

クラウドを利用すれば完璧な環境やシステムが手に入るという理解は誤っています。クラウドでも何かしらの理由で停止してしまうことはあります。クラウド=完璧なサービスとの認識は改めなければなりません。

障害発生時の運用は考えられているか

クラウドで障害が発生した時の運用について、あらかじめ考えられているかどうかが重要です。万が一に備えた対策を用意しておかなければなりません。

どのような対策が正解であるのか、一概に表現することは不可能です。

システムの停止に備えて、紙運用で業務が進められるように準備しておかなければならないケースもあれば、バックアップシステムを利用して業務を進められるようにしておかなければならないケースもあります。

障害発生時の運用に正解はありません。企業としての方針などを踏まえて、どのような対策を実施するのかは変わってくるものなのです。重要なことは、障害発生時の運用を事前に検討し、その方法を事前に試しておくということです。何も検討されていない状態では、万が一クラウドで障害が起こった時にスムーズに対応できません。内容に関しては王道の答えというのも存在しませんので、検討して対応を決定しておく事に重きをおきましょう。

クラウドで発生した障害の確認方法

クラウドで発生した障害はどのように確認するとよいのでしょうか。基本的に障害は公式サイトなどで公表される仕組みです。それらの方法についてご説明します。

トラブルが起きたときに、自分の環境に問題があるのかクラウドに問題が起きたのかを判断するのにも役立ちますので、PCからだけではなく、スマートフォン等からも容易にアクセスできるようにしておくといいでしょう。

AWS(アマゾンウェブサービス)の場合

AWSのDashboardにアクセスすることで障害の有無が確認できます。障害が発生している場合にはアラートが表示される仕組みとなっていますので、このアラートが発生していると何かしらの障害が発生しています。ただ、どのような障害が発生しているのかは詳細を確認しなければ把握できません。自分の利用しているサービスには影響がない障害であることも考えられます。詳細から障害の状況と対応状況などを確認できますので、こちらを確認するようにしましょう。

Dashboardにアクセスできない障害が発生することもあります。その場合には、Service Health Dashboardへとアクセスをしてみましょう。これはAWSのアカウントを保有していなくとも障害が確認できるWebサイトです。自分が利用しているリージョンなどに絞って情報を提供してくれるものではありません。そのため、障害が発生しているのではないかと疑う場合には、自分で検索をして状況を確認しなければなりません。

Office365の場合

公式TwitterアカウントであるMicrosoft 365 Statusで障害の発生が確認できます。障害が発生するとそれらに関連する情報がツイートされますので、一次情報として受け取ることが可能です。また、Twitterの情報などを集約した二次情報であるDowndetectorもおすすめです。Twitterは文字が中心ですが、Downdetectorを利用すれば地図で視覚的に確認できます。

Azureの場合

Azureの公式サイトで公開されているステータスで障害の有無が確認できます。こちらも自分のアカウントなどと紐づいて情報が公開されているわけではありません。そのため、障害が疑われる場合には、自分で検索をして状況を確認しなければなりません。

また、Azure Service Healthにログインすることでも障害の状況を確認できます。公式サイトであればパブリックに情報提供されていますので、誰でも簡単に情報の取得が可能です。

実際に発生したクラウドの障害例

実際に発生したクラウドの障害例をご紹介します。これらの例を踏まえてみると、クラウドでも障害は発生していて必ずしも安心であるとは言い切れないことが理解できるでしょう。どのような障害が起こっているのかをご説明します。

2019年08月23日 Amazon Web Services(AWS)

データセンターの冷却設備が正常に作動しなかったことにより、サーバなどが高温になり強制的にシャットダウンしてしまったものです。シャットダウンしてしまいましたので、契約者はクラウドが利用不可になったことは言うまでもありません。

データセンターといえば温度管理などが厳密であるとの印象を持つ人は多いでしょう。徹底的に管理された環境にサーバが設置されていると考えているはずです。そのようなイメージがあるデータセンターですが、それでもこちらのように発熱による障害は発生してしまいます。

クラウドでもハードウェアの障害が発生してしまっては、対応のしようがないことも考えられます。クラウドだからハードウェアも完璧であるとは思えない障害の例です。

2018年04月06日 Azure

Active Directoryの不具合で、Azuruの認証系がダウンしてしまったものです。クラウドが完全に停止したわけではありませんが、認証系が利用できないことで多くのシステムに影響が出ました。

現在はADを利用して一元的に資格情報を管理するシステムが増えています。これを採用することで認証系など高いセキュリティが求められる部分を最小限に抑えられます。ただ、言い換えると一元管理されていることでADがダウンしてしまってはどこも認証できなくなってしまいます。こちらの障害ではAzuruに関連する多くの認証ができなくなりました。

認証系はシステムを利用する側も管理する側も大きな影響を与える部分です。そこに障害が発生してしまった例であり、ログイン手法などを考え直す機会ともなった障害です。

2017年03月01日 Amazon Web Services(AWS)

AWSを管理するエンジニアの作業ミスでデータが破損・消失・読みだせないなどの状況になってしまったものです。

クラウドに格納されている情報はバックアップが取得されていることが大半です。高い可用性がアピールされていて、データは消失しないと考えられていることでしょう。これは理論上は正しいことでありクラウドが嘘をついているわけではありません。

ただ、これは設計通りにシステムが動作している場合の理論的な話であり、今回のようにエンジニアが予想外の作業をしてしまうと前提が崩壊してしまいます。その結果、情報の消失に繋がっているのです。理論的には高い可用性を誇るクラウドも、人的ミスにより障害が発生しストレージの内容が消失する可能性はあります。

クラウドの障害に備えて私たちがとれる3つの対策

クラウドは障害が発生する可能性のあるものです。そのことを踏まえて、私たちは事前に対策を講じなければなりません。以下ではクラウドでも障害が発生するとの前提の元、どのような対策を講じれば良いのかをご紹介します。

常にバックアップを分散させて管理

バックアップは分散させて取得することが理想的です。

クラウドを利用していると提供されているサービスでバックアップが取れることがあります。このバックアップだけで満足している人も少なくありません。しかし、クラウドにトラブルがあるとバックアップごと利用できなくなるケースがあります。バックアップを取得している意味がなくなってしまいます。

そのような状況を避けるために、バックアップは分散して管理することが重要です。同じクラウドの環境下でバックアップを取得するのであれば、リージョンを分けるなどの対策が必要となります。このようなバックアップの手法はクラウドにて提供されているはずです。その指示に従ってバックアップを用意しておきましょう。

また、クラウド以外にバックアップを取ることも重要です。例えばローカルにデータを移してバックアップとすることが理想的です。クラウドとは全く違う環境にバックアップをすることで、万が一の備えとして大きな意味を持ちます。

バックアップは取っておけば良いというものではありません。バックアップ自体の消失も防がなければなりませんので、そのような観点から分散して所有することが重要です。

紙媒体での運用など緊急時の手順を確立

業種によっては必ずしもシステムで対応しなくてもよいことはあるでしょう。クラウド上のシステムで対応するほうが利便性は高いものの、紙媒体などで運用できるケースもあるはずです。

クラウドの障害発生に備えるのであれば、可能な限りクラウドを利用しなくとも業務が進められる運用を検討しておくべきです。また、検討した結果として緊急時の手順は確立されていなければなりません。

どのような手順が正解であるのかは言い切れないものです。業界や業種、会社の方針によって適切な答えは変わってきます。例えば紙の運用でよい場合もありますし、クラウドを利用せずにローカルでのシステム運用でよい場合もあるでしょう。障害が起きたらクライアントに謝るしかないという場合も考えられます。

重要なことは運用を確立しておくことです。この点を検討していなければクラウドの障害発生時にあたふたしてしまいます。そのようなことがないようにだけ注意しなければなりません。

障害を自分でも検知できるように用意する

クラウドの障害は上記でもご説明した通り、公式サイトやTwitterでアナウンスされることが基本です。障害が発生しているにも関わらず、何もアナウンスされないことは無いと考えてもよいでしょう。

ただ、障害がアナウンスされるのは障害が発生してすぐとは限りません。時間が経過してから障害がアナウンスされることもあります。そのため、可能な限り自分でも障害が検知できる仕組みを用意しておくことが理想的です。気づくまでの時間が長引いてしまうと、それだけ業務に影響が出てしまう可能性が高まります。

検知するための方法はクラウドの機能を利用する方法や外部のツールを利用する方法があります。これはクラウドの利用方法によって適切なものが左右されます。これが良いと一概に最適解は述べられません。ただ、同じクラウドの中で障害検知をすると、その仕組みも動かなくなる可能性があります。外部のツールなどを利用したほうが安心感は高まるでしょう。

クラウドも依存せず業務を分散させる考え方は必要

クラウドであれば完璧なシステムが手に入るわけではありません。何かしらのトラブルが発生してしまうことは十分に考えられます。それを踏まえた業務を検討しておくべきです。

業務をクラウドに移行すると、ここに依存してしまうのはやむを得ない部分もあります。クラウドの利便性などを踏まえると、業務を集約したくなることも多々あります。ただ、完全に依存してしまうと障害が発生した際に業務が進められません。

これに対する完璧な答えはありません。企業によって採用するべき対策は異なります。ただ共通して言えることは、一つのクラウドに依存するのではなく、業務を分散させる考えを持つことです。クラウドは完璧だと考えるのではなく、問題が起こる可能性があり何かしらの対策を打つことが求められていることを認識すればよいのです。