Backend 復旧マニュアル
これは何?
Backend のコアサーバーに障害が発生した際の復旧手順を説明しています。ISMS における「情報セキュリティ継続」の項目として管理されています。
概要
復旧手順の概要は下記のとおりです。
- 障害が発生しているシステム要素を特定する
- システムを特定したら、対象システムおよびコンポーネントの再起動または置換を行う
ケース別対応例
直近の変更が障害を引き起こしている場合
対処法:
- 正常に稼働していたバージョンのソースコードに切り戻す
詳細手順:
- GitHub 上から障害の原因となるコードを含む PR を特定する
- 対象の PR が
developmentブランチにマージされている PR を、revert するproductionやmainブランチへのマージを直接 revert すると、コミット履歴が複雑になるので、原則として行わないように注意する
- revert された
developmentブランチをproductionブランチにマージする - 本番環境へのデプロイを実施する
DB の欠損が発生している場合
対処法:
- 最も最近に保存されたスナップショットを確認し、リストア作業を行う
詳細手順:
- MongoDB Atlas にアクセスし、スナップショット履歴を確認する
- 最新のものを選択し、リストアを行う
外部サービスの障害が影響している場合
例えばメール送信サービスのような外部サービスの障害がバックエンドに影響を与えて障害が発生している場合は、以下の手順で対応する。
対処法:
- 障害を引き起こしている外部サービスを特定し、障害がバックエンドの実行環境に影響を与えない形に修正する
- 外部サービスの復旧状況については、必要に応じて外部サービスの運用チームに問い合わせながら、復旧状況を常時把握する
詳細手順:
- 障害を引き起こしている外部サービスを特定する
- 障害がバックエンドの実行環境に影響を与えない形に修正する
- 修正内容を本番環境へデプロイする