Skip to content

可用性

本ドキュメントは、TASHIKAプラットフォームの可用性に関する要件を定義します。

NOTE

分類は IPA 非機能要求グレード 大項目 A に準拠しています。 事業継続計画は CR-004 を参照。


AV-001: 可用性 (Availability)

指標目標値備考
月間稼働率(通常期: 2〜12月)99.9%(月間ダウンタイム ≤ 43分)
月間稼働率(繁忙期: 1月)99.95%(月間ダウンタイム ≤ 22分)
計画メンテナンスZero Downtime DeploymentBlue/Green デプロイ
障害復旧目標(RTO)4時間以内CR-004
データ復旧目標(RPO)1時間以内CR-004

冗長性要件

  • アプリケーション層: 複数インスタンスによる冗長構成
  • データベース層: レプリカによるフェイルオーバー構成(同一リージョン内)
  • クロスリージョンレプリカ: オプション(エンタープライズプラン向け)

AV-002: データ整合性 (Data Integrity)

要件説明
Source of Truth 管理各データ項目が「API由来」か「手入力」かをメタデータで厳格に区別する
トランザクション保証申告データの保存は原子的(Atomic)に行い、部分保存を許容しない
楽観的排他制御同一申告データの同時編集(従業員と管理者)を検知し、後勝ち上書きを防止する
年度境界の整合性年度確定後のデータは読み取り専用とし、いかなる操作でも変更不可とする
外部キー整合性エンティティ間の参照整合性をDB制約で強制する
ミューテーション冪等性状態変更を伴う API 操作(POST/PUT/PATCH)は Idempotency-Key ヘッダーにより冪等に実行可能とし、ネットワーク障害時のリトライで副作用が重複しないことを保証する

AV-003: 弾力性 (Resilience)

マイナポータル・e-Tax/eLTAX・外部通知チャネル等の外部依存が障害を起こした場合、申告業務を縮退しながらも継続できることを保証する。

Circuit Breaker

外部API呼び出しにはすべて Circuit Breaker を適用し、障害の波及を防止する。

外部依存正常時の動作Circuit Open 時のフォールバック
マイナポータルAPI電子的控除証明書の自動取込(XML)手動 XML アップロードモードへ切り替え
e-Tax / eLTAX電子申告データの自動送信ファイル出力(手動提出)モードへ切り替え
外部給与連携 Webhook月次給与データのリアルタイム受信ポーリング / 手動 CSV インポートへ切り替え
通知チャネル(Slack / Teams 等)プッシュ通知メール通知へフォールバック。メールも不可の場合はシステム内通知のみ

Retry(再試行)

  • タイムアウト・5xx 系エラー(500 / 502 / 503 / 504)は自動再試行
  • 最大再試行回数: 3回
  • バックオフ戦略: Exponential Backoff + Jitter
  • 冪等でない操作(データ送信等)は再試行前に重複チェックを必須とする

タイムアウト

操作カテゴリタイムアウト
外部API(読み取り)5秒
外部API(書き込み)10秒
XML インポート(単件)30秒
PDF 生成(非同期ジョブ)5分

Graceful Degradation(段階的縮退)

外部依存が障害中であっても、以下の操作は継続可能であること:

  • 申告データの入力・自動保存(モードレス設計、→ 申告領域
  • 申告ステータスの確認・履歴参照
  • 手動 XML アップロードによる控除証明書登録
  • 過去申告データ・源泉徴収票の参照・ダウンロード