Amazon EBS

EC2 インスタンスにアタッチして使用するブロックストレージサービスで、SSD と HDD の複数のボリュームタイプから用途に応じて選択できる

概要

Amazon Elastic Block Store (EBS) は、EC2 インスタンスに接続して使用する高性能なブロックストレージサービスです。ファイルシステムやデータベースのストレージとして利用でき、インスタンスを停止・再起動してもデータが永続化されます。汎用 SSD (gp3)、プロビジョンド IOPS SSD (io2)、スループット最適化 HDD (st1)、コールド HDD (sc1) の 4 つのボリュームタイプがあり、IOPS 性能、スループット、コストのバランスに応じて選択できます。EBS ボリュームは同一アベイラビリティゾーン内で自動的に複製されるため、単一ハードウェアの障害からデータを保護します。スナップショット機能を使えば、ボリュームのポイントインタイムバックアップを S3 に保存し、別のアベイラビリティゾーンやリージョンに復元することも可能です。

gp3 と io2 - IOPS 要件で分かれるボリューム選定

EBS のボリューム選定は、ワークロードが求める IOPS とスループットの数値から逆算します。gp3 (汎用 SSD) はベースラインとして 3,000 IOPS / 125 MB/s が含まれ、追加料金で最大 16,000 IOPS まで拡張できます。Web サーバーのルートボリューム、中小規模の RDS、開発環境のほとんどは gp3 で十分です。gp2 から gp3 への移行はオンラインで実行でき、同等以上の性能を維持しつつ最大 20% のコスト削減が見込めます。一方、io2 Block Express は最大 256,000 IOPS を提供し、Oracle や SAP HANA のような大規模データベースで求められるサブミリ秒レイテンシを実現します。Azure Managed Disks の Premium SSD v2 も IOPS の独立設定に対応していますが、io2 Block Express の 256,000 IOPS は Azure Ultra Disk の上限 160,000 IOPS を上回る点で差があります。HDD 系では、st1 がログ処理やビッグデータのシーケンシャル読み取りに、sc1 がアクセス頻度の低いアーカイブデータに適しており、GB 単価を大幅に抑えられます。

スナップショットと暗号化の設計

EBS スナップショットは増分バックアップ方式を採用しており、初回のフルコピー以降は変更されたブロックだけを S3 に保存します。この仕組みにより、数 TB のボリュームでも日次スナップショットのコストと作成時間を最小限に抑えられます。スナップショットは別の AZ やリージョンに復元できるため、災害復旧 (DR) 戦略の基盤としても機能します。Amazon Data Lifecycle Manager (DLM) を使えば、スナップショットの作成・保持・削除をスケジュールベースで自動化でき、手動管理の負担を排除できます。暗号化については、アカウントレベルで EBS のデフォルト暗号化を有効にし、KMS のカスタマーマネージドキーを指定するのがベストプラクティスです。キーポリシーで暗号化・復号を実行できるプリンシパルを制限し、CloudTrail でキー使用履歴を監査することで、コンプライアンス要件にも対応できます。ブロックストレージの関連書籍 (Amazon) では、暗号化設計のパターンも詳しく解説されています。

コスト最適化とサイジングの勘所

EBS のコスト最適化で最も効果が大きいのは、ボリュームタイプの見直しです。gp2 のまま放置されているボリュームを gp3 に変更するだけで、性能を維持しつつ約 20% のコスト削減が可能です。CloudWatch の VolumeReadOps / VolumeWriteOps メトリクスを確認し、実際の IOPS 消費がベースラインを大幅に下回っているボリュームは過剰スペックの可能性があります。逆に、gp3 の 16,000 IOPS 上限を超える要件がある場合にのみ io2 への移行を検討します。未使用ボリュームの検出も重要で、EC2 インスタンスを終了した後にデタッチ状態で残り続けるボリュームは課金が継続します。AWS Cost Explorer のリソース別コストビューや Trusted Advisor の「使用率の低い Amazon EBS ボリューム」チェックを活用して、定期的に棚卸しを行いましょう。スナップショットについても、DLM で保持期間を適切に設定し、不要な世代が蓄積しないよう管理します。

共有するXB!