AWS大規模障害の概要
Amazonは、今週月曜日に発生した大規模なAWS(Amazon Web Services)障害の原因が、主要なDNS障害であったことを発表しました。このインシデントは、米国東部(バージニア北部)のUS-EAST-1リージョンにある重要なデータセンターに影響を与え、世界中のユーザーに14時間以上にわたって影響を及ぼしました。
この障害により、Amazon、Prime Video、Fortnite、Perplexityなど、多くのウェブサイトやオンラインサービスがダウンしました。
障害の根本原因
木曜日に公開された事後分析レポートによると、この問題の根本原因は、DynamoDBのDNS管理システムにおける潜在的な競合状態(race condition)でした。
具体的には、ユーザーリクエストを健全なサーバーにルーティングする方法を制御するDNS管理システム内で、DynamoDBのリージョンエンドポイント(dynamodb.us-east-1.amazonaws.com)の誤った空のDNSレコードが生成され、自動修復が失敗したとされています。
この問題は太平洋標準時午後11時48分に発生し、US-EAST-1リージョンのDynamoDBサービスにパブリックエンドポイント経由で接続する必要があるすべてのシステムが、直ちにDNS障害を経験し、DynamoDBへの接続に失敗しました。これには、顧客のトラフィックだけでなく、DynamoDBに依存するAWS内部サービスからのトラフィックも含まれていました。
広範囲にわたる影響と手動介入
DynamoDBの障害は、AWSインフラ全体に連鎖的な問題を引き起こしました。DynamoDBのDNSシステムは一貫性のない状態に陥り、自動復旧では修正できない状況となり、最終的にはオペレーターによる手動介入が必要となりました。
Amazonの対応と今後の対策
Amazonは、このバグのあるDNS自動化システムをグローバルに無効化しました。
また、同様の問題を回避するための措置として、保護チェックの追加、スロットリングメカニズムの改善、および将来のバグ検出に役立つ追加のテストスイートの構築を実施したと述べています。
Amazonは、「このイベントがお客様に与えた影響についてお詫び申し上げます。当社は最高レベルの可用性でサービスを運用してきた実績がありますが、お客様、そのアプリケーション、エンドユーザー、そしてビジネスにとって当社のサービスがいかに重要であるかを理解しています」とコメントしました。
さらに、「このイベントが多くの顧客に大きな影響を与えたことを認識しています。このイベントから学び、可用性をさらに向上させるために全力を尽くします」と付け加えました。
