レポート・ライブラリ|株式会社アイ・ティ・アール

【R-219112_6963017877】IaaSで可用性を高めるためのポイント

作成者: 株式会社アイ・ティ・アール|Sep 20, 2023 4:17:04 PM

Amazon Web Servicesの大規模障害や過去の大手クラウドサービスで発生した障害を根拠に、企業のクラウド活用に警笛を鳴らす意見も聞かれる。しかし、クラウドよりもオンプレミスが優れていると早計に判断すべきではない。本稿では、クラウドでアプリケーションの可用性を高めるためのポイントについて解説する。

AWS大規模障害の概要

2019年8月23日、世界最大のクラウドサービスであるAmazon Web Services(以下、AWS)に大規模障害が発生した。AWS社が公開している障害の概要と原因についてのレポートによると、同日正午過ぎ(日本時間)から22時過ぎまで、AWS東京リージョンに属する、仮想サーバ・サービスであるEC2(Amazon Elastic Compute Cloud)用の複数のサーバが停止した。AWSは、世界各地のリージョンとアベイラビリティゾーン(以下、AZ)から構成されている。リージョンはそれぞれ、地理的に離れた領域を指し、AZはデータセンターに相当する概念で、1つのリージョンには複数のAZが存在する(図1)。例えば、AWS東京リージョンには本原稿執筆時点で3つのAZが存在する。

EC2用サーバが停止したことにより、同AZで稼働していたEC2インスタンスおよびEC2インスタンスと組み合わせて利用するストレージサービスであるEBS(Amazon Elastic Block Store)に障害が発生した。AWSを利用しているシステムの多くがEC2およびEBSを利用しているため、多くの企業システム、ECサイト、決済サービス、SNSなどが、約10時間にわたりアクセス不可やレスポンス低下などの被害にあった。AWS社によると、AZ用空調設備の管理システムの障害が原因となり、一部のサーバがオーバーヒートを起こし停止したとしている。

AWS社は当初、この障害は単一のAZの一部サーバの停止に起因するものであり、そのサーバに利用しているEC2インスタンスが稼働していた場合のみ、システム障害が発生したという見解を示していた。高可用性を求めるアプリケーションには複数AZで構成されるシステムアーキテクチャを採用すべきである、とAWS社は従来より主張しており、複数AZを利用したアプリケーションには影響はなかったとした。しかし、その3日後の8月28日には、複数AZで稼働していたアプリケーションでもApplication Load Balancer(以下、ALB)を利用しているアプリケーションの一部でシステム障害が発生したケースがあることを確認したと発表した。ALBとは特定のリージョンやAZと結びつかないサービスのひとつである。このようなサービスは他にも多く提供されており、サービスそのものが冗長化されているためAWSの利用者には可用性が高いと考えられていたが、今回そのようなサービスでも障害が発生したことになる。

図1.AWSにおけるリージョンとアベイラビリティゾーンの関係

出典:AWS社の情報に基づきITRが作成