ログ保持とは?ログをどれだけ保管するかの解説
ログ保持とは、調査上の価値をストレージコストやコンプライアンス上の必要性と天秤にかけながら、ログデータを削除またはアーカイブするまでどれだけ保管するかを決めるポリシーです。
ログは有用ですが大量であり、そのすべてを永遠に保管するのは、費用的にも賢明さの点でも現実的ではありません。ログ保持は、各種類のログをどれだけ生かしておくかについての意図的な決定です。正しく行えば、調査やコンプライアンスに十分な履歴を保てます。誤ると、過剰に支出するか、必要だったデータを失います。
なぜ保持が決定事項なのか
ログの保管は、量と期間に応じて増えるコストがかかるため、保持は後回しにできる事柄ではなくトレードオフです。保持が少なすぎると、調査は関連ログがすでに消えている壁にぶつかります。多すぎると、誰も照会しないデータを溜め込むために支払うことになります。正しい答えはログの種類によって異なります。
保持期間を決める要因
- 運用上の必要性: 最近のログは、デバッグやインシデント対応で最も照会されます。
- コンプライアンスと法的要件: 一部の規制は、特定のログを一定の最低期間保管することを義務付けます。
- コスト: 保持期間が長く量が多いほど、ストレージの請求額が高くなります。
- セキュリティ: 監査ログやアクセスログは、通常のアプリケーションログより長い保持が必要になることが多いです。
階層型の保持
一般的なパターンは階層化です。最近のログを短い期間ホットで即座に検索可能に保ち、その後古いログをより安価で低速なアーカイブストレージに移し、最終的に区切りを過ぎたら削除します。これにより、頻繁に照会するデータを高速かつ安価に保ちながら、ロングテールの履歴を安価に保存できます。
保持と集計・メトリクスの比較
価値を保つために生ログを保持し続ける必要はありません。頻繁に必要となる情報を、保持がはるかに安価なメトリクスへと昇格させれば、トレンドを失わずに生ログの保持を短縮できます。何をログとして保持し、何をメトリクスに蒸留するかを決めることは、保持戦略の一部です。
CI/CDログの保持
buildとdeployのログも同じ論理に従います。最近のpipelineログは直近の失敗をデバッグするうえで非常に貴重ですが、数か月前のbuildのログがホットストレージを正当化することはめったにありません。CIログに妥当な保持を設定し、deployや監査記録はより長く保持することで、暴走するコストなしに履歴を有用に保てます。
重要なポイント
- ログ保持とは、ログを削除するまでどれだけ保管するかということです。
- 運用上の必要性、コンプライアンス、コスト、セキュリティのバランスを取ります。
- 階層型の保持は、最近のログをホットに、古いログを安価に保ちます。
- CI/CDのログには妥当な保持が必要で、deployや監査記録はより長く保持します。