EBSとは
- ネットワークドライブ(ネットワークでつながるUSBメモリのようなもの)
- EC2インスタンスのデータを保存(永続化)
- 1つのインスタンスに複数のボリュームをマウント可
- AZごとに固有
- ボリュームの移動にはスナップショットを使う必要あり
ボリュームタイプ
- 汎用SSD(gp2/gp3)
- 価格と性能のバランスが取れている
- ブートボリューム(EC2起動時に選択できるボリューム)として指定可
- ボリュームサイズ 1GB ~ 16TB
- gp2
- IOPS 3,000 ~ 16,000
- ボリュームサイズが大きくなるととIOPSが増加
- gp3
- 3,000 ~ 16,000 IOPS、スループット125 ~ 1,000 MiB/s
- ボリュームサイズとは別にIOPSを増やせる
- プロビジョンドIOPS SSD(io1/io2)
- 低レイテンシー、高スループット、最高性能
- 16,000IOPS以上必要なもの、データベースワークロードに最適(ストレージ性能、安定性)
- ブートボリューム(EC2起動時に選択できるボリューム)として指定可
- 同AZ内の複数のEC2に同じEBSをアタッチできる(マルチアタッチ)
- クラスタ化されたLinuxアプリケーションにおける高可用性を実現
- io1/io2(ボリュームサイズ 4GB ~ 16TB)
- Nitoro EC2インスタンスで64,000 IOPS、その他は32,000 IOPS
- ストレージサイズに依存せずIOPS向上可
- io2が最新
- io2 Block Express(ボリュームサイズ 4GB ~ 64TB)
- サブミリ秒のレイテンシー
- 最大256,000 IOPS
- スループット最適化 HDD(st1)
- 比較的安価、スループット重視向け
- ビックデータ、DWH等で使用
- ボリュームサイズ 125 MB ~ 16 TB
- IOPS 500、500MiB/s
- Cold HDD(sc1)
- 最も低コスト、アクセス頻度低いワークロード向け
- IOPS 250、250MiB/s
暗号化
- EBS作成時に暗号化を指定すると、スナップショットも自動的に暗号化、スナップショットから作成したボリュームも暗号化される
- 暗号化されていない構築済みのEBSを暗号化することはできず、もし暗号化したEBSを作成したい場合
- スナップショットを作成(この時点で暗号化はできない)
- 作成したスナップショットをコピーする際に暗号化指定
- 暗号化されたスナップショットができる
- 暗号化されたスナップショットからボリューム作成することで、暗号化されたEBSができる
- 暗号化されていないスナップショットから、暗号化されたEBSを作成したい場合
- スナップショットからボリューム作成する際に、暗号化を設定し作成
RAID
- RAIDとは
- 複数のディスクを束ねて、一つのディスクとして扱う技術
- 性能、耐障害性を向上できる
- RAID0(パフォーマンス向上)
- 大量のI/Oが必要なケース
- 2つ以上のボリュームを結合して、分散して書き込むことでディスク容量とI/Oが台数分向上
- 例:EBS_1にはA,Cという情報を書き込み、EBS_2にはB,Dという情報を書き込む、全体としては「A,B,C,D」という情報をもつが、EBS_1が故障するとデータが一部失われてしまう
- RAID1(フォールトトレランス向上)
- 非常に高い耐障害性を必要とするケース
- 1つのボリュームを別のボリュームにミラーリング
- 例:EBS_1にはA,B,Cという情報を書き込み、EBS_2にもA,B,Cという情報を書き込む、全体としては「A,B,C」という情報をもち、もしEBS_1が故障してもデータが失われることはない、ただしネットワーク負荷高い
DeleteOnTermination属性
- 有効な場合、EC2のインスタンスを終了する際、EC2はインスタンスに接続されているEBSボリュームを削除する。無効な場合は保持する
Amazon Data Lifecycle Manager (DLM)
- スナップショットの取得をスケジューリングできる