38
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

S3のストレージタイプ(標準, 低頻度,1ゾーン低頻度)を使い分けてストレージコストを最小化する

Last updated at Posted at 2018-11-07

追記

概要

S3には4つのストレージタイプがあり用途によって使い分けることでコストを最小化できます。

例えばWebサービスで配信する画像のように「頻繁にアクセスする」用途では「標準」が最適ですが、バックアップデータ(データベースダンプやサイトを構成するファイル群)やログファイルのように「たまにしか使わないけど、必要になった場合はすぐに取り出したい」というような用途の場合は「低頻度ストレージ(標準 or 1ゾーン)」を利用することでストレージコストを低減できます。

この記事では、以下について検討してみました。

  • 低頻度ストレージを利用するとどれくらい料金が節約できるのか?
  • どのような用途の時に利用すればよいのか?
  • 留意点(落とし穴)は何か?

(公式)ストレージクラス - Amazon S3(クラウドストレージ)|AWS

ストレージタイプの比較

ストレージタイプ 識別子 用途 レイテンシ 保管されるゾーン数 最小ストレージ期間 可用性 保管料金(1) 標準を100とした場合の料金
標準 STANDARD 配信画像・映像、分析データなど ミリ秒 3以上 99.99% 0.025 100
標準/低頻度 STANDARD_IA バックアップ ミリ秒 3以上 30日 99.90% 0.019 76
1ゾーン/低頻度 ONEZONE_IA ログ ミリ秒 1 30日 99.50% 0.0152 60.8
Glacier REDUCED_REDUNDANCY 長期アーカイブ 分または時(選択) 3以上 90日 該当なし 0.005 20

※低頻度ストレージタイプの識別子に含まれる"IA"は**Infrequent Access(まれなアクセス)**の略です。

なお、本記事の投稿後(18/11/08)に以下の記事がAmazon公式ブログで公開されてました。日付は2018/11/27。こちらもストレージタイプの違いや用途・留意点について記載されていますのでご覧いただくと良いかと思います。

新機能- Intelligent TieringによるAmazon S3の自動的なコスト最適化( | Amazon Web Services ブログ

低頻度ストレージを利用するとどれくらい料金が節約できるのか?

「保存」に関してだけで考えると約25%~40%の低減が可能です。(上述した比較表の「標準を100とした場合の料金」を参照)

ただし、「データの保管期間が短い場合」や「取り出し頻度が多い場合」は「低頻度ストレージ」のほうが「標準ストレージ」より高額になることもありえるので注意が必要です。詳しくは後述。

低頻度ストレージ検討時の留意点(落とし穴)

低頻度ストレージを選ぶ場合は、「最小ストレージ期間」に注意が必要です。
これは1日や1週間しか保存しないデータでも30日分の料金が請求されるという意味です。
例えば毎日上書きするデータや1週間しか保存しないデータは「標準」で保存したほうが有利です。
(具体的には、毎日上書きする場合は1ヶ月で30オブジェクトx30日分の課金発生!!)

【2021年3月1日追記】この料金仕様は直観と違うので、たぶん苦情が多かったのだと思いますが、S3の料金(AWS公式ページ)に明記されるようになっていました。

S3 Intelligent Tiering、S3 標準 – IA、S3 1 ゾーン – IA のストレージには、最低 30 日間のストレージ料金が課金されます。
30 日が経過する前にオブジェクトが削除された場合、その 30 日の残りのストレージ料金が日割りで請求されます。
30 日が経過する前にオブジェクトが削除されたり、上書きされたり、別のストレージクラスに移行されたりした場合、
通常のストレージ利用料金に加えて、その 30 日の残りのリクエスト料金が日割りで請求されます。

また保管料金そのものは「標準ストレージ」と比べると安いですが、データの取り出し時に料金が加算されることの考慮も必要です。(目安としては0.01USD/GB)
料金(低頻度アクセス) - Amazon S3(クラウドストレージ)|AWS

表現を変えると「取り出し時課金」がないので、頻繁にアクセスされるデータは「標準ストレージ」を選択します。

以上より以下のような特徴のある場合は低頻度ストレージで保管するのに適していると言えます。

  • 頻繁にはアクセスしない
  • 必要になった場合は迅速に取り出したい
  • 30日以上保管する[^2]
  • (さらに1ゾーンの場合は)重要度が低い(万が一消えても復元できる)

AWS CLIでの利用

aws cliで利用する場合は、 --storage-class <識別子> と指定することでストレージクラスを指定できます。
以下は、1ソーン/低頻度を指定した例です。(指定しない場合は「標準(STANDARD)」と扱われます)

aws s3 cp /path/to/object s://bucket/path/to/ --acl private  --storage-class ONEZONE_IA

※識別子ONEZONE_IA は aws-cliのバージョン1.15.83以降でないと利用できません。(1.14だと以下のエラーが発生します。)

aws: error: argument --storage-class: Invalid choice, valid choices are:

STANDARD                                 | REDUCED_REDUNDANCY                      
STANDARD_IA                             

追記

S3上のオブジェクトの「ストレージクラスの変更」ダイアログでの表示

  1. GBあたりの単価で単位はUSD。東京リージョンの最初の50TB

38
25
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
38
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?