システム障害
Incident Report for PostcodeJP API
Postmortem

2021年2月3日に発生いたしました長時間のダウンタイムにより大変なご迷惑・ご不便をおかけいたしましたこと、誠に申し訳ございません。

データベース障害の原因を特定いたしましたことをご報告いたします。

原因:フェールオーバー先データベースの大量トランザクションログ発生によるクラッシュ

まず、プライマリ・データベースが動作しているノード故障により、データベースデータをレプリケートしているセカンダリ・データベースへフェールオーバーいたしましたが、その後全文検索用のインデックス作成が始まり、全文検索用トランザクションログがディスクを逼迫し、データベースプロセスが停止、APIが正常なデータを返却することができなくなりました。

プライマリ・データベースのトランザクションログは郵便番号データ更新時に(全文検索用インデックスを更新することにより)不要なログが削除され、ディスクが逼迫することはございません。これはデータベースの標準動作により削除されます。

セカンダリ・データベースは全文検索用の不要なログを削除する機構がなく、トランザクションログが一定量溜まっている状態で大量のトランザクションログが発生し、ディスク使用量閾値を大幅に超える事態が発生いたしました。

改善:セカンダリデータベースの不要なトランザクションログを日々削除する機構を追加

データベースベンダーへ確認のもと、セカンダリデータベースの不要トランザクションログを日々削除する処理を追加いたしました。

本対策は2021年2月5日にリリース、稼働しております。

これに伴い、今までのプライマリ・データベース、セカンダリ・データベースそれぞれのディスク使用量アラート閾値を80%から60%へ変更し、予期しないディスク使用量の逼迫へ十分な余裕を持って対処できるようにいたしました。2月7日夜時点でのプライマリ・データベースのディスク使用量は8%、セカンダリ・データベースのディスク利用量は6%となっており、十分な余裕をもって運用を継続しております。

2月中は日々目視による監視を行い、対策の効果を確認いたします。

Posted Feb 07, 2021 - 23:00 JST

Resolved
2021年2月3日に発生したシステム障害のため、サービスをご利用いただけない時間がございました。

お客様に多大なご迷惑をおかけいたしましたことお詫び申し上げます。
現在は復旧しており、通常通りサービスをご利用いただける状態です。

障害発生日時:
2021年2月3日 1:20頃 〜 2021年2月3日 13:00

サービス影響:
APIをご利用いただけない状態が発生いたしました。

復旧状況:
現在は復旧しており、通常通りご利用いただけます。

原因:
APIサーバが利用するデータベースに障害が発生し、APIが正常な応答が返却できない状態となりました。

対処:
障害が発生したデータベースをシステムのネットワークから切り離し新しいデータベースを構築、復旧しております。

今後同様の事象が発生いたしませんよう、早急な原因究明と必要な対処を進めてまいります。
お客様やご関係各所の皆様へ多大なるご迷惑、ご不便をおかけいたしましたことを心より深くお詫び申し上げます。
Posted Feb 03, 2021 - 13:15 JST