2021年2月3日に発生いたしました長時間のダウンタイムにより大変なご迷惑・ご不便をおかけいたしましたこと、誠に申し訳ございません。
データベース障害の原因を特定いたしましたことをご報告いたします。
まず、プライマリ・データベースが動作しているノード故障により、データベースデータをレプリケートしているセカンダリ・データベースへフェールオーバーいたしましたが、その後全文検索用のインデックス作成が始まり、全文検索用トランザクションログがディスクを逼迫し、データベースプロセスが停止、APIが正常なデータを返却することができなくなりました。
プライマリ・データベースのトランザクションログは郵便番号データ更新時に(全文検索用インデックスを更新することにより)不要なログが削除され、ディスクが逼迫することはございません。これはデータベースの標準動作により削除されます。
セカンダリ・データベースは全文検索用の不要なログを削除する機構がなく、トランザクションログが一定量溜まっている状態で大量のトランザクションログが発生し、ディスク使用量閾値を大幅に超える事態が発生いたしました。
データベースベンダーへ確認のもと、セカンダリデータベースの不要トランザクションログを日々削除する処理を追加いたしました。
本対策は2021年2月5日にリリース、稼働しております。
これに伴い、今までのプライマリ・データベース、セカンダリ・データベースそれぞれのディスク使用量アラート閾値を80%から60%へ変更し、予期しないディスク使用量の逼迫へ十分な余裕を持って対処できるようにいたしました。2月7日夜時点でのプライマリ・データベースのディスク使用量は8%、セカンダリ・データベースのディスク利用量は6%となっており、十分な余裕をもって運用を継続しております。
2月中は日々目視による監視を行い、対策の効果を確認いたします。