ある企業が、Amazon EC2 インスタンスのディスク I/O パフォーマンスが不足しており、データベースのトランザクション処理が遅延している。インスタンスには現在 gp2 EBS ボリューム(1,000GB)がアタッチされている。追加インスタンスを起動せずに I/O パフォーマンスを向上させる最も適切な方法はどれか。
- A. EBS ボリュームを EFS に移行して複数のインスタンスからの共有アクセスを可能にする。
- B. gp2 ボリュームを io2 Block Express(高性能プロビジョニング IOPS SSD)に変更し、必要な IOPS を明示的にプロビジョニングする。
- C. EBS ボリュームを st1(スループット最適化 HDD)に変更する。
- D. gp2 ボリュームのサイズを 2,000GB に拡大する(gp2 は 3 IOPS/GB のため、サイズ拡大で IOPS も増加する)。
解答と解説を見る
正解: B
io2 Block Express は IOPS を明示的にプロビジョニングできる高性能 SSD で、最大 256,000 IOPS・4,000 MB/s スループットを提供する。データベースのランダム I/O 集中ワークロードに最適で、必要な IOPS を直接指定できる。gp2 から io2 Block Express への変更はコンソールまたは CLI でのボリュームタイプ変更のみで、インスタンスの停止も不要(動的に変更可能)。選択肢Dのgp2 サイズ拡大(1,000GB → 3,000 IOPS)はある程度の IOPS 増加が期待できるが、gp2 の最大は 16,000 IOPS(5,334GB 以上)であり、io2 Block Express の最大 256,000 IOPS には及ばない。データベースが高 IOPS を必要とする場合は io2 の方が適切。選択肢CのHDD(st1)はシーケンシャルスループットに優れるが IOPS は低く、データベースのランダム I/O には不適切。選択肢AのEFS への移行は NFS プロトコルを使う共有ファイルシステムで、データベースのブロックデバイスとしては EBS の方が適切。レイテンシーも EFS より EBS の方が低い。