目次
はじめに
こんにちは、株式会社エーピーコミュニケーションズ、クラウド事業部の松尾です。
本記事ではAmazon S3のクラスの違いによる料金を比較してみます。
S3 Standardは取り出しが速いが(S3の中では)コストが高い、S3 Glacierは取り出しが遅いがコストが低い、がざっくりな特徴ですが、では10年間保存するとして、1年後にStandardクラスからGlacierクラスに移動した場合はどうでしょうか。
クラスの移動には料金がかかるので、条件によってはGlacierに移動した方が高くなるのでは?と疑問に思い比較してみました。
クラスはS3 StandardとS3 Glacier Flexible Retrievalで比較していきます。
ゴール
本記事でお伝えすることは次の内容です。
- S3 StandardとS3 Glacier Flexible Retrieval (旧 S3 Glacier)の料金の違い
- 疑似シナリオでの具体的な差額
いきなり結果
忙しい方向けに結果から。
- S3 Glacier Flexible Retrieval に10年保存が最も低コスト。
- S3 Standardに1年、その後S3 Glacier Flexible Retrievalに9年保存が2番目。
- S3 Standardに10年保存が3番目。
- Glacierのみを1とすると、StandardとGlacier混在が1.1倍、Standardのみが1.7倍の料金。
- 順番は予想通りだがGlacier:Standardで2倍も差が無かったのが意外。
想定シナリオと条件
シナリオはバックアップ用途を想定して次の条件にしました。
- 1ファイルサイズは1MB
- ファイル数は1000万個
- データ量は10TB(ファイルサイズ*ファイル数)
- リージョンは東京
- 年に1回、全データを取り出す
- Glacier の場合、取り出しは「標準」取り出しで取り出す
計算してみる
次の3パターンでそれぞれ計算してみます。
- S3 Standardに10年間保存
- S3 Glacier Flexible Retrieval に10年間保存
- S3 Standardに1年間保存、その後S3 Glacier Flexible Retrieval に移動し9年間保存
Amazon S3の料金をみてみると中々複雑だったので、図にしないと理解出来ない自分向けに各パターンで発生する料金のポイントを図解しました。
【パターン1】S3 Standardに10年間保存
まずは発生する料金の項目を整理するために図解します。
東京本社から東京リージョンのS3へデータのアップロードと保管料金、取り出しではGETリクエストと転送料金が発生する、という内容です。S3 Standardが一番シンプルです。
PUTリクエストとGETリクエストの料金はこちら。
PUTリクエスト
初回のデータ配置
100万ファイル÷0.0047USD/1000リクエスト=47USDGETリクエスト
年に1回、全データを取り出す
100万ファイル÷0.00037USD/1000リクエスト=3.7USD
10年で10回取り出す
3.7USD*10年=37 USDデータ転送料金
データ転送料金はこちら。
取り出したデータの転送料金
10TB×0.114USD(GB)=1140USD
10年の料金
1140USD×10年=11400USD保管料金
保管料金はこちら。
1か月の料金
10TB×0.025USD(GB)=250USD
1年の料金
250USD×12か月=3,000USD
10年の料金
3,000USD×10年=30,000USD10年間の総額
47USD+37USD+11400USD+30,000USD=41,484USD
【パターン2】S3 Glacier Flexible Retrieval に10年間保存
PUTリクエスト
初回のデータ配置
100万ファイル÷0.03426USD/1000リクエスト=342.6USDGETリクエスト
年に1回、全データを取り出す
100万ファイル÷0.00037USD/1000リクエスト=3.7USD
10年で10回取り出す
3.7USD*10年=37 USDデータ転送料金
取り出したデータの転送料金
10TB×0.114USD(GB)=1140USD
10年で10回取り出す
1140USD*10年=11400USD保管料金
保管料金はこちら。
1か月の料金
10TB×0.0045USD(GB)=45USD
1年の料金
45USD×12か月=540USD
10年の料金
540USD×10年=5,400USDデータ取り出しリクエスト
一部のクラスではデータ取り出し時に「データ取り出しリクエスト」と「データ取り出し」の料金がかかってきます。詳細はS3料金ページを参照下さい。
タイプが「迅速」「標準」「大容量」とあります。
これは取り出しにかかる時間が短いほど料金が高くなる仕組みで、要件に応じて選択するのが良いかと思います。
詳しくはこちら。
docs.aws.amazon.com
年に1回、全データを取り出す
100万ファイル÷0.0571USD/1000リクエスト=571USD
10年で10回取り出す
571USD*10年=5710USD
データ取り出し(GB)
こちらは取り出したデータ量に応じて料金がかかってくるものです。
年に1回、全データを取り出す
10TB÷0.011USD(GB)=110USD
10年で10回取り出す
110USD*10年=1100USDオブジェクトのユーザー定義名とメタデータ
料金ページにGlacier Flexible Retrievalでは追加でメタデータが付与されるとあります。
*** S3 Glacier Flexible Retrieval と S3 Glacier Deep Archive ストレージクラスでは、適切なストレージクラス料金が課される S3 Glacier のインデックスとメタデータに対して、オブジェクトあたり 32 KB のデータがさらに必要となります。Amazon S3 では、S3 Glacier Flexible Retrieval と S3 Glacier Deep Archive にアーカイブされるオブジェクトのユーザー定義名とメタデータを保存して維持するために、オブジェクトごとに 8 KB が必要です。 ・・・中略・・・ S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive に保存されている各オブジェクトの場合、Amazon S3 はメタデータに対する課金可能な 40 KB のオーバーヘッドを追加し、それは、S3 標準レートで請求される 8 KB と S3 Glacier Flexible Retrieval または S3 Deep Archive レートで請求される 32 KB から構成されます。
整理すると、S3標準のレートで1オブジェクトあたり8KBが追加、さらにS3 Glacier Flexible Retrieval のレートで1オブジェクトあたり32KBが追加されるということになります。
ユーザーデータとメタデータを付与
(8KB/1000000バイト)GB×100万ファイル×0.025USD(GB)=2USD
1年の料金
2USD×12か月=24USD
10年の料金
24USD×10年=240USD
- オブジェクトのインデックスとメタデータ
インデックスとメタデータを付与
(32KB/1000000バイト)GB×100万ファイル×0.0045USD(GB)=1.44USD
1年の料金
1.44USD×12か月=17.28USD
10年の料金
17.28USD×10年=172.8USD
- 10年間の総額
342.6USD+37USD+11400USD+5,400USD+5710USD+1100USD+240USD+172.8USD=24402.4USD
【パターン3】S3 Standardに1年間保存、その後S3 Glacier Flexible Retrieval に移動し9年間保存
クラスの移行をすると「移行リクエスト」料金が発生します。
S3 Standard1年分の料金
PUTリクエスト
初回のデータ配置
100万ファイル÷0.0047USD/1000リクエスト=47USDGETリクエスト
年に1回、全データを取り出す
100万ファイル÷0.00037USD/1000リクエスト=3.7USDデータ転送料金
取り出したデータの転送料金
10TB×0.114USD(GB)=1140USD保管料金
1か月の料金
10TB×0.025USD(GB)=250USD
1年の料金
250USD×12か月=3,000USD
S3 Glacier Flexible Retrieval 9年分の料金
GETリクエスト
年に1回、全データを取り出す
100万ファイル÷0.00037USD/1000リクエスト=3.7USD
9年で9回取り出す
3.7USD*9年=33.3USDデータ転送料金
取り出したデータの転送料金
10TB×0.114USD(GB)=1140USD
9年で9回取り出す
1140USD*9年=10260USD保管料金
1か月の料金
10TB×0.0045USD(GB)=45USD
1年の料金
45USD×12か月=540USD
9年分の料金
540USD×9年=4860USDデータ取り出しリクエスト
年に1回、全データを取り出す
100万ファイル÷0.0571USD/1000リクエスト=571USD
9年で9回取り出す
571USD*9年=5139USDデータ取り出し(GB)
年に1回、全データを取り出す
10TB÷0.011USD(GB)=110USD
9年で9回取り出す
110USD*9年=990USDオブジェクトのユーザー定義名とメタデータ
ユーザーデータとメタデータを付与
(8KB/1000000バイト)GB×100万ファイル×0.025USD(GB)=2USD
1年の料金
2USD×12か月=24USD
9年の料金
24USD×9年=216USDオブジェクトのインデックスとメタデータ
インデックスとメタデータを付与
(32KB/1000000バイト)GB×100万ファイル×0.0045USD(GB)=1.44USD
1年の料金
1.44USD×12か月=17.28USD
9年の料金
17.28USD×9年=155.52USDライフサイクル移行リクエスト 今回のような、「S3 Standardから1年経過後にGlacier Flexible Retrievalへライフサイクルルールで移動する」場合、「ライフサイクル移行リクエスト」料金が発生します。
PUT、COPY、またはライフサイクルルールを使用してデータを S3 ストレージクラスに移動する場合、リクエストごとに取り込み料金が発生します。
ライフサイクル移行リクエスト
100万ファイル×0.03426USD/1000リクエスト=342.6USD
- 10年間の総額
S3 Standard料金
47USD+3.7USD+1140USD+3,000USD=4190.7USD
S3 Glacier Flexible Retrieval
33.3USD+10260USD+4860USD+5139USD+990USD+216USD+155.52USD+342.6USD=21996.42USD
合計
4190.7USD+21996.42USD=26187.12USD
料金面での大きな違い
具体的な料金を比較してきましたが、共通する料金もあり、違いが分かりにくい部分もありました。
そこで2つのクラスの大まかな違いのみを纏めてみました。
赤枠部分、PUTリクエストについては、Glacier Flexible Retrievalの方が約7倍高い料金設定となっています。ただ、ファイルアップロードの時だけなので、全体に対する金額の比率としては小さくなります。
次に青枠部分、保管料金はStandardの方が約6倍高くなっています。
ここはデータがある限り発生する料金で、全体に対する金額の比率は高くなります。
最後に黄枠部分、Glacierだけに発生する料金です。
黄枠のうち、「データ取り出しリクエスト」と「データ取り出し」の比率が高く、取り出すデータ量や頻度が多いと、取り出しに関する料金はStandardよりも高くなる仕組みになっています。
S3 StandardとS3 Glacier Flexible Retrievalの料金を「保管料金」と「それ以外(=主にデータ取り出しにかかる料金)」の比率を比較してみます。
S3 Standard
データ保管料金:3
それ以外(主にデータ取り出しにかかる料金):1S3 Glacier Flexible Retrieval
データ保管料金:1
それ以外(主にデータ取り出しにかかる料金):4
S3 Standardではデータ保管料金の比率が高く、Glacierでは取り出しの料金比率が高くなっていることが分かります。
ちなみに条件は最初にも記載してますが、抜粋すると次の内容です。
- 保管するデータ量は10TB
- 保管するのは10年間
- 1年に1回、全データ10TBを取り出す
まとめ
想定シナリオをGlacier向きの条件にしたので、Glacierが一番効率良いだろうなと見てましたが、実際そうでした。
ただ、思っていたほどコスト削減にはならなかった印象です。
データ保存料金がS3 standardでは0.025USD/GB、S3 Glacier Flexible Retrievalでは0.0045USD/GBと、約5.6倍(0.025/0.0045=5.6)なため、何となく4,5倍は差がある気がしていたのですが、結果としては2倍程度でした。
ストレージの使い方(データの取り出し頻度やオブジェクト1つのサイズ、保管期間、総データ量など)によって変わりますが、データ保存料金以外の料金が思いのほか影響しているのが新たな発見でした。
データ取り出しにかかる料金がGlacierで発生しますが、今回のシナリオではその金額を差し引いてもGlacierに金額面でのメリットはあることが分かりました。(注:何度も書きますが使い方に依ります)
おわりに
私達クラウド事業部はAWSなどのクラウド技術を活用したSI/SESのご支援をしております。
また、一緒に働いていただける仲間も募集中です! ご興味持っていただけましたらぜひお声がけください。