takafumi blog

日々の勉強メモ

awsデータストレージまとめ(インスタンスストア・EBS・EFS・S3)

各ストレージ

インスタンス ストア

Elastic Block Store (EBS)

  • ブロックレベルストレージ
  • インスタンスから独立してデータを永続化する
  • 起動しているインスタンスにアタッチ(追加)できる
  • 稼働中にサイズ変更、ボリュームタイプの変更など可能
  • インスタンスとEBSは同じAZにある必要がある

Elastic File System (EFS)

  • マネージドなサーバーレスなファイルレベルストレージ
  • 最大サイズ16TiB(=tebibyte=1024GB)
  • EC2でNFSとしてマウント可能
  • オートスケール
  • リージョン内のAZを跨いでマウント可能
    • ただし複数のVPCに接続はできない

Simple Storage Service (S3)

  • オブジェクトレベルストレージ
  • インターネットストレージとしてURLでアクセス可能
  • 無制限のストレージ容量
  • 各オブジェクトは最大5TB
  • バケットはリージョン単位で保存される
  • 各オブジェクトのバージョニングによる変更追跡
  • 少なくとも3つのAZにデータが保存(バックアップ)される
  • 複数のストレージクラスによる料金プラン
  • 各オブジェクトにURLがあり静的webページとしても使える

ストレージ形式について

ファイルレベルストレージ

  • ファイルストレージ
  • ファイルベース・ストレージ

ファイルによるデータ管理。
階層構造化が容易で、一意のデータパスによりファイルにアクセスする。
データにはファイル名、作成日時などの最低限のメタデータが付与される。

ブロックレべルストレージ

ディスクを論理ボリュームへ分割し、論理ボリュームをさらにブロックへ分割。
データをブロック単位で保存する(ブロックより大きなデータは複数ブロックへ保存される。連続性はない)

ボリューム、ブロック両方にIDが振られボリュームID+ブロックIDでデータを特定する事で高速なデータアクセスが可能。

ブロック単位での差分更新が可能なため、巨大なデータの更新が高速で行える。

メタデータは基本的にはない、もしくは非常に限定的。

オブジェクトレベルストレージ

  • オブジェクトストレージ
  • オブジェクトベース・ストレージ

一つのデータを一つのオブジェクトとして保存する。
オブジェクトは一意のIDを持ち、インデックス化され高速にアクセスできる。

多彩なメタ情報が付与され、セキュリティポリシーやアクセス権限に至るまで様々な情報を持つ事ができる。

通常はフラットな構造になるが、S3のようにバケット入れ子構造にできるサービスもある。

一度書き込まれたオブジェクトは変更できず、オブジェクトは全体を一度で書き込む必要がある。
そのため巨大なデータを更新する場合などは、巨大なデータを再度全て書き込み、過去データを削除(もしくは履歴として残す)ような運用になる。

参考

docs.aws.amazon.com

docs.aws.amazon.com

docs.aws.amazon.com

docs.aws.amazon.com