Amazon Web Services(AWS)で太平洋標準時12月7日午前7時30分に発生した大規模障害は、5時間にわたって続き、US-EAST-1リージョンで一部アプリケーションインターフェースを使用している顧客がその影響を受けた。AWSほどの大規模なパブリッククラウドの機能が5時間も停止するのは、極めて重大なインシデントだと言っていいだろう。
AWSの説明によれば、障害が発生した原因は、同社の「基盤サービス」(アプリケーションやサービスの監視、AWS内部のDNS、認証、「Elastic Cloud 2(EC2)」ネットワークのコントロールプレーンの一部など)をホストしている内部ネットワークの不具合だったという。
AWSの内部ネットワークは、同社のほとんどの顧客が自社のコンテンツサービスを提供するために接続しているメインネットワークを支えている。通常は、メインネットワークがリソースの需要の急増に対応するためにスケールアップすると、それに合わせて内部ネットワークもスケールアップするようになっており、2つのネットワークを繋いでいるネットワークのアドレス変換を処理するネットワーク機器がそれを仲介している。
しかし、7日のインシデントでは、ネットワークをまたいだスケールアップがうまくいかず、両ネットワークを接続する機器が過負荷になったことで、いくつかの顧客向けのサービスに深刻な影響が発生したという。
AWSの事後報告では、「太平洋時間午前7時30分に、AWSのメインネットワークにホストされているAWSサービスの1つで起こった容量を自動拡張するアクティビティーが、内部ネットワーク内の多数のクライアントで予想外の動作を発生させた」と述べている。
「これによって接続アクティビティーが急増し、内部ネットワークとAWSのメインネットワークを接続するネットワークデバイスが過負荷になったため、ネットワークの間の通信に遅延が発生した」
この遅延によって、これらのネットワーク間での通信を必要とする基盤サービスに遅延やエラーが発生し、接続の開始や再接続がさらに増加して、最終的に2つのネットワークを繋ぐデバイスに「継続的な輻輳とパフォーマンスの問題」が起きた。
AWSによれば、この問題はAWSのメインネットワークに影響を与えなかったため、顧客のワークロードが直接的に影響を受けることはなかった。その一方で、AWSの内部ネットワークに依存しているAWSのサービスが影響を受けたため、それらのサービスを利用している顧客に影響が及んだ。
内部ネットワークの不具合から波及した問題は、コンピュートインスタンスやコンテナ、コンテンツ配信サービス、データベース、仮想化デスクトップ、ネットワーク最適化ツールなど、顧客に提供されているAWSの多数のサービスに深刻な影響を及ぼすことになった。
また、7日のインシデントには、2020年の同時期に発生した大規模障害との共通点が1つあった。それは、ネットワークの輻輳によって「AWS Service Health Dashboard」の機能が損なわれ、顧客がインシデントに関する情報を速やかに受け取れなかったことだ。
AWSはこれを受けて、2022年の早い時期にService Health Dashboardの新しいバージョンを公開する予定だと述べた。新バージョンは、顧客とのコミュニケーションに遅延が発生することがないように、複数のリージョンにまたがって動作するものになるという。
この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。