「AWS で障害が発生したらどうすべきなのだろう?」
「過去に発生した AWS の障害事例を知りたい」
「AWS の障害発生の影響や備えることを把握しておきたい」
このようにお考えの方へ、本記事では AWS に障害が発生したら何をすべきなのか、過去に発生した事例と、障害が発生することで考えられる影響、備えるべきことについて紹介します。
目次
- AWS で障害発生するのか?
- AWSで過去発生した障害の種類と影響
- AWSの障害で発生し得る影響
- AWSの障害発生に備えてすべきこと
- まとめ
「Webサイトからお問い合わせが来ない…」とお悩みの方必見!
当サイトのノウハウを詰め込んだ『Web集客の無料ガイド』をご提供
詳細はこちら
AWS で障害発生するのか?
まずは、AWS で障害発生するのかについて説明します。
AWS は200以上もの多くのサービスを提供しており、世界各地で利用されているクラウドサービスです。安定稼働のために十分な対策も多くなされています。しかし、何かしらの障害が発生する可能性もあります。
例えば、2015年にバージニア北部リージョンでネットワーク障害が起因になった大規模障害が発生し、大きな影響を及ぼしました。また、2019年には、東京リージョンで冷却システムが故障、サーバーが加熱して障害が発生しました。
AWS は世界中のどこにいても均一なサービスを提供するために、各地域をリージョンという物理的なロケーションに分割して、サービスを提供しています。日本には、東京リージョンと大阪リージョンがあり、そこで障害が発生するとそのリージョンを利用しているユーザーが影響を受けてしまいます。
AWS は障害が発生する可能性があります。障害が発生することを前提に、システム設計をして、障害発生時に備えられるように準備しておく必要があります。
AWSで過去発生した障害の種類と影響
AWS で過去に発生した障害として、ここでは2021年に発生した以下2つの事例を紹介します。
- 冷却システムの障害(2021年2月)
- ネットワークの接続機器の故障(2021年9月)
冷却システムの障害(2021年度2月)
2021年2月に AWS の東京リージョン(前述した、サービス提供地域で物理のロケーションを分割した単位)で障害が発生しました。
障害が発生した原因は、東京リージョンに設置してある AWS 本体サーバーの冷却システムへの電力供給が正しく行われなくなったことから、サーバールームの1区画の温度が上昇する、というものでした。そもそもサーバーは熱を持っているため、常に冷やさないと部品が壊れてしまいます。
この障害により、Amazon Elastic Compute Cloud ( EC2 ) の一部インスタンスの電源が落ち、EC2 で利用できるストレージの一部でパフォーマンスの低下が発生しました。
日本のサービスへの影響としては、「オンラインを通じたゲームの一部動作が遅く、利用しづらかった」「気象庁の公式サイトへのアクセスが一時的にできなくなった」などがあります。
これにより、各企業はメンテナンス対応やバックアップのシステムに切り替えるなど、対応に追われました。
障害発生から5時間後には大部分が復旧したとAWS から発表されましたが、一部についてはさらに時間がかかっているものもあるようです。
ネットワークの接続機器の故障(2021年9月)
2021年9月に、サービス利用者と東京リージョンのAWSのデータセンターを結ぶ、ネットワークの接続機器のプロトコル(各機器でデータをやりとりするための規約のこと)処理に潜在的なバグがあったことから、ネットワーク障害が発生しました。
この障害で、日本の大手銀行や携帯電話会社・金融機関・通信会社・航空会社のシステムに不具合が生じるなど、日本が提供する社会サービスが影響を受けてしまい、大きな問題となりました。
障害発生後から6時間程度で復旧されましたが、「空港でシステムに障害が発生し、チェックインできなくなった」「コンテンツ配信サービスが利用しにくくなった」、「データの更新に普段よりも時間がかかった」、「サイトの一部にアクセスしにくかった」、「スマホ決済で入金しにくかった」などという影響がありました。
AWSの障害で発生し得る影響
AWS で発生し得る障害は、考えられるだけでも非常に数が多く、全てを把握することは難しいでしょう。
ここでは一部の例として、AWS の障害で発生し得る主な影響を3つ紹介します。
- サービスが利用できない
- データを参照できない
- パフォーマンスが低下する
サービスが利用できない
影響の1つ目は、サービスが利用できないことです。
AWS に障害が発生すると、インスタンス(仮想 OS のこと)が停止する可能性があります。インスタンスが停止すると、サービスそのものが稼働できなくなり、システム管理者がサーバーにログインできない状態となります。
そのため、利用ユーザーにも、Web サイトを表示できない・アクセスできない・スマホ決済を利用できないなど、大きな影響を及ぼします。
データを参照できない
影響の2つ目は、データを参照できないことです。
サービス自体は稼働して一見問題がないように見えても、サービスが利用しているデータベースサーバーに影響があると、そのことが原因でデータを参照できなくなる、という問題が生じる可能性があります。
例えば、Web サイトにアクセスしてページを表示することやログインできるものの、自分のアカウント情報を見ることができない、などがあります。
パフォーマンスが低下する
影響の3つ目は、パフォーマンスが低下することです。
サービスは稼働していますが、Web サイトの画面遷移時間が遅い・スマホ決済の処理が遅いなど、行う動作がパフォーマンスの低下により遅くなることが挙げられます。主な原因としてネットワーク障害などが挙げられますが。Web サイトを利用しているシステムへの影響として、ページを読み込むのに時間がかかる・ボタンを押してからの待機時間が長い・時にはタイムアウトしてなかなか申し込みができないなど、利用者はイライラしてしまいます。
AWSの障害発生に備えてすべきこと
AWSの障害はさまざまなケースが考えられるため、全てに対応することは難しいでしょう。
また、AWS に障害が発生した場合、対応が求められるのが AWS 側であり、利用者である私たちは、復旧するのを待つことになると思われます。
しかし、全く何もできないというわけではありません。AWS に障害が発生した場合に備えることもできます。
ここでは備えの例として、以下4つを紹介します。
- 障害発生を前提とした設計
- Multi-AZ運用やマルチリージョン運用
- 障害発生に備えた体制整備
- 障害発生試験の実施
障害発生を前提とした設計
すべきことの1つ目は、障害発生を前提とした設計です。
AWS にいつ障害発生してもおかしくない、という考えで設計していきます。大規模な障害が起きると、自社が利用している AWS 環境が停止することも十分に考えられます。また、AWS 側の急なメンテナンス等により、一部のサービスで意図しない強制再起動もあるかもしれません。
そのような障害が発生しても影響範囲が少ないように、システムの稼働を継続できる、バックアップシステムにすぐに切り替えられるような構成や、あらかじめ障害を見据えて設計することが必要です。具体的な例として、故障時には自動的に修正するような仕組みを取り入れること、システム監視して異常を検知した場合に他のシステムなどを選択して運用を継続するような仕組みなどが必要になるでしょう。
Multi-AZ運用やマルチリージョン運用
すべきことの2つ目は、Multi-AZ 運用やマルチリージョン運用の検討です。
Muti-AZ とは、障害発生時のリスク回避のために、利用する AWS の環境を分散し、サービスの停止を避け、早期復旧を目指す運用です。
AZ とは Availability Zone の略称で、1つのリージョンの中の区分けのことです。AZは複数のデータセンターで構成されており、同じリージョン内でも互いに独立しており、停電等の障害が発生しても他のAZに影響がないよう設計されています。その為、Muti-AZ 構成にて冗長化を図ることが可能です。
マルチリージョン運用とは、東京リージョンと大阪リージョンなど複数リージョンをまたいだ運用のことを指します。
物理的に距離がある場所での運用をすることになる為、広域災害への対応や可用性の向上が見込めます。また、AWS の障害は、過去の事例からデータセンターの区画単位で起きているものもあり、そういった場合への対策としてマルチリージョン運用が効果的と考えられます。しかしながら、コストや運用負荷が上がる部分もあり、どの構成が最適化については、導入前に比較検討が必要になるでしょう。
障害発生に備えた体制整備
すべきことの3つ目は、障害に備えた体制整備です。
日頃から AWS の障害発生に備えた社内の監視体制・復旧体制を整える必要があります。例えば、障害発生を検知した際に、ソフトウェアやデータベースなど、それぞれの問い合わせ先を定めておく必要があります。また、障害対応フローを作成して、障害発生したら誰がどのような順序で何をすべきなのかを洗い出しておくことも大切です。
障害発生時に備えて復旧の方針や道筋を立てておくこと、そして運用開始した後でも、組織変更等に合わせて、体制や対応フローに問題がないかを改めて確認し、更新し続けることが重要です。
障害発生試験の実施
すべきことの4つ目は、障害発生試験の実施です。
障害発生を想定したシミュレーションを実施していくことが、実際に障害が起きた時に何をすべきなのかを身を持って知ることができ、おすすめです。
AWSが提供している AWS Fault Injection Simulator というサービスは、クラウド障害のシミュレーションを行えるため、障害発生によってどのような影響が起こり得るのか、障害を想定した復旧リハーサルができます。
まとめ
AWS で障害が発生すると、突然サービスを使えなくなる・パフォーマンスが低下するなど、サービス利用に大きな影響を及ぼす可能性があります。
そのような事態の備えとして Multi-AZ 運用による冗長化や、マルチリージョンでの運用、障害発生シミュレーションなどがあります。これらを取り入れてみてはいかがでしょうか。