AWS SAA(Solutions Architect - Associate)対策
EBSボリューム選定
このレッスンでは、性能要件の文からEBSのボリュームタイプを1つに絞り込み、IOPSとスループットのどちらを問われているかを見分けられるようになります。
まず要件文から
ある企業が、オンプレミスのデータベースをEC2へ移そうとしています。現行機の実測では、小さな読み書きが常時大量に発生し、業務のピーク時にはさらに跳ね上がります。データベースの停止は事業に直結するため、ストレージ側にもより高い耐久性が求められています。一方、同じシステムのバッチ処理では、巨大なログファイルを順に読み込む処理があり、こちらは1件ごとの応答よりも1秒あたりに流せる量が効きます。
1つのシステムの中に、答えの違う2つの要件が入っています。SAAはこの読み分けを問います。
IOPS とスループットを取り違えない
- IOPS は1秒あたりの入出力回数です。小さなランダムアクセスが多いデータベースはここが効きます
- スループット は1秒あたりに流せる量です。大きなファイルを順に読むログ処理やビッグデータ処理はここが効きます
設問に「小さなランダムな読み書き」「トランザクション」「レイテンシに厳しい」とあればIOPS、「大きなファイルを順次」「シーケンシャル」「ログの取り込み」とあればスループットの話だと読みます。
タイプの線引き
| タイプ | 系統 | 選ぶ要件 |
|---|---|---|
| gp3 | SSD | 一般用途の既定。IOPSとスループットを容量と切り離して指定できる |
| gp2 | SSD | 旧世代。容量にIOPSが連動する。設問では gp3 への移行が正解になりやすい |
| io2 / io2 Block Express | SSD | 極めて高いIOPSと、より高い耐久性が要るデータベース |
| st1 | HDD | 大きなファイルの順次読み書き。スループット重視で低コスト |
| sc1 | HDD | ほとんど読まない冷たいデータ。最も低コスト |
gp3 を既定と考えるのが実務にも試験にも合います。 gp2 は容量を増やさないとIOPSが上がらない設計なので、「性能のためだけに容量を大きくしている」という記述が出てきたら、gp3 へ変えて必要なIOPSだけを指定する、が答えです。
io2 を選ぶのは、gp3 の上限では足りないほどのIOPSを要求されたときと、ストレージの耐久性そのものを要件に書かれたときです。「ミッションクリティカルなデータベース」「より高い耐久性」という言い回しが合図になります。
HDD系はブートボリュームに使えません。 「起動ディスクを安くしたい」という文脈で st1 や sc1 を選ぶ選択肢は落とします。
ボリュームだけで足りないとき
極めて高いIOPSと最小の遅延が要り、しかもデータが消えても再作成できる場合は、EBSではなくインスタンスストアが答えになることがあります。キャッシュ、一時ファイル、スクラッチ領域といった言葉が合図です。ただし停止すると内容が失われるため、永続性を要件に書かれていたら選びません。
また、複数のEC2から同じブロックボリュームへ同時に接続したい、という要件にはマルチアタッチがありますが、これは対応するタイプに限られ、クラスタ対応のファイルシステムが前提です。単に「複数のサーバーからファイルを共有したい」であれば、次のレッスンで扱う共有ファイルサービスが答えになります。
要件語から構成への対応
| 要件文の言い回し | 構成 |
|---|---|
| 一般的なワークロード、コストも抑えたい | gp3 |
| 性能のために容量を過剰に確保している | gp2 から gp3 へ変更する |
| 極めて高いIOPS、より高い耐久性 | io2 |
| 大きなファイルを順次処理、スループット重視 | st1 |
| めったに読まない保管用のブロックストレージ | sc1 |
| 消えてよい一時領域で最速 | インスタンスストア |
よくある引っ掛け
1つ目は、スループット要件にプロビジョンドIOPSを当てる選択肢です。ログを順次読むだけの処理に io2 を積んでも、支払いが増えるだけで要件には効きません。「最も低コストで」が付いていたら st1 です。
2つ目は、IOPS不足を解決するために gp2 の容量を増やす選択肢です。確かに動きはしますが、gp3 なら容量を増やさずにIOPSだけを上げられます。「動くが最適でない」典型なので、コストの制約語があれば落とします。
まとめ
- 回数を問われていればIOPS、量を問われていればスループットです
- 既定は gp3 で、gp2 が出てきたら移行が正解になりやすい構図です
- io2 は極めて高いIOPSと、より高い耐久性が明記されたときです
- 順次アクセスで低コストなら st1、ほぼ読まないなら sc1 です
- HDD系はブートボリュームに使えません
復習ミニクイズ
ある企業のEC2上のアプリケーションが、数百GBのログファイルを毎晩まとめて順次読み込み、集計しています。1件ごとの応答時間は重要ではなく、1秒あたりに読み出せるデータ量が処理時間を決めています。この処理を最も低コストで満たすEBSボリュームはどれですか。