AWSにはストレージに属するサービスががいくつかあります。
- EBS
- EFS
- S3
- Glacier
- Storage Gateway
etc…
その中でも特によく使われるのが、”EBS(Elastic Block Store)“と”S3“ですよね。
AWSを使い始めると、このEBSとS3って一体何が違うねん!
と思われる方、多いと思います。
私もAWSを触りはじめた頃、「同じストレージなのに何でサービスが分かれているのかワケわからん」と思っていました。
今回はこのような疑問を持たれている方を対象にEBSとS3の違いについてお話したいと思います。
★本記事では以下の目次で進めさせていただきます!!( ^ω^ )
ここが違う!EBSとS3の差
EC2へ直接アタッチできるかどうか
まず大きな違いはEC2サーバに直接アタッチできるかどうかです。
“EC2へ直接アタッチする”とは、WindowsでいうところのCドライブのようにOS上でストレージデバイスとして認識させ、データのやり取りができる、ということです。”マウント”とほぼ同じ意味です。
EBSはPCでいうところのHDDにあたります。
使用する際はEC2にアタッチして使います。
その点、S3はEC2にアタッチできません。
たまに「S3のバケットをEC2にマウントする」というイメージを持たれている方がいるのですが、
残念ながら、そのようなことはS3はできません。(もちろんシンボリックリンクも作れません。)
EC2はS3からネットワークを通してデータをダウンロードしたり、アップロードしたりします。
一見NASのようにも見えますが、S3単体ではES2からS3に直接マウントすることはできません。
ここが大きな違いの一つであり、勘違いしやすい部分です。
※S3単体ではNASのように使えませんが、Storage Gatewayを使えばS3をNASのように使うことが可能です。
その方法にご興味がありましたら次の記事をお読みください。
容量無制限のNASを手に入れる!MacでS3に直接接続する方法
データ転送速度が異なる
ネットワークストレージ(例えばDropBoxやGoogleDrive)はネットワーク通信を利用するため、当たり前ですがローカルのハードディスクと比べたら断然遅いですよね。
似たようなことがEBSとS3にも言えます。
S3はネットワークストレージ、EBSはローカルのハードディスクと同じです。
ということは、データを出し入れする速度はS3よりEBSの方が圧倒的に速いんです。
容量制限の有無が異なる
もう一つの大きな違いは容量制限があるかどうかです。
EBSを使用する場合、あらかじめ容量を確定させてからアタッチします。
例えばEC2インスタンスのディスク容量は30GBにしたいと思ったら、30GBのEBSを作成してEC2にアタッチします。
アタッチ後でも容量拡張はできるとはいえ、それでも上限値は定められています。(上限値16TB)
それに比べてS3は上限値はありません。
容量無制限でS3に入れ放題です。
※EBSのアタッチ後の容量拡張についてご興味がありましたら、次の記事をお読みください。
課金の仕組みが異なる
さきほどEBSはまず最初に容量を決めて作成すると書きました。
30GBだったら30GB分のEBSを作成します。
EBSは作成したら、その分利用料として支払うこととなります。
仮にそのうち実際に利用しているのが1GBであろうが、1MBであろうが30GB分が課金される仕組みです。
その点、S3は使ったら使った分だけ課金される仕組みとなります。
同じ利用データサイズだったら、これだけでS3の方がお得感ありますよね?
利用料金が異なる
課金の仕組みも異なりますが、1GBあたりの料金設定も異なります。
結論から言うとEBSよりS3の方が1GBあたりの料金は安いです。
EBS | S3 | |
---|---|---|
0〜50TBまで | 13.8円 | 2.875円 |
50〜500TBまで | 2.76円 | |
500TB以上 | 2.645円 |
※1ドル=115円で換算しています。
※2018.12.01時点の東京リージョンの料金です。正確には以下のページをご確認ください。
EBS料金 S3料金
なんとS3はEBSの5分の1程度の料金!!
※しかもS3のストレージクラスを意識するとさらにその差は開きます。
コスト削減 ストレージクラス分けでS3のコストを徹底的にしぼる!
ということは、低コストでAWSを運用したいのであれば、
ストレージ周りについて以下の2点に注意すればいいわけです。
- EBSはできる限り小さくすること
- データの格納はできる限りEBSではなくS3にすること
いかがですか?同じストレージの部類でもこんなにも大きな差があるサービスです。
適切な使い方を行い、低コスト高パフォーマンスのシステムを構築していってくださいね。
以上、hidesanでした!