その結果、次のような機能が広範囲で影響を受けました。
問題がさらに深刻化したのは、Railwayのオーケストレーションやルーティング層が、制限されたGoogle Cloudリソースに依存していたためです。
これは次のことを示唆しています。
といった処理を担うコントロールプレーンが、Google Cloudのリソースなしでは完全に機能しなかった可能性があるということです。
一部コミュニティでは、AWSやRailway自社ハードウェア上のワークロードにも影響が広がった理由として、ルーティング状態の更新ができなかった可能性が指摘されています。ただし、この仕組みの詳細は公式の完全なポストモーテムではまだ確認されていません。
この障害で最も議論を呼んだのは、マルチクラウド設計の落とし穴です。
RailwayはAWSや専用ハードウェアなど複数の環境でインフラを運用しています。しかし今回のケースでは、コントロールプレーンがGoogle Cloudアカウントに依存していたため、単一の制限イベントが全体停止につながりました。
アカウントへのアクセスを失うと、単なる計算リソースだけでなく次の機能も同時に失われます。
結果として、マルチクラウドでも実質的な単一障害点(Single Point of Failure)が存在していた形になります。
今回の出来事は、クラウドプロバイダーが採用している自動アカウント制御システムにも議論を呼びました。
大手クラウドでは次のような理由でアカウントが自動制限されることがあります。
このため、
といった点は依然として不明のままです。
現時点の公開情報では、いくつかの重要な点が未解決です。
今後、より詳細な技術ポストモーテムが公開されれば全体像が明確になる可能性があります。
この障害が示した最大のポイントは、インフラの多様性よりもコントロールプレーンの依存関係が重要だということです。
複数クラウドにワークロードを分散していても、次の仕組みが単一プロバイダーに依存している場合、全体停止のリスクは残ります。
Railwayの5月19日の障害は、現代のクラウドアーキテクチャにおける重要な教訓を改めて示しました。
「マルチクラウド」であることと、「単一障害点がない」ことは同じではないということです。
Comments
0 comments