要約

  • RIPE NCCによると、2026年6月6~7日の週末に切断したソフトウェアプローブは再接続できず、減少は同種プローブの最大20%、全体の約10%に達した。
  • 遅くなったバックエンドが再接続用の内部要求を滞留させた。その要求を扱うイベントプロセッサーは、コントローラーの生存信号も処理していた。
  • 信号の遅れにより、システムはコントローラーを不健全と判定した。接続を保ったプローブは影響を受けず、戻ろうとするプローブだけが積み上がった。
  • RIPE NCCは非重要部分に短いタイムアウトを入れ、さらなる非同期化を予告した。次に必要なのは、生存信号が待たされないことを示すイベント隔離の照合票である。

回線が生きていても「切断」になる

公開画面の接続数は、設置先のネットワーク障害をそのまま数えているように見える。現行のRIPE Atlas文書は、そうした読み方を認めていない。プローブが接続中と見なされるには、インターネットへの到達性に加え、RIPE Atlasの中央基盤との接続が必要である。ローカル回線が動いていても、コントローラーとのセッションがリセットされれば表示状態は変わり得る。

6月の障害はこの境界で起きた。RIPE NCCは、多数の設置先で同時に回線が落ちたとは述べていない。「何らかの理由で」切断したソフトウェアプローブが戻れなくなったと説明している。接続を維持していたものは同じ問題を経験しなかった。国や機種よりも、再接続という状態遷移を通ったかどうかが影響を分けた。

接続中の個体数は徐々に減り、最大でソフトウェアプローブの20%、全プローブのおよそ10%に及んだ。「最大」「およそ」は重要な限定である。障害ページには厳密なピーク台数、対象ID、時系列、国別やネットワーク別の内訳がない。割合から正確な母数を逆算することはできない。

それでも、計測への意味は明らかだ。RIPE Atlasは分散した観測地点を使う。機械も回線も動いているのに、中央の受け入れ経路で止められれば、その地点は通常の観測母集団から外れる。接続数の低下は、観測対象であるインターネットだけでなく、観測装置自身の制御面を映すことがある。

遅延が健康判定へ変わるまで

解決報告は因果関係を具体的に記している。あるバックエンドの応答が想定より遅くなり、内部要求が長時間かかって処理パイプラインを詰まらせた。その要求はプローブの再接続時に使われ、イベントプロセッサーが扱っていた。同じプロセッサーは、プローブを管理するコントローラーからの生存信号も扱っていた。

生存情報が遅れ、システムはやがてコントローラーを不健全と判断し、戻ろうとするプローブをそこへ向けなくなった。英語の原文にはこの動作を表す箇所に誤植らしい語があるが、前後の流れは一貫している。健康証拠の遅延が受け入れ先を狭め、再接続待ちが増え続けた。

ここで問題になったのは、処理時間だけではない。遅い依存先が別の判断に権限を持った。再接続の補助要求は待てても、生存信号には鮮度の期限がある。結果の異なる二種類のイベントが一つの混雑点を共有したため、前者の待ち時間が後者の意味を変えた。

内部スケジューラーの実装を知らずに典型的な優先順位逆転だと断定すべきではない。公開情報から分かるのは、後に非重要と呼ばれた処理が健康上重要な証拠を遅らせたことだ。処理系が作った「信号が来ない」という状態が、「コントローラーが生きていない」という証拠として働いた。

この違いは対策の評価を変える。処理能力を増やせば滞留は短くなるが、次に不足したときの順番までは保証しない。自動スケールには検知と起動の時間がある。非同期化しても、複数の流れが後段の一つの有限な消費者へ合流すれば、結合は残る。問うべきはキューの有無ではなく、健康を決めるイベントが他の仕事から守られているかである。

長時間接続を前提にした基盤

過去のRIPE NCC資料は、再接続が通常の短いAPI呼び出しと異なる理由を説明する。2017年の構成では、登録サーバーが地理情報、コントローラー負荷などを調べ、鍵を交換してプローブを特定のコントローラーへ導いた。プローブはその接続をできるだけ長く維持する。各部品はメッセージキューを介して非同期に連携し、一時的な切断時には複数の層でメッセージを保持した。

これは歴史資料であり、2026年の構成図ではない。2024年の移行報告は大幅な更新を記録している。従来は約40台のコントローラーが六つの場所にあり、それぞれが一定期間、担当するプローブ群を独立して管理できた。新しい形ではKubernetes上のワークロードとなり、結果処理や新規接続準備など負荷が変動する部分を伸縮できるようになった。

それでも長い接続には固有の難しさがある。セッションを終了させることは、すぐ戻れる場合でも望ましくない。多数のプローブが一斉に戻ると、再接続の群れが別の部分を圧迫する。移行報告は、そうした規模で初めて現れた問題と、大規模な非機能・負荷試験を広げる必要を述べている。

6月の事象が過去の障害の再発だったとまでは言えない。ただし運用上の形は読み取れる。接続済みのプローブは持続経路に残り、切断したプローブだけが突発負荷を受ける復帰経路に入り、そこで遅い依存先に遭遇した。現在のキュー数、ワーカー数、コントローラー数を古い図から補うことはできない。

設計上の緊張は残る。計測網は長い接続、バッファリング、伸縮する部品を必要とする。同時に外部障害後の相関した再接続を受け止めなければならない。プローブを母集団へ戻す仕事が、コントローラーの生命を測る時計を無制限に借りてはならない。

タイムアウトは重要度の宣言である

RIPE NCCは非重要部分に短いタイムアウトを追加し、滞留を素早く処理した。さらにイベント処理を非同期化すると述べた。原因に沿った対策だが、公開された一文だけでは、二つの責務が次の波でも隔離されると証明できない。

タイムアウトは仕事に時間予算を割り当てる。期限後に失敗させるのか、再試行するのか、延期するのかを選ぶ。ある処理を非重要と分類するなら、完全な再接続情報を待つ価値より、生存証拠の鮮度を保つ価値が高いという政策判断になる。重要なのは期限後の動作だ。プローブは上限付きで再試行するのか、別キューで待つのか、理由付きで拒否されるのか、健康判定を変えずに保留されるのか。

非同期という語にも境界が要る。遅い呼び出しだけを分離しても、完了通知、再試行、生存信号が一つの処理部へ合流すれば、結合場所が移っただけである。健康イベント用の予約容量があれば保証は強くなる。遅い信号だけで資格を外さず、別の証拠を照合する規則があれば、自己生成した遅延を実障害と誤認しにくい。

こうした仕組みが内部に存在しないと主張しているのではない。障害ページは設計仕様ではない。しかし公開説明がイベント順序を原因に置いた以上、次の公開証拠は新しい順序と隔離を示すべきである。

計測、配送、接続は別々の時計

結果形式の文書によれば、バックエンドへ接続できない期間にもプローブが計測を続け、後で結果を届ける場合がある。この機能は重要だが、6月の結果を推測する根拠にはならない。何件の計測が続き、どれだけ保持され、すべて後着したか、新しい指示が欠けたかは公表されていない。喪失、改変、重複、偽造を示す証拠はない。

代わりに三つの時刻を分けるべきだ。プローブがローカルで実行した時刻、コントローラーと接続していた時刻、中央が受理・処理した時刻である。切断表示中に計測が行われることも、計測より後に配送されることも、インターネット利用中に中央から拒まれることもあり得る。

復旧も一つの緑色表示ではない。イベント処理の修正、滞留の縮小、再接続受理、遅延結果の到着は関連するが同一ではない。状態ページは改善、監視、解決を記録したものの、これらを結ぶ照合結果までは載せていない。

公開されていないから内部にもないとは言えない。必要なのは個別IDや内部アドレスではなく、集約した処理票である。どの状態が、どの定義で復旧し、以前と同じ負荷で生存信号が期限内に通ったかを示せればよい。

最小のイベント隔離照合票

照合票は機器名ではなくイベント分類から始める。再接続準備、コントローラー生存、その他の健康重要処理を挙げ、安全な抽象度でキュー、ワーカー群、依存先の共有関係を示す。各分類には時間予算と失敗時動作を付ける。上限付き再試行、健康を変えない延期、負荷遮断、独立容量といった記述で十分である。

健康判定の証拠窓も必要だ。信号が遅れたとき、直ちに資格を外すのか、隔離して待つのか、別の信号で確認するのか。6月の事象は、その規則が計測母集団を左右することを示した。

保護を開始する条件も示せる。滞留時間、キュー深度、依存先の遅延などである。厳密な数値や悪用可能な配置を公開する必要はない。分類、動作、方法版、そして遅いバックエンドと再接続の波を組み合わせた試験結果なら公開できる。

事故別の付録には影響範囲、最大滞留、解消時間、新しい境界での再現試験を集約して載せればよい。訂正履歴を持たせれば、将来の構成変更で過去の証拠の意味が書き換わることもない。

これはTheo Marchによる編集上の提案であり、RIPE NCCが発表した義務ではない。RIPE NCCはすでに二種類のイベントと偶発的な結合を明らかにした。残る一歩は、非重要な仕事がコントローラーの生死を決めないことを検証可能にすることである。

公式資料