Documentation Index Fetch the complete documentation index at: https://docs.jitera.ai/llms.txt
Use this file to discover all available pages before exploring further.
バックアップ対象コンポーネント
コンポーネント データ 優先度 PostgreSQL (Automation) アプリケーションデータ 重要 PGVector PostgreSQL 埋め込みベクトル 重要 MongoDB / DocumentDB / Cosmos DB AI/チャットデータ 重要 オブジェクトストレージ ファイル、エクスポート 高 Redis セッションデータ 低 設定 Helm values 高
PostgreSQL は Automation データベースと PGVector データベースが別インスタンスです。Automation だけバックアップしても、PGVector の埋め込みベクトルは別途バックアップが必要です。MongoDB / DocumentDB / Cosmos DB はデプロイ構成によりいずれか 1 つを使用します。
PostgreSQL バックアップ
以下のコマンドは クラスター内(in-cluster)の PostgreSQL Pod を対象とした例です。マネージド PostgreSQL(RDS / Cloud SQL / Azure Database for PostgreSQL Flexible Server 等)を使用している場合は、クラウドプロバイダーのスナップショット機能(aws rds create-db-snapshot 等)を使用してください。PGVector も別 PostgreSQL インスタンスとして同じ手順を適用 します。
手動バックアップ
# PostgreSQL Podを取得
PG_POD = $( kubectl get pod -n jitera -l app.kubernetes.io/name=postgresql -o jsonpath='{.items[0].metadata.name}' )
# バックアップを作成
kubectl exec -n jitera $PG_POD -- pg_dump -U jitera -Fc jitera > backup- $( date +%Y%m%d ) .dump
CronJob による自動バックアップ
apiVersion : batch/v1
kind : CronJob
metadata :
name : postgres-backup
namespace : jitera
spec :
schedule : "0 2 * * *" # Daily at 2 AM
jobTemplate :
spec :
template :
spec :
containers :
- name : backup
image : postgres:15
command :
- /bin/sh
- -c
- |
pg_dump -h jitera-postgresql -U jitera -Fc jitera > /backup/jitera-$(date +%Y%m%d).dump
# Upload to S3/Azure
volumeMounts :
- name : backup
mountPath : /backup
env :
- name : PGPASSWORD
valueFrom :
secretKeyRef :
name : jitera-postgresql
key : password
volumes :
- name : backup
persistentVolumeClaim :
claimName : backup-pvc
restartPolicy : OnFailure
PostgreSQL のリストア
# バックアップをPodにコピー
kubectl cp backup-20240101.dump jitera/ $PG_POD :/tmp/
# リストア
kubectl exec -n jitera $PG_POD -- pg_restore -U jitera -d jitera -c /tmp/backup-20240101.dump
MongoDB バックアップ
以下のコマンドは クラスター内(in-cluster)の MongoDB Pod を対象とした例です。マネージド MongoDB 互換サービス(AWS DocumentDB、Azure Cosmos DB for MongoDB 等)を使用している場合は、クラウドプロバイダーのスナップショット機能(aws docdb create-db-cluster-snapshot、Cosmos DB の continuous backup 等)を使用してください。
手動バックアップ
# MongoDB Podを取得
MONGO_POD = $( kubectl get pod -n jitera -l app.kubernetes.io/name=mongodb -o jsonpath='{.items[0].metadata.name}' )
# バックアップを作成
kubectl exec -n jitera $MONGO_POD -- mongodump --out /tmp/backup
# バックアップをローカルにコピー
kubectl cp jitera/ $MONGO_POD :/tmp/backup ./mongo-backup- $( date +%Y%m%d )
MongoDB のリストア
# バックアップをPodにコピー
kubectl cp ./mongo-backup-20240101 jitera/ $MONGO_POD :/tmp/backup
# リストア
kubectl exec -n jitera $MONGO_POD -- mongorestore /tmp/backup
オブジェクトストレージのバックアップ
AWS S3
S3 バージョニングとクロスリージョンレプリケーションを使用します:
# バージョニングを有効化
aws s3api put-bucket-versioning \
--bucket jitera-prod-automation \
--versioning-configuration Status=Enabled
# レプリケーションを設定(宛先バケットが必要)
aws s3api put-bucket-replication \
--bucket jitera-prod-automation \
--replication-configuration file://replication.json
Azure Blob Storage
ソフトデリートとgeo冗長性を有効化します:
# ソフトデリートを有効化
az storage blob service-properties delete-policy update \
--account-name jiteraprod \
--enable true \
--days-retained 30
MinIO バックアップ
# mc mirrorでバックアップ
mc mirror ./charts/jitera-automation backup/jitera-automation
設定のバックアップ
Helm Values のバックアップ
# 現在の値を取得
helm get values jitera -n jitera > values-backup- $( date +%Y%m%d ) .yaml
# バージョン管理にバックアップ
git add values-backup- * .yaml
git commit -m "Backup Jitera values"
シークレットのバックアップ
# シークレットをエクスポート(暗号化済み)
kubectl get secret -n jitera -o yaml > secrets-backup.yaml
# 安全に保管(保存前に暗号化)
gpg --encrypt --recipient ops@example.com secrets-backup.yaml
災害復旧
復旧目標時間
コンポーネント RTO RPO PostgreSQL 1時間 24時間 MongoDB 2時間 24時間 オブジェクトストレージ 4時間 1時間
復旧手順
新しいクラスターをプロビジョニング
# 新しいnamespaceを作成
kubectl create namespace jitera
設定をリストア
# シークレットを適用
kubectl apply -f secrets-backup.yaml
バックアップ値でJiteraをデプロイ
helm install jitera ./charts/jitera \
-f values-backup.yaml \
-n jitera
データベースをリストア
# PostgreSQL
kubectl exec -n jitera $PG_POD -- pg_restore -U jitera -d jitera backup.dump
# MongoDB
kubectl exec -n jitera $MONGO_POD -- mongorestore /tmp/backup
機能を検証
すべてのPodが実行中であることを確認
データの整合性を検証
ユーザーログインをテスト
バックアップの検証
月次リストアテスト
テスト環境を作成
最新のバックアップをリストア
データの整合性を検証
重要な機能をテスト
結果を文書化
検証チェックリスト
外部バックアップサービス
AWS 向け
AWS Backup : RDS、S3 の自動バックアップ
EBS Snapshots : ボリュームスナップショット
Azure 向け
Azure Backup : マネージドバックアップサービス
Azure Site Recovery : 災害復旧
サードパーティ
Velero : Kubernetes バックアップツール
velero backup create jitera-backup \
--include-namespaces jitera
保持ポリシー
バックアップ種別 保持期間 日次 7日間 週次 4週間 月次 12ヶ月 年次 7年間
トラブルシューティング
バックアップ失敗
Podのログを確認
ストレージ容量を確認
認証情報を確認
接続性をテスト
リストア失敗
バックアップの整合性を検証
バージョンの互換性を確認
エラーログを確認
ターゲットがクリーンな状態であることを確認
関連ドキュメント
メンテナンス概要 バックアップ、リストア、定期メンテナンスタスク
モニタリング Jitera Self-Hostedの稼働状況・メトリクス・アラート
トラブルシューティング インシデント対応フローとよくある問題