いつも、TEKKANをご利用いただきありがとうございます。
TEKKANアプリにて、以下の通りアクセス障害が発生しておりました。 ご利用の皆様には多大なるご迷惑をおかけしましたことを、深くお詫び申し上げます。
障害発生期間
2025年12月26日(金)02時45分ごろ〜07時00分ごろ
影響範囲
TEKKANアプリ、TEKKAN-forCALCの全機能
発生した事象
今回の障害は、システム保守作業の自動化プログラムに設計上の不備があり、「データベースは稼働しているが、アプリがそこに繋がらない」という通信経路の迷子(デッドロック)が発生したことが原因です。
なお、データベース自体は当初の設計通り稼働を維持していたため、お客様の大切なデータの消失・破損はございません。
以下に、障害発生のメカニズムをご説明いたします。
障害発生時の状況図
正常時
TEKKANでは、3台のデータベース(DB01〜03)がチームを組んでデータを守っています。
- リーダーの停止:
自動メンテナンスにより、当時リーダーを務めていた「DB01」が停止しました。 - システムの自動復旧動作:
残された「DB02」と「DB03」は即座に状況を判断し、自動的に「DB02」を新しいリーダーに昇格させ、データの保護と稼働を維持しました。(図の下部、緑色の状態)
これは、当初より期待していた動作で問題ありません。 - 連携の失敗(今回の主原因):
本来であれば、アプリ側も即座に新しいリーダー(DB02)へ接続先を切り替えるはずでした。 しかし、自動化プログラムの不備により、「停止中のDB01を無理やりリーダーに戻そうとする命令」が発行されたことも影響し「アプリが古いDB01を探し続ける状態」が継続しました。
結果として、「新しいリーダー(DB02)は準備万端で待っていたのに、アプリがいつまでも古い窓口(DB01)を叩き続けていた」というすれ違い状態となり、お客様から見てサービスが利用できない状況が続いておりました。
当日のタイムライン
- 02:30
予約していた自動メンテナンス処理を開始。 - 02:45
リーダーサーバー(DB01)の停止処理を実行。 システムは正常に反応し、予備サーバー(DB02)を新リーダーへ昇格させました。 - 02:46 〜 06:40
諸事情により、DB01が自動復帰できない状態となりました。しかしながら、自動プログラムが「旧リーダー(DB01)への切り戻し」を強制的に試行を行いました。 これにより、アプリとデータベース間の通信経路(ルーティング)が混乱し、新リーダーへのアクセスが遮断される状態が継続しました。 - 06:48
管理者が異常事態を確認し、手動介入を実施。 - 07:00
通信経路情報を修正し、全サービスの正常稼働を確認。復旧完了。
今後の対策
今回の事象は、システムの「柔軟な切り替わり」を、自動化プログラムが「固定的な設定」で阻害してしまったことが原因です。以下の修正を適用いたしました。
- 「リーダー固定化処理」の廃止
メンテナンス終了後、特定のサーバー(今回であればDB01)を無理やりリーダーに戻そうとする処理を廃止しました。今後は「現在元気に動いているリーダー」を正として尊重し、無用な切り替えを行いません。 - 停止手順の安全性向上
そもそもサーバーを停止させる際、安全に権限を委譲してから停止させる(ドレイン処理の適正化)ことで、このような混乱が起きないよう手順を改修しました。
TEKKANは、皆様のかけがえない活動を支える基盤であるとともに、大切なデータをお預かりしているということを認識し、今後、同様の事象が発生しないようより一層運用体制を強化いたします。
今後ともTEKKANをよろしくお願いいたします。
TEKKAN hq
0 件のコメント:
コメントを投稿