#プログラミング勉強日記
2021年5月25日
#EBSとは
EBSはElastic Block Storeの頭文字をとったもので、EC2インスタンスと一緒に利用されるブロック型のストレージ。インスタンス上のワークロードなどに利用する。EC2インスタンスを使ってデータベースを作るときには、データベースのストレージ領域にEBSを使って処理する。
基本的にはOSやアプリなどのデータの置き場として様々な用途で使われる。実態はネットワーク接続型ストレージで、高可用性。サイズは1GB ~ 16TBでサイズを指定することができる。利用期間で課金される。
EBSの選択としてストレージの違いを知っておく必要がある。AWSでは3つの形式のストレージサービスがある。
ブロックストレージ:EBSとインスタンスストアがブロックタイプのストレージ。EC2インスタンスにアタッチして(一緒になって)使っていくストレージ。ブロック形式でデータを保存し、高速・広帯域幅。
オブジェクトストレージ:S3やGlacierがオブジェクトタイプのストレージ。安価で高い耐久性を持つオンラインストレージで、オブジェクト形式でデータを保存する。デフォルトでは複数AZに冗長化されている。
ファイルストレージ:EFSがファイルタイプのストレージ。複数のEC2インスタンスから同時にアタッチ可能な共有ストレージサービスで、ファイル形式でデータを保存する。
##EBSとインスタンスストアの違い
インスタンスストアは無料で扱えるホストコンピューターに内蔵されたディスクでEC2と不可分のブロックレベルの物理ストレージ。EC2の一時的なデータが保存されて、EC2の停止・終了と共にデータがクリアされる。そのため、長期的なデータの保存はできない。ただ、物理的にアタッチされるので性能は優れている。
EBSは別途料金がかかるネットワークで接続されたブロックレベルのストレージで、EC2とは独立して管理されている。EC2を終了してもEBSデータは保持することができる。(デフォルトでは削除される設定なので変更する必要がある) SnapshotをS3に保持できる。
#EBSの特徴
- ボリュームデータはAZ内で複数内のHWにデフォルトでレプリケートされていて、冗長化は不要
- 単一のAZ内で冗長化されているため、AZの障害には弱い
- セキュリティグループによる通信制御対象外で、全ポート閉じてもEBSは利用できる(EC2インスタンスとネットワーク接続できる)
- データは永続的に保存可能
- EC2インスタンスは他のAZ内のEBSにはアクセスできない
- 1つのEBSを複数のインスタンスで共有することも基本はできない
- EC2インスタンスに複数のEBSを接続することはできるが、EBSを複数のインスタンスで共有することはできない(ただ、2020年からプロビジョットIOPSのみ複数インスタンスで共有することができる)
- 同じAZ内のインスタンスのみ付け替えができる