AWS Elastic Block Store(EBS) とは
EC2インスタンスにアタッチして使用するブロックストレージのこと。OS、アプリ、データの置き場所などの用途に利用される。
ブロックストレージの種類
大きく分けると SSD-Backed と HDD-Backed のボリュームがある。ざっくり用途を分けると、小さいサイズの不規則なデータの読み書きがある RDS(Relational Database Service)のような用途には高い IOPS が求められるため、ランダムアクセスにも性能を発揮する SSD-Backed を選択する。ビッグデータ処理で、ファイルサイズの大きいデータを保存するなど、I/O のサイズが大きく、シーケンシャルアクセスの場合は HDD-Backed を利用。
SSD-Backed
-
汎用SSD(gp2)
- ブートボリューム
- 負荷が読めないシステム
- 小規模なDB向け
- 開発・テスト環境向け
- 仮想デスクトップ
-
プロビジョンドIOPS(io1)
- リレーショナルデータベースに利用される
- 汎用では処理しきれないIO性能を要求
- 大規模なDB向け
- 持続的なIOPSパフォーマンスが必要なアプリケーション向け
- EBSのディスク性能を高めるが、ネットワークがボトルネックになるため、EBS最適化インスタンスを使うことが推奨
HDD-Backed
-
スループット最適化HDD(st1)
- シーケンシャルアクセス時に高い性能を発揮するタイプ
- 高いスループットを要求するビッグデータ処理に最適
- DWH、大規模なETL処理などに利用
- 起動ボリュームには利用できない
- サイズは500GiB〜
-
コールドHDD(sc1)
- ログデータ保管、アーカイブ利用
- サイズは500GiB〜
用語解説
- IOPSとは、Input Outpu Per Secondのことで ストレージが1秒あたりに処理できるI/Oアクセスの数 を指す。
EBS最適化とは、EC2-EBS間の通信を専用のものでつなぐこと。そうすることで、他の通信に邪魔されずにディスク IO性能の安定化につながる。旧世代インスタンスを除いてデフォルトでオンになっている。
シーケンシャルアクセスとは、連続したデータアクセスのこと。 たとえば、ファイルコピーの速さはシーケンシャルアクセスの性能による。