【やさしく解説】AWS、19日からの大規模障害について謝罪し、再発防止策を発表

2024年10月19日から20日にかけて、Amazon Web Services(AWS)のバージニア北部リージョンで大規模な障害が発生しました。原因は、データベースサービス「DynamoDB」のDNS管理システムに潜んでいた設計上の欠陥。この障害により、EC2インスタンスが起動できない、ウェブサイトが表示されないなど、多くの企業やサービスに影響が出ました。AWSは10月22日に原因と再発防止策を発表し、利用者に謝罪しています。

今回の障害で何が起きたのか?

一般ユーザーへの影響

  • ECサイトで商品が購入できなくなった
  • スマホアプリが正常に動作しなくなった
  • 企業の業務システムが停止した
  • ウェブサイトの表示が遅い、またはエラーになった

影響時間:約14時間30分(10月19日23:48〜10月20日14:20 ※米太平洋時間)

なぜこの障害は起きたのか?

DNSとは? 〜インターネットの住所録〜

DNSは「Domain Name System(ドメインネームシステム)」の略で、インターネット上の住所録のような役割を果たします。私たちが「example.com」のようなウェブサイト名を入力すると、DNSがそれを実際のサーバーの場所(IPアドレス)に変換してくれるのです。

今回の障害では、このDNSの情報が誤って書き換えられてしまったため、DynamoDBというデータベースサービスに接続できなくなりました。

自動化システムの落とし穴

AWSは効率化のため、DNS設定を自動で管理するシステムを使っていました。しかし、このシステムに「競合状態」と呼ばれる設計上の欠陥が潜んでいたのです。

競合状態とは?
複数の処理が同時に実行されたときに、想定外の結果が生じる状態のこと。例えるなら、2人が同時に同じドアから入ろうとして衝突するような状況です。今回は、自動システムが誤ったDNS設定を適用してしまい、正しいサーバーにアクセスできなくなりました。

被害が拡大した理由

ドミノ倒しのように広がった影響

DynamoDBはAWSの基盤となるデータベースサービスで、多くの他のサービスがこれに依存していました。そのため、DynamoDBに接続できなくなると、連鎖的に以下のような問題が発生しました:

  • EC2インスタンス:新しいサーバーを起動できなくなった
  • Network Load Balancer:トラフィック分散システムのヘルスチェック(正常性確認)が失敗し、アクセス集中が発生
  • 各種アプリケーション:データの読み書きができず、エラーや動作停止

これは、主要な幹線道路が通行止めになったことで、周辺の道路まで大渋滞になるような状況でした。

専門家が指摘する3つの教訓

1. 自動化システムの検証不足(データ復旧技術者の視点)

自動化は便利ですが、設計ミスがあると大規模な障害につながります。今回のケースでは、自動DNS管理システムの競合状態が十分にテストされていませんでした。

対策:自動化システムの導入前に、あらゆる状況を想定したストレステストや、障害シナリオの徹底的な検証が必要です。

2. サービス間の依存関係の複雑さ(プログラミング講師の視点)

クラウドサービスは相互に依存しているため、一つのサービスの障害が広範囲に影響します。DynamoDBに依存するサービスが多すぎたことが、被害拡大の原因となりました。

対策:サービス間の結合を緩くし、一つのサービスが停止しても他への影響を最小限に抑える「疎結合アーキテクチャ」の設計が重要です。

3. DNSの重要性の再認識(Webエンジニアの視点)

DNSは普段意識されませんが、インターネットの根幹を支える極めて重要なインフラです。今回は、そのDNSの管理システムが障害の起点となりました。

対策:DNS管理の信頼性向上と、ロードバランサーなどの冗長化システムの動作検証強化が必要です。

AWSが発表した再発防止策

  • 自動DNS管理システムの競合状態を修正
  • DNS設定変更時の検証プロセスを強化
  • 障害検知と復旧時間の短縮
  • サービス間の依存関係を見直し、影響範囲を限定する設計に改善
  • ロードバランサーのヘルスチェック機能の改善

ユーザーと業界への影響

ビジネスへの深刻な打撃

約14時間30分にわたる障害により、AWSを利用する多くの企業が以下のような被害を受けました:

  • ECサイト運営企業:売上機会の損失、顧客からのクレーム対応
  • SaaS企業:サービス停止による信頼低下、SLA(サービス品質保証)違反
  • スタートアップ:ビジネスの停止、資金繰りへの影響
  • エンタープライズ:業務システムの停止、生産性の低下

クラウドサービスの信頼性は、現代のビジネスにとって生命線です。今回の障害は、「クラウドに全てを任せるリスク」を改めて浮き彫りにしました。

私たちができる対策は?

クラウド利用者としての備え

  • マルチクラウド戦略:AWS、Google Cloud、Microsoft Azureなど複数のクラウドを併用し、リスク分散を図る
  • マルチリージョン構成:異なる地域のデータセンターにシステムを分散配置する
  • バックアップの徹底:定期的なデータバックアップと復旧手順の確認
  • 監視体制の強化:障害を早期に検知し、影響を最小化する仕組みづくり
  • 事業継続計画(BCP):障害発生時の対応手順を事前に策定しておく

まとめ

2024年10月19日から20日にかけて発生したAWSの大規模障害は、自動DNS管理システムの設計上の欠陥が原因でした。DynamoDBへの接続障害が引き金となり、EC2やNetwork Load Balancerなど多くのサービスに連鎖的な影響が広がりました。

この事例が示すのは、自動化システムの徹底的な検証の重要性サービス間の依存関係を最小化する設計、そしてDNSなど基盤インフラの信頼性確保の必要性です。

クラウドサービスは便利で強力ですが、今回のような障害リスクは常に存在します。利用者側も、マルチクラウド戦略やバックアップ体制の整備など、自衛策を講じることが重要です。

AWSには、今回の教訓を活かし、より堅牢なインフラの構築が期待されています。

参考ニュース

タイトル: AWS、19日からの大規模障害について謝罪し、再発防止策を発表

出典: ITmedia

公開日: 2024年10月24日

この記事の専門家視点

  • データ復旧技術者: 自動化システムの検証不足が大規模障害につながった点を指摘。徹底的なストレステストと障害シナリオの検証が不可欠だと解説しています。
  • プログラミング講師: サービス間の複雑な依存関係が被害を拡大させた要因を分析。疎結合アーキテクチャの重要性を強調しています。
  • Webエンジニア: 普段意識されないDNSの重要性と、基盤インフラの信頼性確保の必要性を解説。ロードバランサーなどの冗長化システムの動作検証も重要だと述べています。