Amazon S3 Glacier
長期アーカイブ向けの超低コストストレージサービスで、1 GB あたり月額約 0.005 ドルからデータを保存でき、コンプライアンス要件にも対応する
概要
Amazon S3 Glacier は、データのアーカイブと長期保存に特化した超低コストのストレージサービスです。S3 のストレージクラスとして統合されており、S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive の 3 つの層があります。Deep Archive は 1 GB あたり月額約 0.002 ドル (東京リージョン) と、S3 Standard の約 10 分の 1 のコストでデータを保存できます。Vault Lock 機能を使えば、WORM (Write Once Read Many) ポリシーを適用してデータの改ざんや削除を防止でき、金融機関や医療機関のコンプライアンス要件 (SEC Rule 17a-4、HIPAA など) にも対応します。S3 ライフサイクルポリシーと組み合わせることで、データの経過日数に応じて自動的に Glacier に移行する運用が可能です。
3 つのストレージ層と取り出し速度のトレードオフ
Glacier は取り出し速度とコストのバランスが異なる 3 つの層で構成されています。S3 Glacier Instant Retrieval はミリ秒単位でデータを取り出せますが、保存料金は Flexible Retrieval より高く、四半期に 1 回程度アクセスするデータに最適です。S3 Glacier Flexible Retrieval には Expedited (1 - 5 分)、Standard (3 - 5 時間)、Bulk (5 - 12 時間) の 3 つの取り出し速度があり、緊急度に応じて選択できます。S3 Glacier Deep Archive は Standard (12 時間以内) と Bulk (48 時間以内) の 2 つで、年に 1 - 2 回しかアクセスしないデータの長期保存に最適です。Deep Archive の保存料金は 1 GB あたり月額約 0.002 ドル (東京リージョン) と、S3 Standard の約 10 分の 1 です。Azure Blob Storage の Archive 層も同程度の保存料金ですが、取り出し (リハイドレーション) は Standard で最大 15 時間かかり、Glacier Flexible Retrieval の Expedited (1 - 5 分) のような高速取り出し手段がない点が異なります。
Vault Lock と WORM によるコンプライアンス対応
Glacier の Vault Lock 機能は、金融機関や医療機関のコンプライアンス要件を満たすための重要な仕組みです。WORM (Write Once Read Many) ポリシーを Vault に適用すると、指定した保持期間中はデータの削除や上書きが技術的に不可能になります。SEC Rule 17a-4 (証券取引記録の保存義務) や HIPAA (医療情報の保護) への対応で広く利用されています。Vault Lock ポリシーは一度ロックすると変更も取り消しもできない点が特徴で、管理者であっても保持期間中のデータ削除はできません。S3 Object Lock も同様の WORM 機能を提供しますが、Vault Lock はアーカイブ全体に対するポリシー適用、Object Lock はオブジェクト単位での適用という粒度の違いがあります。Amazon の専門書 でアーカイブ設計を体系的に学べます。
ライフサイクルポリシーによる自動階層化の設計
Glacier を実務で活用する際の中心となるのが、S3 ライフサイクルポリシーとの組み合わせによる自動階層化です。典型的な設計では、作成後 30 日で S3 Standard から S3 Standard-IA に移行、90 日で Glacier Flexible Retrieval に、365 日で Deep Archive に自動移行するルールを設定します。この設計で重要なのは、各層の最低保存期間の制約です。Glacier Flexible Retrieval は最低 90 日、Deep Archive は最低 180 日の保存が課金対象となるため、頻繁にデータを削除する場合は早期削除料金が発生します。取り出しコストの見積もりも事前に行うべきで、Expedited 取り出しは GB あたりの料金が最も高く、大量データの復旧には Bulk 取り出しが最もコスト効率に優れます。災害復旧 (DR) シナリオでは、復旧時間目標 (RTO) に応じて Instant Retrieval と Flexible Retrieval を使い分け、RTO が数時間以内なら Flexible Retrieval の Standard 取り出し、即時復旧が必要なら Instant Retrieval を選択します。