GitLab.com のバックアップ

このポリシーは GitLab.com のバックアップに関する要件を規定します

Visibility: Audit

目的

このポリシーは、GitLab が GitLab.com のバックアップと復元をどのように実施、監視、および検証するかを概説します。 これらの手順は、お客様データのデータリカバリとディザスタリカバリを確保するために重要です。

スコープ

GitLab.com のバックアップ戦略には、監視と復元検証の両方が含まれます。

お客様データは以下の場所に保存されます:

  1. GitLab.com のすべての PostgreSQL データベース
  2. パッケージ、LFS、アップロード、CI データを含む GitLab.com のオブジェクトストレージ
  3. サブスクリプションと購入を管理する CustomersDot データベース
  4. Git リポジトリ

スコープ外

  1. Redis キャッシュに保存されたお客様データ
    1. 処理待ちにキューイングされたデータ
    2. セッションおよびその他のキャッシュされたデータ

役割と責任

役割責任
GitLab チームメンバーこのポリシーに記載された要件への準拠を確保する
Engineering(コードオーナー)このポリシーへの重要な変更および例外を承認する

手順

GitLab は以下を定義します:

  • バックアップが必要なサービス
  • バックアップの頻度、データ保持期間、および復元プロセス
  • ディザスタリカバリシナリオにおけるデータ復元の手順

バックアップと復元

PostgreSQL データベース

項目詳細
バックアップ頻度毎時フルバックアップを取得し、トランザクションログを継続的にアーカイブする。
ストレージGCS に保存
暗号化バックアップデータは転送中および保存中に暗号化される
保持期間14 日間(CustomersDot データベースは 7 日間)
損失防止ソフトデリートが有効化され、7 日間の保持期間が設定されている
場所/冗長性マルチリージョンの地理的冗長性
監視バックアップが成功しているかどうかを継続的に監視し、バックアップが欠落した場合にアラートを発報する。
復元検証ディスクスナップショットからの定期的な復元と WAL セグメントの再生

Git リポジトリ

項目詳細
バックアップ頻度ブロックレベルのディスクスナップショットを使用して毎時バックアップを取得する。
ストレージGCP のスタンダードスナップショットとして保存
暗号化スナップショットは保存中に暗号化される
保持期間14 日間
損失防止ソースディスクを削除した後も保持される
場所/冗長性マルチリージョンの地理的冗長性
監視すべてのディスクを監視し、スナップショットが欠落した場合にアラートを発報する
復元検証ディスクをランダムにサンプリングし、最新のスナップショットを復元することで実施する。

オブジェクトストレージ

オブジェクトストレージ(GCS)に保存されたデータは、Google の年間耐久性 99.999999999% とマルチリージョンバケットの冗長性によって保護されます。データ保護をさらに強化するために、オブジェクトバージョニングソフトデリートが有効化されています。

バージョニングとソフトデリートによる固有の保護があるため、オブジェクトストレージの自動復元検証は不要です。

例外

このポリシーの例外は、情報セキュリティポリシー例外管理プロセスに従って管理されます。

参考資料