- Cloudflareのグローバルネットワークで内部サービスの性能低下が発生し、複数のサービスが断続的に影響を受けた
- Access, Bot Management, CDN/Cache, Dashboard, Firewall, Network, WARP, Workers などの主要サービスが一時的に障害を受けた
- エンジニアリングチームが問題を特定して修正作業を進め、WARPとAccessサービスが先に復旧した
- その後、世界的にエラー率と遅延が徐々に通常水準へ回復し、ダッシュボードサービスも復元された
- 現在はすべてのサービスが正常に稼働しており、事象は完全に解決済み
事象の概要
- Cloudflareは内部サービスの 性能低下(Internal Service Degradation) に見舞われ、一部サービスが断続的に停止した
- 影響を受けたサービスには Access, Bot Management, CDN/Cache, Dashboard, Firewall, Network, WARP, Workers などが含まれる
- 会社は直ちに復旧作業に着手し、問題解決の進捗を継続的に更新した
問題の特定と初動対応
- Cloudflareは 調査中(Investigating) の段階で内部サービスの低下を確認した
- 一部の顧客が断続的なエラーと遅延を経験した
- エンジニアリングチームが原因分析と復旧作業を並行して進めた
- その後 問題の原因を特定(Identified) し、修正作業を開始した
- 修正中に ロンドン地域のWARP接続が一時的に無効化 され、当該地域の利用者はインターネット接続の失敗を経験した
サービス復旧の進行
- 修正作業後、AccessとWARPサービスが先に復旧し、エラー率は事故前の水準へ戻った
- その後 Application Servicesの顧客向けサービス復元作業 が続いた
- ダッシュボードサービス復旧のための変更が配布された
- なお一部の顧客はログインやダッシュボード利用の問題を経験していたが、追加修正によって解消された
ネットワーク全体の安定化
- 世界的に エラー率と遅延(latency) が徐々に低下し、通常水準へ回復した
- Bot Managementのスコア計算(bot scores) が一時的に影響を受けたが、復旧過程で正常化した
- エンジニアリングチームは残るエラーを取り除き、ネットワーク全体の復旧を加速させた
- その後、すべてのサービスが正常に動作し、エラー率と遅延は完全に正常化 した
事象の終了と今後の対応
- Cloudflareは すべてのサービスが正常稼働中 であることを確認し、事象を終了した
- 現在 追加の構成変更はなく、プラットフォームを綿密に監視している
- 障害原因に関する 事後調査(post-incident investigation) が進行中で、結果は後日公開予定
- 今回の障害は グローバルネットワーク全体に影響した事象 として記録された
1件のコメント
Hacker Newsの意見
Cloudflare APIトークンを持っている人向けに、CFプロキシを無効化できるコマンドが共有されていた
curlコマンドでzone IDとDNSレコードを取得し、PATCHリクエストで"proxied": falseに設定すればよいただしSSL証明書の喪失、セキュリティ/性能低下、そしてバックエンドIPの露出リスクがあるので注意が必要
X-Auth-EmailとX-Auth-Keyヘッダーを使えばよいまた、Cloudflareトラフィックのみを許可するよう設定していた人は、そのルールを一時的に無効にする必要がある
幸い、今は再びオンライン状態に復旧している
curlではGETリクエストはデフォルトなので-X GETは不要-dオプションを使うと自動的にPOSTになり、PATCHには-X PATCHが正しいただしトンネリング後でも一部サイトは依然として部分的にダウンしている
CloudflareのCTOによると、ボット遮断システムの潜在バグが設定変更後に暴走し、ネットワーク全体に障害を引き起こしたとのこと
攻撃ではなく内部問題だったと出典で説明している
コードでも設定でもデータなのに、世界中へ一度に配布して大規模障害になるパターンが繰り返されている
同僚が突然駆け寄ってきて、自分がCloudflare設定を変えた直後にサイトが落ちたので、自分が壊したのかと驚いたと言っていた
この投稿を見て安心したらしい
「Cloudflare down」というメッセージを見て心底ほっとした
オランダで確認したところ、ほぼすべてのサービスがダウンしていた
Cloudflareダッシュボードにもアクセスできず、Betterstackダッシュボードも同様だった
皮肉なことにステータスページは生きていたため、顧客に告知できない状況だった
「必要ないならCloudflareの背後に置くな」というブログ記事を書いた
それでもこうした大規模障害が起きると、顧客は意外と理解を示してくれる
数分かかったが、hcker.newsをCFから切り離した
下部に外部ステータスページと連動したリアルタイム稼働率ウィジェットを設置している
ステータスSVGと
外部ステータスページを参照するとよい
CloudflareやAWSが止まったとき、私のself-hostedサービスが平然と動いているのを見る快感がある
彼らの99.999%可用性より、今この瞬間は自分のほうが安定している
そろそろアップタイムトラッカーを付けようかと思う
新興SaaS企業が学ぶべき教訓だ
自分の小さなサイトが落ちたのが面白くもあり妙に満足感もあった
最近、大規模インフラ障害が急増しているように思える。AWSもCloudflareもSLAを大きく下回っている
実際の稼働率ではなく、企業が恣意的に定義した数値にすぎない
CloudflareやAWSが止まるとウェブの半分が止まるという中央集権化の問題は深刻だ
これが構造が変わらない理由だ
小規模CDNは競争が難しく、結果として自然独占構造が形成される
Cloudflareが無料プランを提供したのは、こうしたネットワーク効果を狙った戦略だった
また、政府検閲の集中ターゲットになる可能性も高い
ウェブの2/3が依存し、証明書寿命がますます短くなっており、もしハッキングや障害が発生すればウェブ全体が麻痺しかねない
今は善良な組織でも、かつてのGoogleもそうだったことを忘れてはならない
ソフトウェアレベルのバックアップは多いが、インフラレベルのマルチホスティングの常識が失われてしまった
皮肉なことにDownDetectorもCloudflare Turnstileを使っていたため一緒に落ちた
Cloudflareの「Your browser: Working / Host: Working / Cloudflare: Error」という視覚的な謝罪メッセージが印象的だった
Cloudflare Challenge(「I’m not a robot」)を使うサイトもHTTP 500エラーを返して停止した
「challenges.cloudflare.comのブロックを解除しろ」というメッセージが表示された
無限ローディング画面だけを見せたりする。実際にはバックエンドが明確なエラーを返しているのに、フロントがそれを隠す
最近では、パスワードが長すぎるというエラーを「メールアドレスはすでに使用中」と表示していた例も見た
皮肉にもAIに対して人間であることを証明しなければならない状況になった
Cloudflare Captchaがダウンするはずがないという**/s的な否定**が笑える