ネットサービス

Amazon・Microsoft・PSNなどを巻き込む大規模なネットワーク障害が発生、原因はBGPの設定ミスか


太平洋時間の2020年8月30日、アメリカの通信企業であるCenturyLinkのDNSサービス「Level 3」で大規模な障害が発生し、インターネット全体のネットワークトラフィックが3.5%減少しました。この障害により、AmazonやMicrosoftのXbox Live、PSNなど、多数のサービスが一時的に利用できなくなるといった問題が生じており、同じく障害の影響を受けたCloudflareが原因を分析しています。

Analysis of Today's CenturyLink/Level(3) Outage
https://blog.cloudflare.com/analysis-of-todays-centurylink-level-3-outage/

Major internet outage: Dozens of websites and apps were down - CNN
https://edition.cnn.com/2020/08/30/tech/internet-outage-cloudflare/index.html

CenturyLink outage led to a 3.5% drop in global web traffic | ZDNet
https://www.zdnet.com/article/centurylink-outage-led-to-a-3-5-drop-in-global-web-traffic/

太平洋時間の2020年8月30日午前に発生したCenturyLinkのネットワーク障害は、AmazonやPSN、Huluといった多くのサービスに問題を引き起こしました。Cloudflareのモニタリングシステムにも、サーバーに接続できないことを表す「522エラー」の報告が多数上がったとのこと。


CloudflareはCenturyLinkの障害を検知し、テリアやNTTといった他のプロバイダのネットワークへトラフィックを自動で切り替え。一部手動操作は必要だったものの、ほとんどのトラフィックを維持することに成功したとのこと。画像の赤色部分はCenturyLinkへのトラフィック量を表しており、障害発生中はCenturyLinkへのトラフィックが他のプロバイダへと切り替わっていることがわかります。


記事作成時点では、CenturyLinkによる障害の原因報告はなされていませんが、Cloudflareは障害当時の状況からその原因を分析。オレゴン大学の「Route Views Archive Project」では、インターネット上に流れるルーターの経常情報などを含んだBGPのUPDATEメッセージを確認することが可能。Route Viewsを確認すると、障害発生前はインターネット上のUPDATEメッセージの総容量が2MBほどだったのに対し、障害発生後は20MB以上まで跳ね上がっています。これはCenturyLinkのネットワークが不安定な状態であったことを表すとのこと。


今回の障害の根本的な原因は、「不適切な(PDF)BGP Flowspec」だとCloudflareは推測。BGP Flowspecとは、BGPのUPDATEメッセージにパケットの条件である「Flow Type」とパケットに対するアクションである「Action Rule」をのせて送信できる仕組み。BGPを用いてネットワーク全体にファイアウォールルールを簡単に適用することができるので、DDoS攻撃対策などに利用されるとのこと。

CenturyLinkのステータスメッセージには「あるFlowspecの記述がCenturyLinkのネットワーク内でBGPの接続確立を妨げた」とあることから、以下のようなBGP全体をブロックしてしまうルールをネットワーク内に広めてしまったのではないかとCloudflareは推測しており、UPDATEメッセージの急増は、UPDATEメッセージの最後部に問題のFlowspecルールが記述されており、メッセージがループしてしまったことが原因と考えられるとのこと。


また、CenturyLinkが非常に優れたネットワークオペレーターであるにも関わらず、障害の解決に4時間以上の時間がかかってしまった理由については、大量のUPDATEメッセージによりルーターに大きな負荷がかかり、ルーターへのログインが困難になっていたのではないかと推測。さらに、多くのプロバイダはFlowspecの利用を顧客に許可しており、仮に問題となったFlowspecルールが顧客から送信された場合は、追跡が困難であるとCloudflareは説明しています。

Cloudflareは「障害は発生するものです。障害が発生している間、状況を知らせてくれたCenturyLinkのチームに感謝しています」と述べています。

この記事のタイトルとURLをコピーする

・関連記事
Cloudflareでネットワークの50%がダウンする大規模障害、DiscordやFeedlyなどの大型サイトに影響 - GIGAZINE

Discord・Amazonなどを巻き込む大規模障害が発生、「真の原因はVerizon」とCloudflareが非難 - GIGAZINE

「新型コロナウイルスの影響でインターネットトラフィックがどう変化したのか?」をCloudflareが公開 - GIGAZINE

ウェブサービスが利用している「DNS」で発生する障害に対応するにはどうすればよいか? - GIGAZINE

自分の通信が安全にインターネットを通過しているか確認できるウェブサイト「Is BGP safe yet?」をCloudflareが公開 - GIGAZINE

インターネットの心臓部を支える「BGP」をより柔軟に使うにはどうすればいいか? - GIGAZINE

in ネットサービス, Posted by log1n_yi

You can read the machine translated English article here.