S3 Intelligent-Tiering によるストレージコスト最適化 - アクセスパターンに応じた自動階層化
アクセスパターンに応じて自動的にストレージ階層を移行する仕組みと、ライフサイクルポリシーとの使い分け、アーカイブ層の活用を紹介します。
自動階層化の仕組み
S3 Intelligent-Tiering はオブジェクトのアクセスパターンを自動的に監視し、最もコスト効率の良いアクセス層に移動します。自動で有効になるのは 3 層で、既定の高頻度アクセス層から、30 日間アクセスのないオブジェクトが低頻度アクセス層へ、さらに 90 日間アクセスのないオブジェクトがアーカイブインスタントアクセス層へ移行します。この 3 層はいずれも低レイテンシーかつ高スループットで、ミリ秒単位で取り出せます。加えてオプトインでアーカイブアクセス層 (最短 90 日間未アクセスで移行) とディープアーカイブアクセス層 (最短 180 日間未アクセスで移行) を有効化でき、それぞれ Glacier Flexible Retrieval と Glacier Deep Archive 相当のストレージ料金で保存できます。低頻度アクセス層とアーカイブインスタントアクセス層のオブジェクトは GetObject などでアクセスすると自動的に高頻度アクセス層へ戻りますが、オプトインの 2 層は非同期アクセスが前提で、RestoreObject リクエストによる明示的な復元が必要です。
ライフサイクルポリシーとの使い分け
ライフサイクルポリシーは経過日数に基づく固定ルールでストレージクラスを移行するため、アクセスパターンが明確に予測できるデータに適しています。一方、Intelligent-Tiering は実際のアクセスパターンに基づいて動的に階層化するため、アクセス頻度が変動するデータや予測困難なデータに最適です。Intelligent-Tiering ではオブジェクトあたり月額のモニタリングと自動階層化の料金が発生しますが、128 KB 未満のオブジェクトはこの料金の対象外です。ただし対象外である代わりに自動階層化の対象にもならず、常に高頻度アクセス層に保持されて同層の料金がかかるため、小さなオブジェクトが大半を占めるバケットでは削減効果がほとんど得られません。大きなオブジェクトでアクセスパターンが不規則なワークロードで最もコスト効果が高くなります。
アーカイブ層と監視
S3 Intelligent-Tiering のオプションのアーカイブアクセス層とディープアーカイブアクセス層を有効にすると、長期間アクセスされないオブジェクトが自動的に Glacier 相当のストレージに移行します。移行までの未アクセス日数は、アーカイブアクセス層が最短 90 日、ディープアーカイブアクセス層が最短 180 日で、いずれも最大 730 日まで延長して設定できます。アーカイブアクセス層を 90 日で有効にすると、自動階層のアーカイブインスタントアクセス層をバイパスして直接アーカイブアクセス層へ移るため、ミリ秒アクセスを手放して保管料金を下げる選択になります。これら 2 層のオブジェクトは GET だけでは取得できず、RestoreObject リクエストで復元を開始する非同期の手順が必要です。標準取り出しの所要時間はアーカイブアクセス層が 3〜5 時間、ディープアーカイブアクセス層が 12 時間以内で、S3 バッチオペレーションから復元を開始する場合はそれぞれ数分以内、9 時間以内に復元処理が始まります。復元リクエストは 1 アカウント・1 リージョンあたり毎秒 1,000 件まで実行できます。 CloudWatch メトリクスで各層のオブジェクト数とストレージ量を監視し、階層化の効果を定量的に評価します。 S3 Storage Lens で Intelligent-Tiering の適用状況をアカウント全体で可視化します。
Intelligent-Tiering の料金
(2026 年 8 月時点・米国東部 (バージニア北部) / アジアパシフィック (東京)) Intelligent-Tiering の高頻度アクセス層は S3 Standard と同じ料金で、1 GB あたり月額 0.023 ドル (バージニア北部・最初の 50 TB) / 0.025 ドル (東京) です。低頻度アクセス層は 0.0125 ドル / 0.0138 ドル、自動階層のアーカイブインスタントアクセス層は 0.004 ドル / 0.005 ドル、オプトインのアーカイブアクセス層は 0.0036 ドル / 0.0045 ドル、ディープアーカイブアクセス層は 0.00099 ドル / 0.002 ドル (いずれも 1 GB あたり月額) で、階層が下がるごとに単価も下がります。これに加えて監視と自動階層化の料金が 1,000 オブジェクトあたり月額 0.0025 ドル (両リージョン共通) 発生します。128 KB 未満のオブジェクトはこの料金の対象外ですが、自動階層化もされず常に高頻度アクセス層に保持されます。オブジェクト数が多く 1 件あたりのサイズが小さいバケットでは階層化による削減が働きにくいため、事前にオブジェクトサイズの分布を確認します。
適したデータと向かないデータ
Intelligent-Tiering が最も効果を発揮するのは、アクセス頻度が予測しにくいデータです。利用パターンが読めず、ライフサイクルルールを手動で設計するのが難しいデータを、自動で最適な階層に振り分けてくれます。一方、アクセスパターンが明確に分かっているデータには、固定のライフサイクルルールで階層を指定するほうがシンプルで無駄がありません。また、128 KB 未満のごく小さなオブジェクトが大量にある場合は、監視の費用がかからない代わりに自動階層化の対象にもならず、常に高頻度アクセス層の料金がかかるため、特性を見極めて使います。データの性質に応じて、自動化が得か手動設計が得かを判断することが重要です。
アーカイブアクセス層の活用
Intelligent-Tiering には、長期間アクセスのないデータを、より低コストなアーカイブ向けの階層へ自動的に移す機能があります。これを有効にすると、頻繁に使うデータは即座にアクセスできる階層に保ちつつ、長く触れられていないデータは大幅に安い階層へ移されます。ただし、アーカイブ階層に移ったデータは GET だけでは取得できず、RestoreObject による復元を挟んで数時間待つ必要があるため、即時アクセスが必要なデータには向きません。復元を前提にアプリケーション側を作り込む手間も含めて、待ち時間を許容できるかを踏まえ、アーカイブ層を有効にするかを判断します。アクセスの即時性と保管コストのバランスを、データの用途に合わせて設計します。
導入と移行
Intelligent-Tiering は、バケットやプレフィックス単位で適用でき、新しく保存するオブジェクトのストレージクラスとして指定します。既存のデータも、ライフサイクルルールで Intelligent-Tiering へ移行できます。導入後は、128 KB 以上の各オブジェクトの監視に少額の費用がかかる点を理解しておきます。128 KB 未満のオブジェクトはこの費用の対象外ですが階層化もされないため、小さなファイルばかりのデータでは効果が出にくく、対象とするデータを見極めます。アクセスパターンが不明な大容量データから適用を始め、効果を確認しながら範囲を広げるのが、無理のない導入の進め方になります。
他の最適化手法との組み合わせ
Intelligent-Tiering は、他のコスト最適化手法と組み合わせるとさらに効果的です。アクセス階層の移行は自動化しつつ、不要になったデータを一定期間後に削除するライフサイクルルールは別途設定し、保管そのものをやめる判断を加えます。ストレージの利用状況を可視化するツールで、どのデータがどの階層にあり、どれだけコストがかかっているかを把握し、最適化の余地を見つけます。自動階層化に任せきりにせず、全体のデータ保持方針と合わせて運用することで、ストレージコストを継続的に低く保てます。複数の手法を組み合わせた設計が鍵です。
まとめ
S3 Intelligent-Tiering はアクセスパターンに基づく自動階層化で、階層間の移行や取り出しに追加料金なくストレージコストを最適化するサービスです。高頻度、低頻度、アーカイブインスタントアクセスの 3 層が自動で働き、オプトインのアーカイブアクセスとディープアーカイブアクセスを加えた 5 層構成で最大 95% のコスト削減を実現します。自動の 3 層はアクセスすれば高頻度アクセス層へ自動で戻るため運用の手間がかかりませんが、オプトインの 2 層は RestoreObject による明示的な復元が必要です。アクセスパターンが予測困難なデータに最適で、ライフサイクルルールとの使い分けが重要です。
参考資料 (AWS 公式)
本ページの一次情報は AWS 公式サイトおよび公式ドキュメントです。最新の仕様 / 料金は次の公式ページで確認できます。
本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。