S3 Intelligent-Tiering によるストレージコスト最適化 - アクセスパターンに応じた自動階層化
アクセスパターンに応じて自動的にストレージ階層を移行する仕組みと、ライフサイクルポリシーとの使い分け、アーカイブ層の活用を紹介します。
自動階層化の仕組み
S3 Intelligent-Tiering はオブジェクトのアクセスパターンを自動的に監視し、最もコスト効率の良いアクセス層に移動します。高頻度アクセス層と低頻度アクセス層は自動的に有効で、30 日間アクセスのないオブジェクトが低頻度アクセス層に移行します。オプトインでアーカイブアクセス層 (90 日間未アクセスで移行) とディープアーカイブアクセス層 (180 日間未アクセスで移行) を有効化でき、それぞれ Glacier Flexible Retrieval と Glacier Deep Archive 相当のストレージ料金で保存できます。アーカイブ層のオブジェクトにアクセスすると自動的に高頻度アクセス層に復元されます。
ライフサイクルポリシーとの使い分け
ライフサイクルポリシーは経過日数に基づく固定ルールでストレージクラスを移行するため、アクセスパターンが明確に予測できるデータに適しています。一方、Intelligent-Tiering は実際のアクセスパターンに基づいて動的に階層化するため、アクセス頻度が変動するデータや予測困難なデータに最適です。Intelligent-Tiering ではオブジェクトあたり月額のモニタリング料金が発生するため、128 KB 未満の小さなオブジェクトが大量にある場合はモニタリング料金がストレージ料金の削減効果を上回る可能性があります。大きなオブジェクトでアクセスパターンが不規則なワークロードで最もコスト効果が高くなります。
アーカイブ層と監視
S3 Intelligent-Tiering のオプションのアーカイブアクセス層 (90 日未アクセス) とディープアーカイブアクセス層 (180 日未アクセス) を有効にすると、長期間アクセスされないオブジェクトが自動的に Glacier 相当のストレージに移行します。アーカイブ層のオブジェクトにアクセスすると、数時間 (アーカイブ) または 12 時間以内 (ディープアーカイブ) で高頻度アクセス層に自動復元されます。 CloudWatch メトリクスで各層のオブジェクト数とストレージ量を監視し、階層化の効果を定量的に評価します。 S3 Storage Lens で Intelligent-Tiering の適用状況をアカウント全体で可視化します。 ストレージ最適化に関する詳しい解説はAmazon の関連書籍でも確認できます。
Intelligent-Tiering の料金
Intelligent-Tiering の高頻度アクセス層は S3 Standard と同じ料金 (1 GB あたり月額約 0.023 ドル) です (2026 年 8 月時点)。低頻度アクセス層は約 40% 安価 (約 0.0125 ドル/GB)、アーカイブ層は約 0.004 ドル/GB、ディープアーカイブ層は約 0.00099 ドル/GB です。監視と自動階層化の料金が 1,000 オブジェクトあたり月額約 0.0025 ドル発生します。128 KB 未満のオブジェクトは常に高頻度アクセス層に保持され、監視料金は課金されません。小さいオブジェクトが大量にある場合、監視料金がストレージ削減効果を上回る可能性があるため、事前にコスト試算を行います。
適したデータと向かないデータ
Intelligent-Tiering が最も効果を発揮するのは、アクセス頻度が予測しにくいデータです。利用パターンが読めず、ライフサイクルルールを手動で設計するのが難しいデータを、自動で最適な階層に振り分けてくれます。一方、アクセスパターンが明確に分かっているデータには、固定のライフサイクルルールで階層を指定するほうがシンプルで無駄がありません。また、ごく小さなオブジェクトが大量にある場合は、監視のための費用が相対的に割高になることがあるため、特性を見極めて使います。データの性質に応じて、自動化が得か手動設計が得かを判断することが重要です。
アーカイブアクセス層の活用
Intelligent-Tiering には、長期間アクセスのないデータを、より低コストなアーカイブ向けの階層へ自動的に移す機能があります。これを有効にすると、頻繁に使うデータは即座にアクセスできる階層に保ちつつ、長く触れられていないデータは大幅に安い階層へ移されます。ただし、アーカイブ階層に移ったデータの取り出しには時間がかかるため、即時アクセスが必要なデータには向きません。取り出しまでの待ち時間を許容できるかを踏まえて、アーカイブ層を有効にするかを判断します。アクセスの即時性と保管コストのバランスを、データの用途に合わせて設計します。
導入と移行
Intelligent-Tiering は、バケットやプレフィックス単位で適用でき、新しく保存するオブジェクトのストレージクラスとして指定します。既存のデータも、ライフサイクルルールで Intelligent-Tiering へ移行できます。導入後は、各オブジェクトの監視に少額の費用がかかる点を理解しておきます。多数の小さなオブジェクトでは、この監視費用が無視できない場合があるため、対象とするデータを見極めます。アクセスパターンが不明な大容量データから適用を始め、効果を確認しながら範囲を広げるのが、無理のない導入の進め方になります。
他の最適化手法との組み合わせ
Intelligent-Tiering は、他のコスト最適化手法と組み合わせるとさらに効果的です。アクセス階層の移行は自動化しつつ、不要になったデータを一定期間後に削除するライフサイクルルールは別途設定し、保管そのものをやめる判断を加えます。ストレージの利用状況を可視化するツールで、どのデータがどの階層にあり、どれだけコストがかかっているかを把握し、最適化の余地を見つけます。自動階層化に任せきりにせず、全体のデータ保持方針と合わせて運用することで、ストレージコストを継続的に低く保てます。複数の手法を組み合わせた設計が鍵です。
まとめ
S3 Intelligent-Tiering はアクセスパターンに基づく自動階層化で、取り出し料金なしにストレージコストを最適化するサービスです。高頻度、低頻度、アーカイブ、ディープアーカイブの 4 層で最大 95% のコスト削減を実現し、アクセス時に自動復元されるため運用の手間がかかりません。アクセスパターンが予測困難なデータに最適で、ライフサイクルルールとの使い分けが重要です。