SAA-C03弾力性に優れたアーキテクチャの設計MEDIUM単一選択

ある企業が、Amazon RDS Aurora PostgreSQL を使ったアプリケーションで、特定の時間帯(毎日 22:00〜23:00)に大規模なバッチ処理が実行されており、その間に OLTP クエリのパフォーマンスが著しく低下する問題がある。バッチ処理とOLTPを分離して両方の処理を安定させたい。最も適切な方法はどれか。

  1. A. Aurora クラスターに Aurora Replica を追加し、バッチ処理はレプリカのカスタムエンドポイントに向ける。これにより、バッチ処理がレプリカのリソースを消費してもプライマリの OLTP 処理に影響しない。
  2. B. Aurora のインスタンスタイプを最大にスケールアップしてバッチ処理と OLTP の両方を処理できるようにする。
  3. C. バッチ処理の開始時間を深夜 3:00 にずらしてトラフィックを分散する。
  4. D. バッチ処理の時間帯に OLTP アプリケーションを一時停止する。
解答と解説を見る

正解: A

Aurora Replica をバッチ処理専用のリソースとして利用することで、バッチ処理がプライマリインスタンスのリソース(CPU・メモリ・I/O)を消費することなく、OLTP のパフォーマンスへの影響を防げる。Aurora のカスタムエンドポイントを使うと、特定のレプリカインスタンスをバッチ処理専用に割り当てられる。バッチ処理がそのレプリカを占有しても、プライマリとその他のレプリカへの OLTP は影響を受けない。選択肢DのOLTP の一時停止は業務停止を引き起こし、要件に反する。選択肢Bのインスタンスタイプ最大化は高コストになり、バッチと OLTP の競合という根本問題を解決しない(同一インスタンスを共有すれば引き続き競合する)。選択肢Cの時間帯変更はバッチ処理の業務スケジュール変更が必要であり、22:00〜23:00 に固定されている場合は変更できない。また技術的な解決策ではない。

▸ この試験を本気で演習する(全150問・無料)