AWSの障害によってWebサイトにアクセス出来ないなどの情報がインターネットを度々賑わせており、導入を躊躇しているエンジニアや企業担当者も多いのではないでしょうか。
本記事では、AWSで起きた障害の事例と対策方法、障害をいち早く検知するべくチェックすべきサービスについてもご紹介していきます。
目次
AWS障害の事例
AWSで起きた障害の中で、記事執筆時点(2021年7月時点)直近の代表例を3つご紹介していきます。
2021年2月20日の東京リージョン障害
直近の例では、2021年2月20日に東京近郊のAWSデータセンター(apne1-az1)で起きた大規模障害が挙げられます。
気象庁のWebサイトや暗号通貨取引所コインチェックなどのサービスが利用出来なくなったことで話題となりました。
サーバーの冷却システムに不具合が発生したことが原因で、ほとんどのEC2インスタンスが回復するまでに約5時間程度の時間が掛かる障害でした。
2020年11月25日のバージニア北部リージョン障害
2020年11月25日には、アメリカのバージニア北部US-EAST-1リージョンで大規模な障害が発生しました。
Kinesisサーバーのフロントエンドフリートに小規模な容量追加を行ったことがきっかけとなり障害が発生したそうです。
ただ根本的な原因は他にあったようで、フロントエンドフリートに属するサーバーのスレッド数が、OSの設定で許容されている最大値を超えてしまったのが要因でした。
2019年8月23日の東京リージョン障害
2019年8月23日にも、東京リージョンのデータセンターで大規模障害が発生しました。
こちらもサーバーの冷却システムに問題が発生したことにより、EC2をはじめとしたAWSの各種サービスにパフォーマンスが劣化する問題が起こりました。
この障害では、大手ショッピングサイトやキャッシュサービスのサイトに影響が出るなど、様々なWebサイトでサービス停止となってしまうなど影響の出た事例です。
AWS障害をいち早く検知するためのサービス
AWS障害をいち早く検知するために利用したいサービスについても確認しておきましょう。
サービスヘルスダッシュボード
AWSの公式が提供している「AWS サービスヘルスダッシュボード」を確認してみましょう。
Amazonが公式で発表している情報ですので、第一次情報として確認しておくべきです。
リージョンだけでなく、各サービスごとの稼働状況が掲載されているので、不具合かなと感じたらまず確認してみることをおすすめします。
AWSの障害情報を確認するには、Twitterも強力な情報源となります。
AWS障害などで検索を掛けることも有効ですし、下記のようなアカウントをフォローしておくことでいち早く情報を掴むことが可能です。
- AWS公式
- AWS障害情報(全リージョン)※非公式
- AWS障害情報(東京リージョン関連のみ)※非公式
Downdetector
Downdetectorは、様々なWebサービスの障害情報を確認出来るサービスです。
非公式ではありますが、AWSはもちろんGoogleやTwitter・Youtubeなどの稼働停止情報が確認出来るので、何かの障害かなと感じたら検索して利用してみましょう。
AWS障害への対策
AWS障害への対応は、事前にある程度対策を実施しておくことが重要です。
障害が起こった際に、どうすれば良いのかをあらかじめ想定して事前に準備を進めておきましょう。
リスク分散の設計
AWSでは世界各地にリージョンと呼ばれるデータセンターが配備されているため、複数のリージョンにリソースを分散させることが事前に出来る障害対策の1つです。
障害事例でも確認出来たように、ある1つのリージョンだけで起きている障害というのは少なくありません。
障害が起きたリージョンにしかリソースを配備していなければ、即システムダウンにも繋がりますが、複数のリージョンへ分散させておくことでシステムダウンのリスクを回避させることが出来ます。
監視体制を構築
AWSでは「Amazon CloudWatch」のサービスを利用することで、AWS上に構築したシステムのログ情報をはじめ、イベント情報などを監視することが可能です。
また監視だけにとどまらず、異常が発生した場合にはアラートをメールで通知するなどの処理も自動で実行させるように設定することが出来ます。
他にも任意のアクションを自動で開始するよう事前に設定することが出来たり、障害が起きる前に監視体制を整えておくことで、障害復旧を迅速に行うことが可能となります。
復旧手順の事前準備
AWSの障害は様々なケースが考えられるため、普及手順を完璧に準備することは出来ませんが、障害が起きた場合にどのような手順で対処するのかを事前に決めておくことは大切です。
CloudWatchのように、AWS上で提供されている自動復旧機能を活用するのはもちろん、社内での連絡体制なども含めて事前に準備を進めた上で、リハーサルまできっちりと行い問題が発生した場合でも最善の対応が取れるよう調整しておきましょう。
AWS障害情報が出ていない場合の対処法
AWS障害情報が出ていないけれども、何らかの理由によりご自身の環境からAWSコンソールに接続出来ないことも考えられます。
原因不明のエラーにより、AWSに接続出来ない場合は下記の方法を一度お試しください。
キャッシュとクッキーのクリア
ブラウザのキャッシュとクッキーが以前AWSにアクセスした情報を保持していることにより、正常にアクセス出来ないケースが考えられます。
一度ご利用のブラウザのキャッシュとクッキーをクリアした上で、再度AWSコンソールにアクセスしてみてください。
意外と解決することの多い問題の1つです。
別のブラウザ・端末からの接続確認
キャッシュとクッキーをクリアしても接続出来ない場合には、別のブラウザや端末からの接続も試してみましょう。
端末が他にない場合には、再起動して接続を確認してみるのも試してみてください。
まずはAWSコンソール自体に問題がありそうか、端末に問題がありそうか、ネットワークに問題がありそうかなど原因を切り分けていく作業が大切です。
ドメインブロックの確認
企業でAWSを利用している場合、システム管理者がネットワークで「amazon.com」や「aws.amazon.com」のドメインをブロックしてしまっているケースも考慮しておきましょう。
もしブロックされている場合、システム管理者に連絡してドメインブロックを解除して貰う必要があります。
企業ではセキュリティの関係上、不要なWebサイトにアクセス出来ないように設定しているケースも多いため、新たにAWSの利用を検討しているケースではドメインブロックされてしまっている可能性も考えられますので要チェックです。
さいごに: AWSの障害情報検知体制を整えて適切な対応が出来るよう準備しよう
本記事では、AWSの障害情報について、過去の事例から対策方法までご紹介してきました。
AWSのサービスをお金を払って利用していると言っても、障害が起こらない保証はありません。
AWSで障害が起きた場合でもシステムダウンに繋がらないように、システムを運用する側としても事前に障害情報の検知体制を整えた上で適切な対応が出来るように準備しておきましょう。