コンテンツへスキップ
HexaTransfer
ブログへ戻る
クラウドとストレージ

ファイルライフサイクル管理:作成から削除まで

作成、アクティブ利用、アーカイブ、安全な削除までのポリシーを通じて、デジタル資産のライフサイクルを管理する方法を解説します。

ファイルライフサイクル管理は各ステージでファイルに何が起こるかを定義します。作成(タグ付け・分類・暗号化)、アクティブ利用(ホットストレージ・バージョニング・アクセス制御の下での共有)、非アクティブ(30〜90日でIAまたはCoolへ移行)、アーカイブ(Glacier Deep ArchiveまたはAzure Archive)、破棄(暗号的消去+監査記録)。よく設計されたライフサイクルはストレージコストを60〜80%削減し、GDPRの第5条1項(e)のストレージ制限と個人情報保護法(APPI)・個人情報保護委員会(PPC)のガイドラインを満たします。すべてポリシーにより、手動作業なしで適用されます。コツはポリシーをコードとして書き、ペタバイト規模に適用する前に小さなサンプルでテストすることです。

ステージ1:意図を持った作成

ファイルのライフサイクルは作成時に始まります。この時点で設定されたメタデータがその後のすべてを決定します。保持クラス・機密レベル・所有者・プロジェクト。これらを取り込まないアップロードエンドポイントは、結局行われない手動タグ付けを強制します。

取り込み時の最低限のメタデータセット:

  • owner:AD/SSOユーザーIDまたはサービスアカウント
  • created-by-app:ファイルを作成したシステム
  • content-class:document・log・media・backup・temp
  • retention-class:sox-7y・hipaa-6y・temp-30d・indefinite
  • confidentiality:public・internal・restricted・secret

PutObject時にS3 Object TagsまたはAzure Blob Index Tagsに埋め込んでください。必須タグを検証し、欠けているアップロードを拒否するLambdaが初日からカタログをクリーンに保ちます。

ステージ2:ホット層でのアクティブ利用

アクティブ利用中のファイルは最速で最も高価な層に置かれます。S3 Standard(0.023ドル/GB)・Azure Hot(0.0184ドル/GB)・GCS Standard(0.020ドル/GB)。レイテンシ(100ms未満)とスループットが重要で、アクセスパターンは予測できません。

アクティブ利用中:

  • 上書きと誤削除を防ぐためバージョニングを有効化
  • 監査のためにアクセスログをSIEMに流す
  • KMSカスタマー管理鍵による暗号化
  • 外部共有には事前署名URL(最大7日間)

ホット層での標準的な滞留時間:30〜90日。それ以降はアクセス頻度が通常十分に下がり、コールド層が有利になります。

ステージ3:ウォームストレージへの移行

30日間アクセスがなければ、ほとんどのファイルはInfrequent Access層に移行します。S3 Standard-IA(0.0125ドル/GB)・Azure Cool(0.0152ドル/GB)・GCS Nearline(0.010ドル/GB)。取り出しレイテンシは100ms未満のままですが、取り出しコストが発生します。S3 IAは取り出し時に0.01ドル/GBを課金します。

この移行のライフサイクルルール:

{
  "ID": "active-to-ia",
  "Status": "Enabled",
  "Filter": {"Prefix": "documents/"},
  "Transitions": [{"Days": 30, "StorageClass": "STANDARD_IA"}]
}

最小オブジェクトサイズに注意してください。S3 IAは実際に4KBのオブジェクトでも128KB分の料金を課金します。128KB未満のオブジェクトはIA層よりStandardのほうが安くなります。ObjectSizeGreaterThan: 131072でライフサイクルルールをフィルタリングして小さなオブジェクトを除外してください。

ステージ4:長期保持のためのアーカイブ

90日以上触れられていないファイルはほぼ再び触れられませんが、保持要件の対象かもしれません。コールドアーカイブ層に移動してください。S3 Glacier Flexible Retrieval(0.0036ドル/GB)・S3 Glacier Deep Archive(0.00099ドル/GB)・Azure Archive(0.00099ドル/GB)・GCS Archive(0.0012ドル/GB)。

取り出し遅延が大きくなります:

  • Glacier Instant Retrieval:ミリ秒
  • Glacier Flexible Retrieval:Standard 3〜5時間、Expedited 1〜5分
  • Glacier Deep Archive:Standard 12時間、Bulk 48時間
  • Azure Archive:最大15時間の再水和

現実的な復元SLAに合わせて層を選んでください。四半期に一度の監査ファイルを、監査人が24時間前通知する場合にDeep Archiveに入れないでください。

ステージ5:保持保留とコンプライアンス

規制はしばしばビジネス上の有用性を超えたファイルの保持を要求します。SOX:7年。HIPAA:6年。SEC規則17a-4:3〜6年。GDPRと個人情報保護法(APPI):目的達成後は遅滞なく削除が原則ですが、例外として消去権の規定があります。

タグ駆動の保持とWORMストレージで実装してください。

  • retention-classタグがライフサイクルのタイミングを制御
  • S3 Object LockのComplianceモードが保持期間中の削除を防止(rootでさえ削除不可)
  • 法的保留タグ(legal-hold: true)がライフサイクル移行を無期限に凍結
  • 監査ログがすべてのアクセスとタグの変更を記録

FINRA 4511とSEC 17a-4(f)の規制下のブローカーディーラーには、WORMストレージが必須です。誤った実装(Complianceモードの代わりにGovernanceモード)は7桁の罰金を招いた例があります。

ステージ6:安全な破棄

最終的な削除がライフサイクルを閉じます。「安全」とは、データが復元不可能であり、その行動が文書化されていることを意味します。

アプローチ:

  • ソフト削除+遅延パージ:削除済みとマークし、30日後にパージ(回復可能)
  • 暗号的消去:暗号化鍵を削除し、暗号文がノイズになる
  • 物理的上書き:DoD 5220.22-M 3パス書き込み(オンプレのみ関連)

クラウドオブジェクトストレージでは、暗号的消去が実用的な方法です。各バケットまたはオブジェクトクラスがKMSキーを使用し、鍵を削除するとオブジェクトは数分以内に復元不可能になります。AWS・Azure・GCPすべてがこのパターンをサポートしています。CloudTrailの同等物で削除をログに記録してください。

監査ログの要件:オブジェクトキー・VersionId・タイムスタンプ・実行者・理由コード・適用された保持ルールを記録。監査ログはそれが説明するデータより長く保持してください。7年後にファイルを削除する場合、削除ログは10年間保持してください。

ライフサイクル横断の共有処理

異なるライフサイクルステージのファイルは異なる方法で共有されます。アクティブなプロジェクトファイル:編集者権限のDriveリンク。社外の弁護士が必要なアーカイブされた契約書:ウォーム層に復元し、事前署名URLを生成し、契約期間後にウォームコピーを削除します。

アーカイブされたファイルの単発共有には、転送ツールによりアーカイブシステムへの外部アクセス付与の複雑さを避けられます。HexaTransferはAES-256-GCMエンドツーエンド暗号化とワンタイムリンクで最大10GBを送信します。アーカイブされたファイルを取り出し、送信して完了です。アーカイブはそのままで、弁護士はIAMロールのプロビジョニングなしに必要なものを受け取ります。

ポリシー・アズ・コードパターン

すべてのライフサイクルルールをTerraform・CloudFormation・Pulumi・Bicepでコード化してください。コンソールを手動でクリックしないでください。利点:

  • プルリクエスト経由のピアレビュー
  • ポリシー変更のバージョン履歴
  • terraform planによるドライラン
  • コミットを元に戻すことによるロールバック

Terraformのスニペット例:

resource "aws_s3_bucket_lifecycle_configuration" "docs" {
  bucket = aws_s3_bucket.docs.id
  rule {
    id     = "tiering"
    status = "Enabled"
    transition { days = 30  storage_class = "STANDARD_IA" }
    transition { days = 90  storage_class = "GLACIER_IR" }
    transition { days = 365 storage_class = "DEEP_ARCHIVE" }
    expiration { days = 2555 }
  }
}

コミット・レビュー・適用します。最初に開発バケットでテストし、フィルタープレフィックスを徐々に拡大して本番に展開してください。

ライフサイクルの有効性を測定する

月次で追跡:

  • 層別の総ストレージ(ホット・ウォーム・アーカイブ)
  • 層別コスト
  • オブジェクトの年齢分布
  • コールド層からの取り出し率(高い場合は層の設定が間違っている)
  • 削除率と理由

S3 Storage Lens・Azure Cost Management・GCPのストレージインサイトがすべてこれらのダッシュボードを提供します。健全な成熟したライフサイクル:ホット10%・ウォーム20%・アーカイブ70%で、コールド取り出しは年1%未満。それ以外はポリシーの調整が必要です。

ライフサイクル設計の演習

新しいワークロードのライフサイクルを設計する際、5つの質問に答えてください。

  1. どの法的保持要件が適用されるか?
  2. 30・90・365日後の現実的なアクセスパターンは?
  3. 古いファイルが必要になった場合の許容復元時間は?
  4. 削除トリガーは何か?時間・イベント・リクエスト?
  5. 監査証拠の要件は?

これらの回答が層のスケジュール・保持ロック・法的保留機能・監査パイプラインを決定します。Terraformを書く前にこの5つの答えを得てください。うまくいかないライフサイクルのほとんどは、質問フェーズをスキップして他人のポリシーをそのままコピーしたチームから始まっています。

hexatransfer.com で今すぐ試せます — 無料、アカウント不要、最大10GB。

エンドツーエンド暗号化で大容量ファイルを安全に送信

エンドツーエンド暗号化で最大10GBのファイルを無料で転送。アカウント不要。ファイルはアップロード前にブラウザで暗号化されるため、他の誰にも読まれません。

ファイルを送信