ストレージサービスS3とEFSについて
AWSのストレージサービス 〜S3とEFS〜
AWSではS3やEBS、EFSなどのストレージサービスがいくつかあります。ここではS3とEFSの2つについて、特徴や料金を比較しながら見ていきましょう。
Amazon S3とは
S3とはSimple Storage Serviceの略でその名の通り最も基本的かつシンプルなストレージサービスです。
オブジェクトストレージサービスであり、バケットにオブジェクト単位で収納しキーで識別されます。
S3の特徴
・柔軟なストレージ機能
ストレージがデータ量に合わせて自動的に拡張・縮小します。このため事前に正確な容量を計算する必要はありません。
・高い耐久性と可用性
標準S3は少なくとも3つのAvailability Zone(AZ)にデータを格納しているため、高い耐久性(99.999999999%)を持ちます。障害やエラー、様々な脅威から守られているので、貴重なデータや機密性の高い情報の管理に適しています。
・HTTP・HTTPS
HTTP・HTTPSのプロトコルでファイルやデータをオブジェクトとして格納、参照、削除を行います。
・オブジェクト数は無制限
バケット内のオブジェクト数は無制限です。
・他のストレージサービスと比べて安価
S3はEFSやEBSと比べて安価な価格設定がされています。
S3のサービス
・ライフサイクル
オブジェクトごとにライフサイクルを設定することができます。一定時間が経過するとオブジェクトを削除したり、低価格なストレージに移動したりといったことができます。ユースケースとしては、大量のログをS3に保存して、利用頻度が低くなった半年前のものは低価格なストレージにうつしていくなどの設定をすることができます。
・バージョニング
同じバケット内でオブジェクトの複数のバージョンを保持し、格納、取得、復元することができます。バージョニングによって、意図しないユーザーアクションからもアプリケーション障害からも、簡単に復旧できます。誤った操作時にもとに戻すことができるので、バージョニングを有効にしておくと安心です。
・ログ記録
オブジェクトに対するログを残すことができます。
・静的Webサイトホスティング
S3をWebサーバーのように使い、静的なサイトを公開することができます。
・イベント
Lambda関数を設定してS3イベントで動かすことができます。オブジェクトの操作をトリガーに、様々な処理を行うことができます。
化しておくことができます。 サーバーサイド、クライアントサイド、それぞれの暗号化に対応しています。
Amazon EFSとは
EFSとは、Elastic File System の略で2018年7月に東京リージョンで提供が開始されたストレージサービスのひとつです。EFSはファイルストレージサービスであり、データはディレクトリ階層にファイルとして格納され、ネットワーク越しにアクセスして共有されます。
EFSの特徴
・共有ファイルストレージとしての利用
複数のEC2インスタンスからのアクセスだけでなく、オンプレミスのサーバとも同時にアクセス可能です(AWS Direct Connect必須)。
そのため、複数にスケールしたアプリケーションからも同じファイルにアクセス可能です。
また同一リージョンであれば異なるAvailabilityZoneでもアクセス可能です。
EFSが登場するまでEC2で主に利用するストレージはEBSでしたが、EBSは同時に複数のEC2インスタンスからマウントすることはできませんでした。
・容量制限がなく、使用量に応じで容量が拡張される
S3と同じくストレージ容量は無制限です。またデータの追加・削除似合わせてストレージが拡張・縮小されます。
・NFSv4でアクセスすることが可能
・フルマネージド型
フルマネージド型のためサーバマシンやオペレーティングシステム(OS)の管理に加え、NFSサーバー自体の管理もAWSに任せることができます。
・SSDベース
SSDベースになっており、大規模ワークロードに必要なスループットやIOPSを提供します。
・高い耐久性と可用性
S3と同様に高い耐久性と可用性があります。
※【注意】Windowsのファイル共有サービスSMBはサポートしていません
S3とEFSのメリット
・自動スケーリング
クラウドのメリットでもありますが、S3とEFSは自動で容量を拡張可能です。拡張やデータ削除によるファイルサーバの縮小などでサービスの停止などは発生しません。
データ量によってプランをわざわざ変更する必要はなく、管理の手間がかかりません。
・耐久性と可用性の高さ
AWSの特徴でもありますが、ストレージはいくつかのAZに格納されています。AZ自体も複数のデータセンターで構成されているため一つのデータセンターやAZがダウンしてしまっても可用性に影響がありません。安全かつ継続的に使えるという点は、クラウド系のサービスにおいて非常に重要なポイントです。
S3とEFSの比較
EFS | S3 | |
---|---|---|
レイテンシ | 低 | 低 |
スループット | 数GB単位/sec | 毎秒 1GB/sec |
可用性 | 複数AZに保存 | 複数AZに保存 |
アクセス | 複数EC2・オンプレサーバ | ウェブ |
料金 | 0.33USD | 0.023USD |
まとめ
S3とEFSどちらも安全性、可用性に優れたストレージサービスで、データ使用量によって課金されるシステムとなっています。料金だけで見るとEFSはS3より10倍以上の価格となっています。また、EFSは複数のEC2から同時アクセスが可能なためファイル共有として使うことができます。S3は多機能かつ安価という特徴から安全にデータ管理するストレージとして利用することもできます。
それぞれの特徴に合わせて、用途にあったストレージサービスを選びましょう。