EBS

【VPC内リージョンサービス】

EBS(Elastic Block Store)は、EC2(Amazon Elastic Compute Cloud)向けの永続ブロックストレージサービスです。

インスタンスの停止や再起動を行ってもデータが保持されるため、重要なデータを安全に保管できます。

EBSでは、用途に応じて複数のボリュームタイプを選択できます。たとえば、gp3(汎用SSD)はバランスの取れた性能を提供し、PIOPS(Provisioned IOPS)を設定できるio2(プロビジョンド IOPS SSD)では、データベースなど高いI/O性能が求められるワークロードに最適です。また、st1(スループット最適化HDD)など、低コストで大容量処理に適したタイプもあります。

データ保護の面では、スナップショットを利用してEBSボリュームのバックアップを簡単に取得できます。スナップショットはS3上に差分保存されるため、効率的かつ高速にバックアップや復元を行うことができます。さらに、暗号化にも対応しており、KMS(Key Management Service)と連携することで、データを透過的に暗号化し、高いセキュリティを確保できます。

EBSボリュームは、稼働中のEC2インスタンスに対してボリュームのアタッチ/デタッチを行うことができます。これにより、必要に応じてストレージを追加したり、他のインスタンスに切り替えたりする柔軟な運用が可能です。また、ボリュームのサイズ拡張や性能変更もオンラインで行うことができるため、停止時間を発生させずにスケールアップできます。

EBSは、AZ(Availability Zone)単位で冗長性を持ち、データの整合性を高いレベルで維持します。そのため、データベース、トランザクションログ、ブートボリュームなど、低レイテンシーで高信頼性が求められるワークロードに非常に適しています。

重要用語

関連サービス

ユースケース

EC2インスタンスのOSディスクEC2インスタンスのブートボリュームとして利用し、OSやミドルウェア、アプリケーションをインストールするための永続ディスクを提供する。
データベース用ブロックストレージ高いIOPSやスループットが必要なデータベース(自前のRDBやNoSQLなど)のデータファイルを置く高速なブロックストレージとして利用する。
スナップショットによるバックアップと複製EBSボリュームのスナップショットを定期的に取得し、障害時の復旧や別リージョンへの複製・テスト環境の複製に活用する。

ベストプラクティス

プロビジョンドIOPSの適切な選定ワークロードに応じたIOPSレベルを選び、性能とコストのバランスを取る。
定期スナップショット取得自動スナップショットでバックアップとDR対策を実施する。
暗号化の標準利用EBSボリュームとスナップショットはデフォルト暗号化を有効にする。

高可用性・バックアップ・リトライ

高可用性・バックアップ・リトライ設計のポイント
【デフォルト】AWS内部で冗長化
 ・単一AZ 内の複数ストレージノードへのデータレプリケーション
 ・書き込みログの冗長保持(書き込みは 複数の冗長レプリカにコミットされてから完了扱い)
 ・自動障害検出とノード置換(異常を検出すると 自動的に他ノードで冗長性を復元)
【EC2 のマルチ AZ 構成】(EBS は AZ 跨ぎで使えない)
【EBS の種類】選定(gp3 / io1 / io2 / sc1 / st1)
【手動スナップショット】バックアップ保持期間:無期限
 EBS 専用の S3 ベースストレージに保存され、リージョン内マルチ AZ 冗長化されています。
 スナップショットにより、任意のスナップショット取得時点へ復元可能

セキュリティ

関連サービス設定内容
KMS(データの暗号化と鍵の安全管理)【デフォルトで KMS経由の暗号化が有効化】
独自KMSキーを使うことを推奨(鍵操作、監査)
Secrets Manager(機密情報の安全管理)-
SSM Parameter Store(設定情報の一元管理)-
CloudTrail(操作履歴の記録・監査・追跡)【自動記録】
作成・更新・削除・設定変更は自動記録される。(コントロールプレーンAPI)
データ操作は追跡できない(データプレーンAPI)
Config(リソースの構成状態・設定変更を記録)【Configが有効な場合】
ボリューム/スナップショット変更履歴・暗号化/パブリックスナップショットの準拠評価
GuardDuty(脅威を自動検出)【GuardDutyが有効な場合】
EC2経由のENI通信異常検知

【追加オプション】
EBS Snapshot Scanning導入を推奨
EBS スナップショットを対象にマルウェアを検出(セキュリティチェック用)

【追加オプション】
Malware Protection for EBS導入を推奨
EBS ボリュームをスキャンしてマルウェア感染を検知 EC2 / EBS 単位 既存ボリュームのスナップショットを利用(料金発生)

ログ・監視

標準メトリクス
メトリクス名説明
VolumeIdleTimeボリュームアイドル時間
VolumeQueueLengthボリュームキュー長
VolumeReadBytesボリューム読み取りバイト数
VolumeReadOpsボリューム読み取りオペレーション数
VolumeTotalReadTimeボリューム総読み取り時間
VolumeTotalWriteTimeボリューム総書き込み時間
VolumeWriteBytesボリューム書き込みバイト数
VolumeWriteOpsボリューム書き込みオペレーション数
BurstBalanceバースト残高
VolumeConsumedReadWriteOps消費された読み書きオペレーション数
VolumeThroughputPercentageボリュームスループット使用率

制限値(固定値/ハードリミット/ソフトリミット)

固定値制限値
インスタンスあたりのボリューム数40(ほとんどのインスタンス)

ハードリミット制限値
ボリュームサイズ最大64 TiB
IOPS(io2 Block Express)最大256,000
スループット(gp3/io2)最大4,000 MB/s

ソフトリミット制限値
リージョンあたりのボリューム数5,000(デフォルト)
リージョンあたりのスナップショット数100,000
同時スナップショットコピー数/リージョン20

AWS CLIのサンプルコード

CloudFormationのサンプルコード

Terraformのサンプルコード

料金計算

課金項目説明
ボリューム容量プロビジョニングしたストレージ容量
(gp3、io2など)
IOPSプロビジョニングドIOPS(io1、io2の場合)
スループット追加プロビジョニングドスループット(gp3の場合)
スナップショットS3に保存されるスナップショットの容量
データ転送スナップショットのクロスリージョン転送
料金計算ツール

公式ページ

AWSドキュメント EBS