ストレージ容量の最適化:クラウドの空き容量を増やす方法
重複排除、圧縮、賢いアーカイブでストレージ容量を最適化し、無駄なスペースを取り戻してストレージコストを削減する方法を解説します。
クラウドストレージの最適化は通常、4つのアクションで請求額の30〜60%を削減できます。孤立データの削除、同一オブジェクトの重複排除、テキスト中心のコンテンツの圧縮、そしてコールドデータをGlacier・Azure Archive・B2に階層化することです。最適化前に月23万円かかっていたAWSの100TBバケットが、必要なファイルを1つも失わずに月8万円に下がることがあります。作業の大部分は地味です。インベントリ・分析・ライフサイクルルールの適用ですが、節約は毎月複利で積み上がります。圧縮より前に、まず計測から始めてください。
削る前に監査する
S3 Inventory・Azure Storage Analytics・GCSのバケットロックレポートを実行して、すべてのオブジェクトのマニフェストを作成してください。キー・サイズ・最終更新日・ストレージクラス・タグが含まれます。これをAthena・BigQuery・DuckDBに読み込んでクエリします。
最適化されていないバケットの典型的な調査結果:
- オブジェクトの20〜40%が90日以上アクセスされていない(コールド層の候補)
- 5〜15%がSHA-256ハッシュで完全な重複
- 10〜20%が孤立している — 作成したアプリケーションが消滅済み
- 30〜50%がテキスト/ログ/JSONでzstdで3:1圧縮できる
計測しないものは修正できません。初回監査に1日かけると、次の1か月の最適化でどこに費やすべきかがわかります。
明らかな無駄を最初に削除する
高度な処理の前に、存在すべきでないものを削除してください。よくある犯人:
- 不完全なマルチパートアップロード(S3は明示的なabortまで保持し、数年続くことがある)
- 空のオブジェクト(バイト数ゼロだが、メタデータは課金される)
- 保持ポリシーより古いログファイル
- 一時ファイル(
.tmp・~$*・*.bak・.DS_Store・Thumbs.db) - 立ち上げたが忘れられた実験からのテストデータ
aws s3api list-multipart-uploadsを実行して7日以上前のものをすべてabortしてください。AbortIncompleteMultipartUploadを含むライフサイクルルールがこれを永続的に自動化します。S3では1つのルール:
Filter: prefix ""
AbortIncompleteMultipartUpload: DaysAfterInitiation: 7
ペタバイト規模のバケットで孤立したマルチパートが月に数十万円のコストになっていた事例があります。
重複排除:ファイルレベルとブロックレベル
ファイルレベルの重複排除は同一オブジェクトを削除します。ハッシュが同じ = バイトが同じ。rdfind・fdupes・jdupesなどのツールがディレクトリをスキャンして重複を報告します。クラウドバケットの場合は、インベントリCSVを処理してSHA-256でグループ化し、ハッシュごとに1つの正規コピーを残します。重複は正規キーを参照する小さなJSONファイルに置き換えるか、参照されていない場合は単に削除します。
ブロックレベルの重複排除はZFS・Btrfs・専用バックアップ製品(Veeam・Commvault・Rubrik)などのストレージシステムが行うものです。ファイルを4〜128KBのブロックに分割し、各ブロックをハッシュして、各ユニークハッシュを1回だけ保存します。VMバックアップセットはブロックレベルで90%が冗長になることがあり、10:1の圧縮を実現します。バックアップバケットでは重要ですが、一般的なファイルストレージではほとんど関係ありません。
ファイルタイプ別の圧縮戦略
すべてのファイルが圧縮されるわけではありません。JPEGやMP4やZipはすでに圧縮済みのため、gzipをかけてもCPUを無駄にするだけで何も得られません。しかしテキスト中心のフォーマットは大幅に縮小します。
- JSONログ:gzipで80〜90%削減、zstdで85〜92%
- CSVエクスポート:75〜85%
- .docx(すでにzip):5〜10%(スキップ)
- .xlsx:10〜15%(スキップ)
- .pdf:0〜5%(スキップ — PDFは内部圧縮がある)
- SQLダンプ:85〜90%
現代のパイプラインにはzstdを使ってください。同等の圧縮率でgzipより2〜3倍高速に解凍できます。S3にローテーションするログには、compress_program=zstdを使ったlogrotate設定で帯域幅とストレージの両方を節約できます。すでに圧縮されたフォーマットを絶対に再圧縮しないでください。0.5%の利得はCPU時間に見合いません。
アクセスパターンによる階層化
ホットデータは高速ストレージに、コールドデータは安価なストレージに属します。S3 Intelligent-Tieringはこれを自動化します。30日間アクセスがなければオブジェクトはInfrequent Access(0.0125ドル/GB)に移動し、90日でArchive Instant、180日でDeep Archiveになります。このサービスは監視対象1,000オブジェクトあたり0.0025ドルを課金するため、小さなファイル(128KB未満)はオーバーヘッドに見合いません。
決定論的な制御が必要な場合は、明示的なライフサイクルルールを書いてください。
- 30日目:Standard → Standard-IA
- 90日目:Standard-IA → Glacier Instant Retrieval
- 365日目:Glacier IR → Glacier Deep Archive
- 2555日目:削除(
legal-holdタグが付いていない場合)
ルールはすべての新規アップロードに自動適用されます。年齢が均等に分布した100TBのバケットは、すべてをStandardに置いた場合と比べて月15万円以上節約できます。
小ファイルのオーバーヘッド処理
すべてのクラウドには最小課金オブジェクトサイズがあります。S3 Standard-IAはオブジェクトが4KBでも128KB分を課金し、Glacier Instant Retrievalも同様です。Glacier FlexibleとDeep ArchiveはオブジェクトあたりのメタデータをStandard-IAレートで40KB分課金します。
Standard-IAに400万件の4KBファイルがある場合、40GBではなく1.28TB分を支払うことになります。解決策:階層化前に小さなファイルを月単位のTARまたはZIPアーカイブにパックしてください。tar czf 2026-12-logs.tar.gz logs/2026-12/で数千のオブジェクトが1つになります。取り出しのために並行インデックス(ファイル名→オフセットのCSV)を保持してください。
画像と動画の最適化
メディアはストレージを支配することが多いです。従来のJPEGをWebP(30%小さい)またはAVIF(50%小さい)にcwebpやavifencで変換してください。動画は古いH.264 MP4をH.265(HEVC)またはAV1に再エンコードしてください。H.264の1GB 1080p動画がH.265で400MBになり、視覚的な品質の低下はありません。
画像が多いCMSサイトには、ImageMagickまたはffmpegで一括変換を実行し、オリジナルをDeep Archiveに保持して、最適化されたバージョンを配信してください。Cloudflare ImagesとAWS CloudFrontのImage Optimizerはオンデマンドでバリアントを生成するため、1つの正規コピーを保存してリサイズ・再エンコードされたバージョンをリクエストに応じて配信できます。
クラウドサイロをまたいだ重複検出
企業環境では同じファイルがOneDrive・Google Drive・Dropbox・SharePointに散在していることが多いです。真の最適化はサイロをまたぐ重複の検出を意味します。Varonis・Egnyte・rclone(--track-renamesとチェックサム比較付き)などのツールがプロバイダーをまたいでファイルをハッシュし、重複をフラグできます。
散在したannual-report-2024.pdfのコピーを1つの正規の場所に集めるようなアドホックな統合には、ラップトップ経由の往復を省ける専用転送ツールが便利です。HexaTransferはAES-256-GCM暗号化で最大10GBのファイルを人と人の間で直接移動するため、途中で別のサイロにアップロードせずに重複を統合できます。
変化を計測する
最適化後にもう一度計測してください。Storage Lens(AWS)・Cost Management(Azure)・GCPのコスト内訳に削減が反映されるはずです。請求額が下がっていない場合は何かが間違った方向に動いています。オブジェクトをStandardに戻してしまうライフサイクルルール(よくある)や、ストレージをリージョン間で3倍にする意図しないレプリケーションを確認してください。
ストレージの増加を月次でレビューするリマインダーを設定してください。明らかなビジネス上の理由なく月10%増加しているバケットは通常、廃棄物を蓄積しています。早期に発見すれば — 四半期ごとの2時間の儀式で — 月5万円の請求サプライズ後の緊急最適化プロジェクトを防げます。
hexatransfer.com で今すぐ試せます — 無料、アカウント不要、最大10GB。
エンドツーエンド暗号化で大容量ファイルを安全に送信
エンドツーエンド暗号化で最大10GBのファイルを無料で転送。アカウント不要。ファイルはアップロード前にブラウザで暗号化されるため、他の誰にも読まれません。
ファイルを送信