AWSストレージサービスのそれぞれの特徴


はじめに

AWSには様々なストレージサービスがあります。
一番よく聞くのはS3でしょう。他にもEBSEFSなどもストレージサービスに含まれます。
では、それらは一体なにが違うのでしょうか。

実はストレージ形式というのを意識すると、それぞれの違いのイメージが湧きやすいです。
ストレージ形式には大きく分けるとブロックストレージ・ファイルストレージ・オブジェクトストレージの3種類があります。
それぞれのストレージ形式と、それらに相当するAWSストレージサービスについて特徴を書いていこうと思います。

ブロックストレージとは(EBSに相当)

ブロックストレージは、物理マシンの記録領域をボリュームという単位で分割、さらにその内部を固定長のブロックに切り出して、そのブロックにデータを保存、管理するというストレージ形式です。
身近な例でいうとHDDやSSDなどがブロックストレージです。
我々がHDDやSSDを使っているなかでボリュームという単位を意識しなくていいのはファイルシステムのおかげです。
ブロックストレージを各OSに対応したファイルシステムにフォーマットすることで、我々は難しいことは考えずにファイルを保存したり呼び出したりできるわけです。

EBS(Elastic Block Store)

AWSストレージサービスにおいてはとEBSがブロックストレージに当たります。

EBSはEC2インスタンスにアタッチ及びマウントして利用するストレージです。
EC2インスタンスのホストマシンとは別の外部マシンのリソースを使用しています。

EC2インスタンス作成の際、最低でも1つ以上のEBSをアタッチさせる必要があり、必ず1つはルートボリューム(ブートされる際に必要なOSが格納されているHDDまたはSSD)です。
後からEBSをアタッチした場合はファイルシステムをフォーマットしてマウントするという作業が必要になります。
設定によってはインスタンス終了と同時に削除することも可能ですが、EBSだけを残すことも可能です。
また、インスタンスとEBSは同じAZに配置する必要があります。
さらに、1つのEBSに対して複数のインスタンスをアタッチすることはできません。

(インスタンスタイプによってはEBSではなくインスタンスストアというブロックストレージを選択することも可能です。インスタンスストアはEC2インスタンスのホストマシンに物理的にアタッチされたディスクをリソースとしています。また揮発性という特徴があり、インスタンスを停止・休止・終了した場合はデータは失われます。)

ファイルストレージとは(EFSに相当)

ファイルストレージにおいて、データは「フォルダ」や「ディレクトリ」といった形式で、階層的に管理、保存されます。階層的に保存されたデータには一意のパスを用いて、階層をたどっていく形でアクセスします。
ストレージにファイルシステムを組み込むことによって、ファイル単位でのデータの読み書きが可能になりました。

代表的な例はNFSサーバです。
NFS(Network File System)とは、その名の通りネットワーク越しにファイルにアクセスするための仕組みです。
NFSを使用すれば、ネットワークを介してファイルサーバー上のストレージ領域をローカルサーバーのハードディスクなどと同様に利用可能です。複数のサーバー間でのファイル共有が簡単に実現でき、複数のサーバーから共有しているファイルシステムに対して同時アクセスできるというメリットがあります。

EFS(Elastic File System)

AWSにおいてはEFSというサービスがあります。一言でいうと「EFS=マネージドのNFSサーバ」です。
VPC内に配置し、複数のAZまたはインスタンスへマウントすることが可能です。サーバ間でファイルを共有する場合に用いられることが多いです。

オブジェクトストレージとは(S3に相当)

オブジェクトストレージはデータを「オブジェクト」という単位で扱う記憶装置です。

オブジェクトにはストレージシステムのなかで固有のID(URI)が付与され、データとそれを扱うためのメタデータによって構成されています。 メタデータは通常のファイルシステムでも作成日や作成者などの情報を持っていましたが、オブジェクトではデータの種類、保存期間やコピー回数など、より多くの情報を付加できます。

また、ディレクトリのような階層構造はなく、ストレージプールというオブジェクトの入れ物のみが作成され、メタデータによって管理されます。オブジェクト同士はフラットな関係で、データの移動で階層構造が変わることはありません。

S3(Simple Storage Service)

AWSにおいてはS3が相当します。
ディレクトリ構造で管理するファイルストレージとは異なり、データサイズやデータ数の保存制限がないため、大容量データ(画像や動画ファイル)の保存に適しています。

S3の機能やオプションは非常にたくさんあり、ログファイルの保存から静的WEBサイトの公開などなど、様々な用途で使用されます。
気になる方はAWS公式サイトより調べてみてください。

さいごに

ここまでざっくりとまとめてみましたが、下記に記載した参考サイトでは図などを交えながらもっと詳しく説明されているので、気になった方はぜひ見てみてください!

参考サイト