S3バックアップ
Amazon S3へのバックアップ設定
Amazon S3バケットにバックアップを保存します。S3互換ストレージ(MinIO、Wasabi等)にも対応しています。
Amazon S3への基本的な使い方
コマンドライン:
lightfile-batch local /path/to/images \
--backup-fs s3 \
--backup-s3-bucket my-backup-bucket \
--backup-s3-region us-west-2 \
--backup-s3-acl private \
--backup-s3-access-key AKIAIOSFODNN7EXAMPLE \
--backup-s3-secret-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYYAML設定ファイル:
backup:
fileSystem: s3
s3:
bucket: my-backup-bucket
region: us-west-2
acl: private
accessKeyId: AKIAIOSFODNN7EXAMPLE
secretAccessKey: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
mode: strict
local:
dir: /path/to/imagesS3互換ストレージ(MinIO等)
MinIOなどのS3互換ストレージも使用できます。
注意: S3互換ストレージでは、forcePathStyleが必要な場合があります。MinIOなどのPath-Styleエンドポイントを使用するストレージでは、--backup-s3-force-path-styleオプション(またはYAMLでforcePathStyle: true)を指定してください。
コマンドライン:
lightfile-batch local /path/to/images \
--backup-fs s3 \
--backup-s3-endpoint https://minio.example.com \
--backup-s3-bucket my-backup-bucket \
--backup-s3-region us-east-1 \
--backup-s3-acl private \
--backup-s3-force-path-style \
--backup-s3-access-key minioadmin \
--backup-s3-secret-key minioadminYAML設定ファイル:
backup:
fileSystem: s3
s3:
endpoint: https://minio.example.com
bucket: my-backup-bucket
region: us-east-1
acl: private
forcePathStyle: true
accessKeyId: minioadmin
secretAccessKey: minioadmin
local:
dir: /path/to/images容量管理
S3バックアップでは、バックアップの合計サイズを管理できます。
注意: ディスク空き容量ベースの管理(freeSpaceThreshold/targetFreeSpace)はS3バックアップでは使用できません。バックアップサイズベースの管理のみ対応しています。
推奨: S3ライフサイクルポリシーを使用
S3バックアップでは、S3のライフサイクルポリシーを使用してバックアップを管理することを強く推奨します。
バックアップサイズベースの管理は、S3バケット全体のスキャンが発生するため、バックアップ容量が大きいと処理に時間がかかります。S3のライフサイクルポリシーを使えば、スキャン不要で効率的にバックアップを管理できます。
バックアップサイズベース(非推奨)
バックアップの合計サイズを監視し、上限を超えたら古いバックアップから順に削除します。
コマンドライン:
lightfile-batch local /path/to/images \
--backup-fs s3 \
--backup-s3-bucket my-backup-bucket \
--backup-s3-region us-west-2 \
--backup-s3-acl private \
--backup-s3-max-total-size 100gb \
--backup-s3-target-total-size 80gb \
--backup-check-interval 2gbYAML設定ファイル:
backup:
fileSystem: s3
checkInterval: 2gb # チェック間隔(デフォルト: 1gb)
s3:
bucket: my-backup-bucket
region: us-west-2
acl: private
maxTotalSize: 100gb # 最大サイズ: この値を超えたらクリーンアップ
targetTotalSize: 80gb # 目標サイズ: クリーンアップ後の目標サイズ
local:
dir: /path/to/images動作:
- バックアップの合計サイズが
maxTotalSize(100GB)を超える - 古いバックアップから順に削除
- 合計サイズが
targetTotalSize(80GB)以下になるまで削除を続行