【AWS】【SAA対策】EBS

# EBS(Elastic Block Store)
## サービス概要
EC2 インスタンスで使用するためのブロックレベルのストレージボリュームを提供。
ボリュームは、デバイスとしてインスタンスにマウントが可能で、同じインスタンスに複数のボリュームをマウント可能。これらのボリューム上にファイルシステムを構築も可能。
EBSは、データにすばやくアクセスする必要があり、長期永続性が必要な場合に推奨。

## 特徴
- EBS ボリュームは、特定のAZで作成され、そのAZ内のインスタンスにアタッチ可能。
 - AZの外部でボリュームを使用するには、スナップショットを作成し(S3へ保存)、そのスナップショットをその外部リージョン内の新しいボリュームに復元する。
- EBS には、ボリュームタイプとして 汎用 SSD (gp2)、プロビジョンド IOPS SSD (io1)、スループット最適化 HDD (st1)、および Cold HDD (sc1) が用意されている。
- 暗号化は EC2 インスタンスをホストするサーバーで行われ、EC2 インスタンスから EBS ストレージに転送されるデータが暗号化される。
- 汎用 SSD (gp2) ボリューム＝さまざまなワークロードに対応できるコスト効率の高いストレージとして使用可能。レイテンシーは 1 桁台のミリ秒であり、長時間 3,000 IOPS にバースト可能。（I/O クレジットおよびバーストパフォーマンス）
- プロビジョンド IOPS SSD (io1) ボリューム＝ランダムアクセス I/O スループットにおけるストレージパフォーマンスと整合性が重要な、I/O 集約型ワークロード (特にデータベースワークロード) のニーズを満たすように設計。ボリュームの作成時に一定の IOPS レートを指定可能。
- スループット最適化 HDD (st1) ボリューム＝IOPS ではなくスループットでパフォーマンスを示す、低コストの磁気ストレージに使用可能。ボリュームのベースラインスループット (ボリュームのスループットクレジットが蓄積されるレート) は、ボリュームサイズによって決まる。（スループットクレジットとバーストパフォーマンス）
- Cold HDD (sc1) ボリュームは、IOPS ではなくスループットでパフォーマンスを示す、低コストの磁気ストレージに使用可能。

## 種類やタイプ
#### ボリュームタイプ
|                  |  汎用 SSD (gp2)      |  プロビジョンド IOPS SSD (io1)       |    スループット最適化 HDD (st1)  |    Cold HDD (sc1)       |
|:-----------------|:------------------|:-------------------|:-------------------|:-------------------|
|説明  | さまざまなワークロードに適した、価格とパフォーマンスのバランスが取れているSSD |        ミッションクリティカルな低レイテンシーまたは高スループットワークロードに適した、最高パフォーマンスのSSD      |高スループットを必要とするアクセス頻度の高いワークロード向けの低コストのHDD|アクセス頻度の低いワークロード用に設計された低コストのHDD|
|ユースケース  |  ・ほとんどのワークロード<br>・システムブートボリューム<br>・仮想デスクトップ<br>・開発/テスト環境|・持続的なIOPSパフォーマンス、またはボリュームあたり 16,000 IOPSまたは250 MiB/秒以上のスループットを必要とする重要なビジネスアプリケーション<br>・大規模なデータベースワークロード|・低コストで安定した高速スループットを必要とするストリーミングワークロード<br>・ビッグデータ<br>・データウェアハウス<br>・ログ処理<br>・ブートボリュームには使用できない|アクセス頻度の低い大量データ用のスループット指向ストレージ低いストレージ<br>・コストが重視されるシナリオ<br>・ブートボリュームには使用できない|
|ボリュームサイズ  |   1GiB - 16TiB  |   4 GiB～16 TiB      |500 GiB～16 TiB|500 GiB～16 TiB |
|ボリュームあたりの最大 IOPS  |16,000 (16 KiB I/O) |   64,000 (16 KiB I/O) †  |500 (1 MiB I/O)|250 (1 MiB I/O)|
|ボリュームあたりの最大 スループット  | MiB/秒 * |    1,000 MiB/秒 †   |500 MiB/秒|250 MiB/秒|

## 類似サービスとの比較
|                  |   S3        |    EBS        |  EFS |Glacier|
|:-----------------|:------------------|:-------------------|:-------------------|:-------------------|
| 概要     | 	オブジェクトストレージ、安価で高信頼性のストレージ、インターネットからもアクセス可能|ブロックレベルのファイルストレージ、EC2のローカルストレージ|共有ファイルストレージ|低価格、長期保管ストレージ|
| 場所           | リージョン |       AZ      |リージョン|リージョン|
| 自動複製            |   複数AZ  |       AZ内3か所       |複数AZ||
| 暗号化            |  設定する必要あり。SSE-S3/KMS/C。  |  ボリューム作成時に暗号化。既存ボリュームの暗号化不可。（使用中ボリュームを暗号化＝スナップショットを取得し、新規に暗号化ボリュームを作成し、リストア。      |保管中、転送中のデータを暗号化。暗号化のキーはKMSにて管理可。|AES-256で自動で暗号化|

## ベストプラクティス
- EBSのBCP(事業継続計画)対策としては、EBSボリュームのスナップショットを作成し、そのスナップショットを別リージョンでも利用する。別AZ/別リージョンのインスタンスにコピーをする際は、一度スナップショットをS3へ保存し、別AZ/別リージョンへ展開する。
- EC2とEBSを利用してDBを構築する場合、読み取りと書き取り性能を考慮して、EBSボリュームはプロビジョンドIOPS SSDにする。
- EBSのポイントインタイムスナップショットでは、増分バックアップにより、初期スナップショットからの差分のみを取得するため、ストレージコストを最小限にできる。
- EBSのボリュームタイプの選択で、ボリュームサイズが100GBなど小さい場合、gp2（汎用SSD）を利用したほうがコストを抑えられる。
 - SSD:小さく煩雑な読み書き。1GB~16TB(io1は4GB~16TB)。料金は単位あたりHDDの倍くらい。
 - HDD:大きなストリーミングデータ用。500GB~16TB。単位当たりでは安い。（が、初期が500GBのため、~200GBくらいまではSSDの方が安くなる。）
- スループットが最大500MB/秒必要なストレージでは、するプット最適化HDDが費用対効果が高い。
- Data Lifecycle Managerを使用すると、EBSスナップショットをスケジュールし、保持ポリシーに従い古いスナップショットを削除できる。Data Lifecycle Managerはスナップショットの作成、保持、削除を自動化できる。
- AMIはEBSのスナップショットを含んでいるため、障害時に備えるのはAMIのコピーのみで可能。
- 最も回復性が高く、1つのボリュームが故障してもすぐにデータ利用がしたい場合、RAID1構成で2つ以上のEBSボリューム間でミラーリングをとれば、回復性の高いデータ冗長構成にできる。