Skip to main content

Amazon Elastic Block Store(EBS)

Overview

EC2向けに設計された高性能でスケーラブルなブロックストレージサービス。
ブロックストレージは、物理的なディスクやマシンの記録領域をブロック単位で切り出して管理するストレージサービスであり、更新頻度が高く高速なアクセスを要求される場合に利用できる。
※EBSはEC2インスタンスにアタッチすることで利用できるようになり、データを保存できます。また、RDSのデータ保存先としても利用できる。

EC2にアタッチするだけで利用できるEBSですが、ボリュームタイプはいくつもの種類があります。それぞれ性能もコストも違いますので、要件に応じて最適なボリュームを選択できるかどうかが問われます。判断基準を知るためにも、まずはEBSボリュームの種類やEBSのサービスの特徴について押さえておきましょう。

EBSの特徴

  • 耐久性に優れたスナップショット機能によるバックアップやリストア
  • ディスクデータの暗号化機能
  • 99.999%の高い可用性

EBSスナップショット

EBSスナップショットを作成することで、データをS3にバックアップできる。
EBSスナップショットでは最後にスナップショットを作成した時点からボリューム上で変更のあるブロックだけを保存する増分バックアップ方式を採用しており、バックアップの所要時間が短いという特徴。
Amazon Data Lifecycle Manager(DLM)を使用してEBSスナップショットから保存、削除のサイクルを自動化できます。

暗号化機能

ボリューム内に保存されるデータ、ボリュームとインスタンスの間でやり取りされるデータ、スナップショットを暗号化することで、データを保護できる。
データを暗号化するためには暗号化オプションを選択する必要がある。
暗号化の有効化以降は、EBSボリュームから取得したスナップショットも暗号化の対象になります。

高可用性

EBSはAZ内で自動的に複製され、99.999%の可用性を維持するように設計されています。しかし、EBSも壊れるリスクは当然存在するため、定期的にスナップショットを取得するなどしてリスクヘッジをすることが重要。

データの永続性

インスタンスストアとは異なり、EC2インスタンスを停止してもデータはEBSに保存される。 インスタンスストアのメリットはホストコンピューターのローカル環境を利用するため、EBSと比較しスループットなどのパフォーマンスが高く低レイテンシーであるところ。
そのため、更新頻度が高い情報の保存先としては最適。
デメリットとしては揮発性ボリュームであるため、EC2を停止すると同時にデータが失われる恐れ。

柔軟性

EC2を停止したり、EBSをデタッチしたりせずに、容量・ボリュームタイプの変更ができます。なお、容量に関しては拡張できる一方縮小はできないため、過度に容量を拡張すると費用面で運用に支障をきたす可能性がある。
よって、容量を拡張する場合は今後のデータ容量の増減を検討し、状況によって新規のEBSを追加でアタッチするなどの対応を検討するのがよい。

EBSボリュームの種類

EBSではSSDとHDDのボリュームをサポートしており、用途によってボリュームタイプを選択できる。
EBSボリュームの種類ごとの性能や特徴は次の表のようになる。

Image from Gyazo

gp2(汎用SSD)

IOPSはボリュームサイズに依存し、1GBあたり3 IOPSのレートで提供されます。
最小サイズは1 GiBで、最大サイズは16 TiBです。 ボリュームサイズを増やすとIOPSも増加しますが、サイズと比例してコストも増加します。

1GB あたり 3IOPS のレート」とは

このレートは、ストレージ容量(GB)に基づいて提供されるIOPS(Input/Output Operations Per Second、入出力操作の秒間あたりの数)の割合を示しています。
具体的には 1GB あたり 3IOPS というレートは、汎用SSD(gp2)のストレージボリュームサイズに応じて、1秒間に処理できる入出力操作の数が決まるということを意味する。

10GBのgp2ボリュームの場合、1OPSは30IOPSになる
1OPS = (GB) x 3IOPS/GB 1OPS = 10GB x 3IOPS/GB = 30IOPS

100 GBのgp2ボリュームの場合、1OPSは300IOPSになる
1OPS = 100GB x 3IOPS/GB = 300IOPS

このように、gp2のIOPSはボリュームサイズに比例して増加します。

この「1 GBあたり3IOPSのレート」は、ストレージの容量と性能(IOPS)が直接関連していることを意味します。必要なIOPSが多い場合、gp2ではボリュームサイズを増やして性能を向上させる必要があります。しかし、そのためにはストレージ容量も増加させる必要があるため、コストが高くなる。

この点を考慮し、性能要件に応じてストレージ容量を適切にプロビジョニングすることが重要です。例えば、少ないストレージ容量で高いIOPSを必要とする場合には、gp2よりもgp3のようなIOPSと容量が独立したストレージオプションを検討する方がコスト効率の良い場合もあります。

gp3(汎用SSD)

IOPSはストレージサイズに依存せずプロビジョニングできます。 最小サイズは1 GiBで、最大サイズは16 TiBです。 標準で3,000 IOPSと125 MiB/sのスループットが提供され、さらにIOPSとスループットを追加料金で増やすことができます。

Image from Gyazo

汎用SSD

EC2インスタンス作成時にデフォルトでアタッチされるボリュームタイプです。料金とパフォーマンスのバランスがよく、開発環境やテスト環境などを含むほとんどの用途に適しています。

プロビジョンドIOPS SSD

もっとも性能とコストが高いボリュームタイプ。
低レイテンシーまたは高スループットを求められる場合に適しています。EBSボリュームの中で唯一、複数のインスタンスにアタッチ(マルチアタッチ)することが可能

スループット最適化 HDD

安定したスループットを必要とする場合に適しているボリュームタイプ。
ログ処理、ビッグデータ向けのデータストア、データウェアハウスなど、I/Oサイズが大きくアクセス頻度の高いシステムに最適。

コールドHDD

EBSボリュームの中でもっとも低コストなボリュームタイプ。
ログの保管やバックアップなど低速でアクセス頻度が低く、かつ大容量なデータを格納するのに最適となっています。容量制限があるので注意が必要です(S3は容量無制限)