Cloudflare、Workers KVの更新に失敗し障害発生。しかも復旧用ツールがWorkers KVに依存しており使えず、手動で緊急対応

今回は「Cloudflare、Workers KVの更新に失敗し障害発生。しかも復旧用ツールがWorkers KVに依存しており使えず、手動で緊急対応」についてご紹介します。

関連ワード (全部、強化、復旧等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Cloudflareは10月30日、同社がキーバリューストアとして提供しているWorkers KVの社内アップデート作業に失敗したことで、Workers KVのみならずCloudflare Pages、Cloudflare Access、Cloudflare Workers、Waiting Room、Cloudflare Dashboardなど各種サービスが世界協定時2023年10月30日19時54分(日本時間10月31日4時54分)頃から約37分間、サービスの一部または全部の機能が使えないなどの障害を起こしました。

幸いにも比較的短時間で復旧した障害でしたが、同社の報告によると、復旧のための社内ツールそのものがWorkers KVに依存していたために使えず、緊急対応として手動操作で復旧作業を行ったと説明されています。

この障害がどのような原因で発生し、どう復旧させたのか、同社のブログ「Cloudflare incident on October 30, 2023」から見ていきます。

Multiple Cloudflare services were unavailable for 37 minutes on October 30, 2023. Here is a discussion of what went wrong, how the incident was resolved, and the work we are undertaking to ensure it does not happen again. https://t.co/JbEJgWiHHc

— Cloudflare (@Cloudflare) November 1, 2023

ステージング環境を参照したまま本番環境へ昇格させてしまう

CloudflareはキーバリューストアのWorkers KVをマネージドサービスとして提供しています。

Workers KVチームは、新しくビルドしたWorkers KVを本番環境へデプロイする作業を始めました。

Workers KVの新バージョンはステージング環境へデプロイされ、テストされました。その後、本番環境へと徐々にデプロイされていくことになります。

ところが、ステージング環境から本番環境へと昇格させるスクリプトにバグがありました。

本番環境へ昇格させた際に、本番環境上でも現バージョンのWorkers KVを参照し、その後に新Workers KVへ切り替えていくはずの動作が、本番環境へ昇格させた後もステージング環境にある現バージョンのWorkers KVを参照してしまったのです。

fig

ステージング環境上のWorkers KVは本番環境のリソースにはアクセスできないため、Workers KVに依存している本番環境上のアプリケーションはWorkers KVを利用できずエラーとなります。

この本番環境への昇格は徐々に行われたため、本番環境上でエラーを吐くアプリケーションが徐々に増加していきました。

ロールバックのためのツールがWorkers KVに依存して使えず

この障害は自動アラートにより検知されます。そこでロールバックにより元の状態に戻そうとするのですが、そのためのツールそのものがWorkers KVに依存し、使えない状態になっていることが判明します。

下記は「Cloudflare incident on October 30, 2023」からの引用です。

Although automated alerting detected the issue immediately, there was a delay between the time we realized we were having an issue and the time we were actually able to perform the roll back. This was caused by the fact that multiple tools within Cloudflare rely on Workers KV including Cloudflare Access. Access uses Workers KV as part of the verification process for user JWTs (JSON Web Tokens).

自動アラートにより障害はすぐに検出されましたが、障害発生から実際にロールバックの実行までには遅れが生じました。これは、Cloudflare Accessを含むCloudflare内の複数のツールがWorkers KVに依存していることが原因でした。Cloudflare AccessはユーザーJWT(JSON Web Tokens)の検証プロセスの一部としてWorkers KVを使用していたのです。

変更作業のためのダッシュボードやCI環境によるロールバック時の認証システムなどもWorkers KVに依存して使えなくなっていました。

結局、復旧作業は緊急対応のため手作業で行われ、元の状態に戻すことに成功したのです。

Cloudflareは今回のインシデントを教訓とし、Workers KVのデプロイプロセスの改善やロールバックプロセスにおいて認証システムがダウンしたとしても対応できるようにすること、デプロイの事前確認の強化、デプロイツールにおけるマルチテナント対応への改善などの対応を進めていくとしています。

過去のCloudflareの障害

  • パッチ盤からケーブルを引っこ抜いてしまいCloudflareに障害発生。ケーブルにラベリングされておらずどれを戻すべきかすぐに分からず
  • Cloudflareが昨日(2022年6月21日)の障害原因はBGPの設定ミスと報告。東京データセンターを含む19の主要データセンターが一時オフラインに
  • CloudflareのCDNが全面的に約30分ダウンし、世界中のWebサイトが影響を受ける。原因はソフトウェアの動作不良。ロールバックで対応

COMMENTS


Recommended

TITLE
CATEGORY
DATE
“FAX全廃議論”で再考する、ITリテラシーと信頼関係の問題 :小寺信良のIT大作戦(1/2 ページ)
トップニュース
2021-07-15 02:52
サイバー脅威は自然災害同様に備えて事業を守るべき–トレンドマイクロが2022年を総括
IT関連
2023-01-07 18:56
Android 15は変体仮名をデフォルトでサポート、Googleが発表
Android
2024-05-20 03:52
ディープフェイク研究の取り組みを強化するFacebook
IT関連
2021-06-17 15:35
AWS、IPv4アドレスへの課金が今月からスタート。1カ月約500円
AWS
2024-02-05 23:21
GitHub、スポンサーだけが見られるリポジトリ「Sponsors-only repositories」発表
GitHub
2022-02-04 22:12
IT系上場企業の平均年収を業種別にみてみた 2021年版[後編] ~ パッケージソフトウェア系、SI/システム開発系、クラウド/キャリア系企業
働き方
2021-07-12 17:25
インテルが2事業部門を新設–アクセラレーテッドコンピューティングとソフトウェア
IT関連
2021-06-23 23:03
静的サイトジェネレータ「Astro 2.0」正式リリース。新機能「Content Collections」で大量Markdown対応、「Hybrid Rendering」で静的と動的ページの混在可能に
HTML/CSS
2023-01-27 02:35
Kaizen Platformとオリコ、地域金融機関ウェブサイトのUI/UX改善を支援
IT関連
2023-10-07 06:03
大規模言語モデルなどを抽象化し、生成AIアプリの開発を容易にする「LangChain」が初の安定版に到達
JavaScript
2024-01-11 05:28
Clubhouseが同社初となるクリエイター用収益化機能をテスト開始
ネットサービス
2021-04-07 02:28
「Converged Database」戦略とAIへの取り組み詳説–オラクル基調講演
IT関連
2024-04-25 16:17
東京都、「LINE」対応のチャットボット導入–問い合わせ対応の工数削減
IT関連
2023-02-19 08:59