はじめに
AWSの中では、S3,EBS,EFSの3つのタイプのストレージがよく使われています。AWS初心者の方は、違いや利用シーンについて疑問を持つかもしれません。
ストレージタイプについて
先に一般的なストレージタイプを理解しましょう。
Block StorageとObject Storageの二つタイプがあります。例として、サイズ100MBの単一ファイルで説明します。
Block Storage
Block Storageは一つ一つのpieceで構成されていますので、ファイルの更新で変わるデータのpieceだけを修正すれば大丈夫です。
Object Storage
ファイルを更新するには、全部(100MB)を更新する必要があります。つまり、古いファイルを削除して、新規ファイルを作り直すイメージです。もちろん、時間がBlock Storageよりかかります。
簡単に言うと、
ファイルに書き込み、読み出しの両方の操作をよくやるケースだと、Block Storageは理想的な選択肢です。
一つのファイルをサーバにおいて、読み出し操作ばかりやるなら、Object Storageはもっと効率的な方法です。
AWSのストレージ
タイトルの話に戻ると、AWSでは、EBSがBlock Storageです。EFSもBlock Storageだけど、比較的にコストが高いです。
S3はObject Storageです。
S3ユースケース
- WORM(Write Once Read Many times) の場合、S3を利用します。例えば、ログシステムのログファイルではお勧めします。静的なウェブサイトファイルも。
- 拡張性が必要だったりサイズが未定な場合、S3を利用し、ファイルをダウンロードして使います。
3.OSシステムやデータベースの場合、EBSを利用します。S3はお勧めしません。サーバの場合、EBSが望ましいです。
EBSユースケース
- リードとライト機能から見ると、持続的な、パフォーマンスがいい選択肢です。
- 同じAZにあるec2からmountできます。レプリケーションも可能です。
EFSユースケース
1.同じリージョンのマルチAZ間でレプリケーションを行えます。
2.VPN や Direct Connect で接続された複数のオンプレミスサーバ(premise server)でマウントできます。
3.同じリージョンの複数のEC2にmountできます。例えば、ファイルシステムを利用する時、ケースだっと、マルチサーバを一つファイルサーバを利用する場合、マルチサーバにmountできます。
4.サイズの制限がありません。
おわりに
当社では、トヨタ車のサブスク「KINTO」等の企画/開発を行っており、エンジニアを募集中です。
KINTO Technologies コーポレートサイト