ストレージの種類

ストレージとは

ストレージは、データを永続的に保存する装置・仕組みの総称です。物理的には HDD(磁気ディスク。安価で大容量)と SSD(半導体メモリ。高速)が主役ですが、インフラ設計では「どの方式で保存するか」の理解がより重要になります。

方式は大きくブロックストレージ・ファイルストレージ・オブジェクトストレージの3つに分かれます。

3つのストレージ方式

方式データの扱い方接続イメージ代表例
ブロックストレージ固定サイズのブロックの集まりサーバーに直結する「ディスク」EBS、SAN
ファイルストレージフォルダ階層のファイルネットワーク越しの「共有フォルダ」NFS、EFS、NAS
オブジェクトストレージID(キー)付きのオブジェクトHTTP API で出し入れする「置き場」S3、Cloud Storage
  • ブロックストレージはサーバーの OS からディスクとして見え、データベースの保存先など高速性が求められる用途に向きます
  • ファイルストレージは複数サーバーから同じフォルダを共有したいときに使います
  • オブジェクトストレージは画像・動画・バックアップなどを大量に安く保存でき、容量がほぼ無制限。Web 経由でアクセスできるためクラウド時代の主役です

[[AWS]] なら EBS・EFS・S3 がそれぞれに対応します。「データベースは EBS、共有データは EFS、画像とバックアップは S3」のように使い分けるのが典型です。

選び方の考え方

  • 速度が命(データベース、OS 領域)→ ブロックストレージ+SSD
  • 複数台で共有(共通の設定ファイル、アップロード先の共有)→ ファイルストレージ
  • 大量・安価・長期保存(ログ、画像、[[バックアップとリカバリ]] のデータ)→ オブジェクトストレージ

またオブジェクトストレージには、アクセス頻度が低いデータをより安い保存クラス(アーカイブ層)へ移す仕組みがあり、コスト最適化の定番手段です。

初学者向けポイント

  • 「S3 はディスクではない」— OS にマウントする前提の仕組みではなく、API でファイルを出し入れする置き場と捉える
  • 物理ディスクの故障に備える冗長化技術が [[RAIDとディスク冗長化]]。クラウドのストレージは内部で同様の冗長化が行われている
  • HDD と SSD の違い(速度と価格)はオンプレでもクラウドでも選択の基本軸
  • 迷ったら「そのデータは誰が・どこから・どれくらいの頻度で使うか」を書き出すと方式が絞れる

関連技術とのつながり

  • [[AWS]] — EBS・EFS・S3 が3方式にそれぞれ対応する
  • [[RAIDとディスク冗長化]] — 物理ディスク層の故障対策
  • [[バックアップとリカバリ]] — バックアップ先はオブジェクトストレージが定番
  • [[クラウドコンピューティング]] — ストレージをサービスとして借りる時代の前提知識
Q: オブジェクトストレージの特徴として正しいのはどれ?
- [x] HTTP API でデータを出し入れし、容量がほぼ無制限
- [ ] サーバーの OS からディスクとして直接見える
- [ ] フォルダ階層で複数サーバーから共有フォルダとして使う
解説: オブジェクトストレージは API 経由で出し入れする方式で、画像やバックアップの大量・安価な保存に向きます。

Q: データベースの保存先など高速性が求められる用途に向く方式はどれ?
- [ ] オブジェクトストレージ
- [x] ブロックストレージ
- [ ] ファイルストレージ
解説: ブロックストレージは OS からディスクとして見え高速なため、データベースなどの用途に向きます。

Q: AWS のサービスと方式の対応として正しいのはどれ?
- [ ] S3 がブロックストレージ、EBS がオブジェクトストレージ
- [x] EBS がブロックストレージ、S3 がオブジェクトストレージ
- [ ] EFS がオブジェクトストレージ、S3 がファイルストレージ
解説: EBS はブロック、EFS はファイル、S3 はオブジェクトストレージにそれぞれ対応します。