【AWS】S3ストレージクラスまとめ


AWSのS3にはいくつか種類(クラス)があるので、

・何があるのか
・どんな特徴があるのか
・代表的な用途

をまとめてみます。

S3とは

そもそも、S3って何なんでしょうか。

Amazon Simple Storage Service は、インターネット用のストレージです。また、ウェブスケールのコンピューティングを開発者が簡単に利用できるよう設計されています。
Amazon S3 とは

AWS上のストレージサービスで、頭文字をとってS3と呼ばれているんですね。

そんなS3の特徴は以下の4つです。
・耐久性:99.999999999%(イレブンナイン)
・安価:月額1GB/約3円
・安定性:データは冗長化されて保存
・安全性:データを暗号化可能

ちなみに、アップロード可能な容量は1つのデータにつき5TBまでです。(デカすぎ)

補足
1オブジェクトのサイズが最大5TBで、1回のPUTオペレーションでアップ出来るオブジェクトのサイズが5GBとなります。
5GBを超える場合には、マルチパートアップロード(分割送信)を用いて並列してアップロードを行います。

S3のストレージクラス

S3には以下のストレージクラスが存在します。

・Standard(標準)
・Standard-IA(低頻度アクセス)
・One Zone-IA(1ゾーン低頻度アクセス)
・Glacier(アーカイブ)
・Glacier Deep Archive(アーカイブ)

それぞれの特徴をみていきます。

Standard

標準的なストレージクラスです。

複数のAZにまたがってデータを複製するため、耐久性が高い(99.999999999%)です。
遅延も少なく、スループットが高いので、幅広い用途に使用できます。

代表的な用途
・クラウドアプリケーション
・動的なウェブサイト
・コンテンツ配信
・モバイルやゲームのアプリケーション
・ビッグデータ分析

Standard-IA

アクセス頻度は低いけど、必要な時にすぐに取り出したいという用途で使用するストレージクラスです。

Standardとスペックは同様なのに安価です。
しかし、こちらはデータを取り出す際に料金がかかります。

代表的な用途
・長期保存
・バックアップ
・災害対策ファイルのデータストア

One Zone-IA

Standard-IAのAZが1つになったバージョンです。

Standard-IAは複数のAZにまたがってデータを保存しますが、
こちらは1つのAZ内にのみデータを保存するため、Standard-IAよりも20%ほど安価になります。

冗長性を気にしないようなデータの保存に向いています。

代表的な用途
・セカンダリバックアップのコピー

Glacier

セキュア・高耐久性・低価格の三拍子が揃ったストレージクラスです。
オンプレのストレージと同等か、それより低いコストでデータの保存が可能です。

しかし、データの読み出しには数分〜数時間かかるため、長期間のデータアーカイブ用途がメインとなります。

代表的な用途
・メディア資産の保存
・ヘルスケア情報のアーカイブ
・規制及びコンプライアンスのアーカイブ
・科学的データのストレージ
・デジタル保存

Glacier Deep Archive

S3で最安のストレージクラスです。

1年で1回か2回しかアクセスされないようなデータの長期保存に向いています。

Glacierに保存するものよりも、よりアクセス頻度が低いものを保存するイメージです。
その分、データの読み出しにはより長い時間(12時間以内)がかかります。

代表的な用途
・磁気テープの代替
・会計データ
・学籍情報

ストレージクラスの比較

それぞれの特徴をざっくり比較してみます。

Standard Standard-IA One Zone-IA Glacier Glacier Deep Archive
冗長性
読み出し料金 なし あり あり あり あり
読み出し時間

もっと詳しく知りたい方は、公式を参照してくださいな。
Amazon S3 ストレージクラス

Intelligent-Tiering

アクセス頻度ごとに自分でストレージクラス変えないといけないの!?めんどくさ!
と思った方もいるかと思います。

そんなことはありません。ちゃんといい感じのものが用意されています。

Intelligent Tieringは、それぞれのファイルへのアクセス頻度を計測して
OneZone-IAを除く上記4つのストレージクラスへ自動的にデータを振り分けてくれます。
(手動で振り分けを設定するライフサイクルポリシーというものもありますが、今回は割愛します。)

こちらを使用することで、コスト効率を最低化することができます。

デフォルトでは、以下のようにデータを振り分けます。(アーカイブアクセス有効化時)

・データをStandardへ保存
・30日連続でアクセスされなかったものはStandard-IAへ移動
・90日連続でアクセスされなかったものはGlacierへ移動
・上記+180日連続でアクセスされなかったものはGlacier Deep Archiveへ移動

また、下層のストレージクラスへ振り分けられたデータに再度アクセスがあった際には、
自動的に高頻度のアクセス階層へ移動してくれます。

例えば、Glacierに保存されているデータにアクセスがあった場合、
GlacierからStandardへ移動してくれるなど。

データをどのぐらいの頻度で使用するかわからない場合、Intelligent-Tieringを使用するのが良いでしょう。

代表的な用途
・ストレージアクセスパターンが不明なデータセットの保存
・データレイクのように予測できないアクセスパターンを持つデータセットの保存

まとめ

S3を使用する際は、データの使用頻度に応じて適切なストレージクラスを選択しましょう。

参考

Amazon S3 とは
Amazon S3 ストレージクラス

この記事はAWS初学者を導く体系的な動画学習サービス
「AWS CloudTech」の課題カリキュラムで作成しました。
https://aws-cloud-tech.com