AWS のストレージ階層化戦略 - S3 のストレージクラス全整理と Intelligent-Tiering の自動最適化

AWS S3 のストレージクラス群と Intelligent-Tiering による自動最適化を、Azure Blob Storage や GCS のストレージ階層と比較し、階層の刻み方と自動化の設計差、使い分けの指針を解説します。

ストレージコスト最適化の本質

クラウドストレージのコストは、データ量の増加に伴って線形に増大します。企業が保有するデータの大半はアクセス頻度が低い「コールドデータ」であり、すべてのデータを高性能なストレージクラスに保存し続けることはコストの無駄です。ストレージ階層化とは、データのアクセス頻度に応じて最適なストレージクラスに配置し、性能とコストのバランスを取る戦略です。AWS の S3 はこの階層化のために、汎用から深層アーカイブまで用途を絞ったストレージクラス群を用意しており、取り出しにかかる時間 (ミリ秒 / 数分 / 数時間) とストレージ単価の組み合わせを段階的に選び分けられます。階層が細かいほど、ワークロードの特性に合わせた精密なコスト最適化が可能になります。さらに Intelligent-Tiering による自動最適化は、人手による階層管理の負荷を大幅に軽減します。

S3 のストレージクラス全体像

(2026 年 8 月時点・米国東部 (バージニア北部) / アジアパシフィック (東京)) S3 の公式なストレージクラスの列挙は、S3 Standard、S3 Intelligent-Tiering、S3 Express One Zone、S3 Standard-IA、S3 One Zone-IA、S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive、S3 Outposts の 9 つです。ただし S3 Outposts はオンプレミスに設置した Outposts ラック上にデータを置くための特殊枠で、リージョン内のクラウドストレージをどう階層化するかという話とは前提が異なります。通常のリージョンで階層設計の候補になるのは Outposts を除く 8 つで、このうち Intelligent-Tiering は個別の階層ではなく次節で扱う自動階層化のクラスです。Standard は頻繁にアクセスされるデータ向けで、最も高い可用性と低レイテンシを提供します。Standard-IA (Infrequent Access) はアクセス頻度が低いが即座に取り出す必要があるデータ向けで、ストレージ単価は 1 GB あたり月額 0.0125 ドル (バージニア北部) / 0.0138 ドル (東京) です。同じ条件の Standard は最初の 50 TB が 0.023 ドル / 0.025 ドルなので、単価差は 45% 前後になります。One Zone-IA は単一 AZ に保存することでさらにコストを下げます。Glacier Instant Retrieval はアーカイブデータでありながらミリ秒単位の取り出しが可能で、Glacier Flexible Retrieval は数分から数時間の取り出し時間を許容する代わりにさらに安価です。Glacier Deep Archive は最も安価なクラスで、12 時間以内の取り出しを前提としたコンプライアンス用途に適しています。Express One Zone は高性能な単一 AZ ストレージで、分析ワークロードに最適化されています。

Intelligent-Tiering の自動最適化

S3 Intelligent-Tiering は、オブジェクトのアクセスパターンを自動的に監視し、最もコスト効率の良いストレージ階層に自動移動させる機能です。自動で働くのは高頻度アクセス層、低頻度アクセス層、アーカイブインスタントアクセス層の 3 層で、30 日間アクセスがないオブジェクトは低頻度アクセス層に、90 日間アクセスがなければアーカイブインスタントアクセス層に移行します。この 3 層はいずれも低レイテンシーでミリ秒単位に取り出せ、GetObject などでアクセスすると追加の取り出し料金なしで高頻度アクセス層へ自動復帰します。加えてオプトインでアーカイブアクセス層 (最短 90 日間未アクセスで移行) とディープアーカイブアクセス層 (最短 180 日間未アクセスで移行) を有効化できますが、この 2 層は非同期アクセスが前提で、GET だけでは取得できず RestoreObject リクエストによる明示的な復元が必要です。自動復帰が効くのは低レイテンシーの 3 層に限られる、という線引きが設計上の分岐点になります。この自動化の価値は、アクセスパターンが予測困難なデータセットにおいて特に大きくなります。手動でライフサイクルポリシーを設計する場合、アクセスパターンの見積もりを誤ると、頻繁にアクセスされるデータを安価な層に移動してしまい、取り出し料金が嵩むリスクがあります。Intelligent-Tiering はこの見積もりミスによるリスクを大幅に軽減しますが、代わりにオブジェクトあたり月額の監視と自動階層化の料金が発生します。128 KB 未満のオブジェクトはこの料金の対象外である一方、自動階層化の対象にもならず常に高頻度アクセス層の料金がかかるため、小さなオブジェクトが大半を占めるバケットでは削減効果がほとんど得られません。適用前にオブジェクトサイズの分布を確認します。

Azure Blob Storage との比較

(2026 年 8 月時点・Microsoft 公式ドキュメント記載値) Azure Blob Storage は Hot、Cool、Cold、Archive の 4 つのアクセス層を提供しています。推奨される最低保存期間は Cool が 30 日、Cold が 90 日、Archive が 180 日で、その期間内に削除したり別の層へ移すと早期削除料金が発生します。Hot、Cool、Cold はオンライン層でミリ秒単位のアクセスが可能ですが、Archive はオフライン層で、読み出す前にオンライン層へリハイドレートする必要があり、指定した優先度によって最大 15 時間かかります。対して S3 はアーカイブ帯を取り出し時間で 3 クラスに分けており、Glacier Instant Retrieval の「アーカイブ寄りの単価でミリ秒取り出し」と、Glacier Flexible Retrieval や Glacier Deep Archive の「さらに安価だが数時間待つ」をクラス選択だけで指定できます。Azure でこの中間帯を担うのはオンライン層の Cold ですが、Cold は Cool より読み取り側の課金が高くなる設計で、最安の Archive はオフラインという二分になるため、「安さも即時性も」という要件ではどちらかを妥協する形になります。自動階層化については Azure も Smart tier を備えており、Hot、Cool、Cold の間を使用パターンに基づいて自動移動できます。Lifecycle Management のルール条件にも、作成時刻と最終更新時刻に加えて (アクセス時刻トラッキングを有効にすれば) 最終アクセス時刻を使えます。ただし Lifecycle Management ポリシーから Archive 層のブロブをオンライン層へ戻すことはできないため、オフライン層まで下げたデータの復帰は Copy Blob などで別途手当てする設計が必要になります。

GCS との比較

GCS (Google Cloud Storage) は Standard、Nearline、Coldline、Archive の 4 つのストレージクラスを提供しています。GCS の特徴は、すべてのクラスで同一の API とレイテンシを提供する点です。Coldline や Archive からの取り出しも Standard と同等の速度で行えるため、取り出し時間を気にする必要がありません。この設計はシンプルで使いやすい反面、S3 のように取り出し速度とコストのトレードオフを細かく制御することはできません。GCS の Autoclass 機能は S3 Intelligent-Tiering に相当する自動階層化ですが、S3 Intelligent-Tiering の方が階層の数が多く、より細かい粒度での最適化が可能です。また S3 のライフサイクルポリシーは、オブジェクトのプレフィックス、タグ、サイズなどの条件を組み合わせた複雑なルールを定義でき、大規模なデータレイクの管理において柔軟性が高いです。

ストレージ階層化の実践的な設計指針

ストレージ階層化を効果的に活用するには、データのアクセスパターンを正確に把握することが出発点です。S3 Storage Lens はバケット全体のアクセスパターンを可視化し、どのプレフィックスにどの程度のアクセスがあるかを分析できます。アクセスパターンが明確なデータにはライフサイクルポリシーを適用し、パターンが不明確なデータには Intelligent-Tiering を適用するのが基本戦略です。コンプライアンス要件で長期保存が必要なデータは Glacier Deep Archive に、監査ログのように低頻度だが即時アクセスが必要なデータは Glacier Instant Retrieval に配置します。

まとめ

AWS S3 のストレージクラス群は、アクセス頻度と取り出し要件の組み合わせに応じた精密なコスト最適化を可能にしています。Azure Blob Storage の 4 層や GCS の 4 クラスと比較すると、S3 はアーカイブ帯を取り出し時間で 3 クラスに分けているため、「アーカイブ寄りの単価でミリ秒取り出し」という要件をクラス選択だけで満たせる点が実務上の差別化ポイントです。Intelligent-Tiering による自動最適化は、アクセスパターンが予測困難なデータセットにおいて手動管理の負荷と設計ミスによるコストリスクを同時に軽減します。ただし監視と自動階層化の料金、128 KB 未満のオブジェクトの扱い、オプトイン層では RestoreObject が必要になる点が前提条件として付くため、対象データの性質を確認したうえで適用範囲を決めます。データ量が増え続ける現代において、ストレージコストの最適化はクラウド運用の重要課題です。取り出し時間の刻みとアクセスパターンベースの自動階層化を組み合わせられる S3 は、この課題に対して選択肢の幅が広い基盤といえます。

参考資料 (AWS 公式)

本ページの一次情報は AWS 公式サイトおよび公式ドキュメントです。最新の仕様 / 料金は次の公式ページで確認できます。

本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。

共有する