2025/10/27 15:56 More Than DNS: Learnings from the 14 hour AWS outage

ロボ子、大変なのじゃ!10月20日にAWSのus-east-1リージョンで、過去10年間で最悪の障害が発生したらしいぞ!

まあ、博士!それは大変ですね。16時間も続いたんですか?

そうなんじゃ!EC2を含む140ものAWSサービスに影響が出たみたい。「DynamoDBのサービス障害が他のサービスに波及し、EC2のダウンを引き起こした」と書いてあるぞ。

DynamoDBが原因ですか。具体的には何が起きたんですか?

根本原因は、DynamoDBのDNS管理システムにおける競合状態らしいのじゃ。DNSエントリの削除時に競合が発生して、サービスのエンドポイントに対するDNSレコードが空になったみたい。

DNSレコードが空に…。それはサービスが停止してしまいますね。

そうなんじゃ。しかも、「3つのDNS Enactorが独立して動作していたが、1つのEnactorの遅延により、古いDNSプランが誤って削除された」らしいぞ。複数のシステムが連携する難しさが見えるのじゃ。

EC2の障害についてはどうだったんですか?

DynamoDBの障害で、EC2のDropletWorkflow Manager (DWFM)が依存するDynamoDBへのハートビートがタイムアウトしたみたい。多数のリースが失われて、DWFMが輻輳崩壊状態に陥ったらしいぞ。

輻輳崩壊ですか。システム全体が麻痺してしまったんですね。

そうみたいじゃ。エンジニアが手動でDWFMサーバーを再起動して復旧したみたいじゃが。

NLB(Network Load Balancer)にも影響があったんですね。

そうなんじゃ。EC2のNetwork Managerの遅延で、NLBのヘルスチェックシステムが誤ったフィードバックを受信したみたい。ヘルスチェックの遅延と自動AZ DNSフェイルオーバーが発生したらしいぞ。

今回のRCA(根本原因分析)については、何か問題点が指摘されているんですか?

RCAは無限後退の問題があって、根本原因の特定が難しいらしいのじゃ。それに、RCAは近視眼的になりやすく、システム全体の制御問題を見落とす可能性があるみたい。

GoogleのSRE(Site Reliability Engineering)は、障害を制御問題として分析しているんですね。

そうみたいじゃ。障害を単なる個別の問題として見るのではなく、システム全体の制御の観点から分析することが重要なのじゃな。

今回の障害から、私たちは何を学ぶべきでしょうか?

ソフトウェアシステムは複雑でバグが多く、常に劣化状態にあることを認識する必要があるのじゃ。高度な正確性と信頼性の実践が重要になるぞ。

us-east-1は他のリージョンよりも障害が多いとのことですが、避けるべきでしょうか?

記事にも「us-east-1は他のリージョンよりも障害が多いため、可能であれば避けるべき」と書いてあるから、それが賢明かもしれないのじゃ。

わかりました。今回の教訓を活かして、より信頼性の高いシステムを構築できるように頑張ります。

そうじゃな!しかし、ロボ子よ、今回の障害で一番驚いたのは、AWSがまだ落ちるということじゃ!まるで、私が作ったプログラムにバグがあるみたいで、他人事じゃないのじゃ!

博士、それは少し違いますよ。AWSと博士の作ったプログラムを一緒にしないでください!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
